mirror of
https://github.com/Cametendo/MyI3Config-fork.git
synced 2026-03-18 03:40:20 +01:00
init
This commit is contained in:
151
config
Normal file
151
config
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
# ----------------------------------------
|
||||||
|
# Minimal i3 config (no fluff, no bar)
|
||||||
|
# ----------------------------------------
|
||||||
|
|
||||||
|
# Mod key (SUPER)
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font (needed even without bar)
|
||||||
|
font pango:monospace 10
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Applications
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Return exec ~/.config/ml4w/settings/terminal.sh
|
||||||
|
bindsym $mod+b exec ~/.config/ml4w/settings/browser.sh
|
||||||
|
bindsym $mod+e exec ~/.config/ml4w/settings/filemanager.sh
|
||||||
|
bindsym $mod+Ctrl+c exec ~/.config/ml4w/settings/calculator.sh
|
||||||
|
|
||||||
|
# App launcher
|
||||||
|
bindsym $mod+Ctrl+Return exec rofi -show drun -i
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Window management
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+q kill
|
||||||
|
bindsym $mod+Shift+q exec xkill
|
||||||
|
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
bindsym $mod+t floating toggle
|
||||||
|
bindsym $mod+j split toggle
|
||||||
|
bindsym $mod+m fullscreen toggle # max is fullscreen in i3
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Super+Ctrl+Q menu
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Control+q exec --no-startup-id ~/.config/i3/overlay-menu.sh
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Super+Shift+Q: kill all windows of same class
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Shift+q exec --no-startup-id sh -c "CLASS=\$(xprop -id \$(xdotool getactivewindow) WM_CLASS | awk -F '\"' '{print \$4}'); for W in \$(wmctrl -lx | awk -v class=\"\$CLASS\" '\$3 ~ class {print \$1}'); do wmctrl -ic \$W; done"
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Focus movement
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Move windows (Super+Ctrl+Arrow) + warp cursor
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Control+Left move left; move cursor to window
|
||||||
|
bindsym $mod+Control+Down move down; move cursor to window
|
||||||
|
bindsym $mod+Control+Up move up; move cursor to window
|
||||||
|
bindsym $mod+Control+Right move right; move cursor to window
|
||||||
|
|
||||||
|
# Fallback for older i3 (<4.21) using xdotool:
|
||||||
|
# bindsym $mod+Control+Left move left; exec xdotool mousemove --window $(xdotool getactivewindow) 50 50
|
||||||
|
# bindsym $mod+Control+Down move down; exec xdotool mousemove --window $(xdotool getactivewindow) 50 50
|
||||||
|
# bindsym $mod+Control+Up move up; exec xdotool mousemove --window $(xdotool getactivewindow) 50 50
|
||||||
|
# bindsym $mod+Control+Right move right; exec xdotool mousemove --window $(xdotool getactivewindow) 50 50
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Resize windows (Super+Shift+Arrow)
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Shift+Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym $mod+Shift+Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym $mod+Shift+Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym $mod+Shift+Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Workspaces
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
bindsym $mod+9 workspace 9
|
||||||
|
bindsym $mod+0 workspace 10
|
||||||
|
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace 10
|
||||||
|
|
||||||
|
bindsym $mod+Tab workspace next
|
||||||
|
bindsym $mod+Shift+Tab workspace prev
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Reload / Restart
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Screenshot (X11)
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym $mod+Shift+s exec maim -s | xclip -selection clipboard -t image/png
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Keyboard layout toggle (Super+Space)
|
||||||
|
# ----------------------------------------
|
||||||
|
# Set once on startup
|
||||||
|
exec --no-startup-id setxkbmap -layout ch -variant de
|
||||||
|
# Toggle with keybind
|
||||||
|
bindsym $mod+space exec --no-startup-id ~/.config/i3/layout-toggle.sh
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Media / special keys
|
||||||
|
# ----------------------------------------
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl -q s +10%
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl -q s 10%-
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +2%
|
||||||
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -2%
|
||||||
|
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
|
||||||
|
bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
|
bindsym XF86AudioPause exec playerctl pause
|
||||||
|
bindsym XF86AudioNext exec playerctl next
|
||||||
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
bindsym XF86Calculator exec ~/.config/ml4w/settings/calculator.sh
|
||||||
|
bindsym $mod+l exec i3lock
|
||||||
|
bindsym XF86Tools exec flatpak run com.ml4w.settings
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Visuals (absolute minimum)
|
||||||
|
# ----------------------------------------
|
||||||
|
default_border pixel 1
|
||||||
|
floating_modifier $mod
|
||||||
|
focus_follows_mouse yes
|
||||||
|
|
||||||
|
# ----------------------------------------
|
||||||
|
# Startup / monitor layout
|
||||||
|
# ----------------------------------------
|
||||||
|
exec --no-startup-id xsetroot -cursor_name left_ptr
|
||||||
|
exec --no-startup-id xrandr --output HDMI-1 --auto --left-of DP-2 --output DP-2 --auto
|
||||||
9
layout-toggle.sh
Executable file
9
layout-toggle.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Toggle between Swiss German (CH_DE) and US Workman layouts
|
||||||
|
CURRENT=$(setxkbmap -query | grep layout | awk '{print $2}')
|
||||||
|
if [ "$CURRENT" = "ch" ]; then
|
||||||
|
setxkbmap -layout us -variant workman
|
||||||
|
else
|
||||||
|
setxkbmap -layout ch -variant de
|
||||||
|
fi
|
||||||
|
|
||||||
12
overlay-menu.sh
Executable file
12
overlay-menu.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Fullscreen overlay menu
|
||||||
|
OPTIONS="Reboot\nShutdown\nLock Screen\nCancel"
|
||||||
|
CHOICE=$(echo -e $OPTIONS | rofi -dmenu -fullscreen -p "Action" -lines 4 -bw 2 -kb-accept-entry 'Return' -kb-cancel 'Escape')
|
||||||
|
|
||||||
|
case "$CHOICE" in
|
||||||
|
"Reboot") systemctl reboot ;;
|
||||||
|
"Shutdown") systemctl poweroff ;;
|
||||||
|
"Lock Screen") i3lock ;;
|
||||||
|
"Cancel"|"") exit 0 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
Reference in New Issue
Block a user