# i3 config file (v4) # # Please see http://i3wm.org/docs/userguide.html for a complete reference! set $mod Mod4 set $alt Mod1 floating_modifier $mod font pango:sans 9 # kill focused window bindsym $mod+apostrophe kill bindsym $alt+F4 kill # change window focus bindsym $mod+d focus left bindsym $mod+h focus down bindsym $mod+t focus up bindsym $mod+n focus right # move focused window bindsym $mod+Shift+d move left bindsym $mod+Shift+h move down bindsym $mod+Shift+t move up bindsym $mod+Shift+n move right # split in horizontal orientation bindsym $mod+m split h bindsym $mod+w split v # enter fullscreen mode for the focused container bindsym $mod+Shift+f fullscreen toggle global bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) bindsym $mod+p layout stacking bindsym $mod+comma layout tabbed bindsym $mod+period layout toggle split # toggle tiling / floating bindsym $mod+u floating toggle bindsym $mod+e sticky toggle # focus the parent container bindsym $mod+a focus parent bindsym $mod+o focus child # Screen configs # set $bl "DP-5" set $tl "DP-1" set $br "HDMI-0" set $tr "DP-3" # Workspace -> Screen workspace 1 output $bl workspace 2 output $br workspace 3 output $tl workspace 4 output $tr workspace 5 output $bl workspace 6 output $br workspace 7 output $tl workspace 8 output $tr # switch to workspace 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 # move workspaces across screens bindsym $mod+$alt+d move workspace to output left bindsym $mod+$alt+n move workspace to output right bindsym $mod+$alt+t move workspace to output up bindsym $mod+$alt+h move workspace to output down # move focused container to workspace 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 # opens logout/shutdown menu bindsym $mod+Shift+Escape exec --no-startup-id ~/.config/i3/powermenu.sh set $bg-color #2f343f set $inactive-bg-color #2f343f set $text-color #f3f4f5 set $inactive-text-color #676E7D set $urgent-bg-color #E53935 # window colors # border background text indicator client.focused $bg-color $bg-color $text-color $bg-color client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $bg-color client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color # Window rules for_window [class="Pinentry"] floating enable for_window [class="Pavucontrol"] floating enable for_window [class="Blueman-manager"] floating enable for_window [class="floating-term" instance="termite"] floating enable for_window [class="Alacritty" instance="floating-term"] floating enable for_window [class="^jetbrains-.+$" title="win0"] floating enable for_window [window_role="floating-term"] floating enable for_window [class="^Rofi$"] floating enable new_window none new_float none gaps inner 24 gaps outer 4 focus_follows_mouse yes popup_during_fullscreen smart # keybindings bindsym $mod+Shift+j reload bindsym --release $mod+x exec xkill bindsym $mod+c exec notify-send "Try again" "You meant \\\$mod+b" bindsym $mod+b exec systemd-run-i3 -n firefox bindsym $mod+Return exec systemd-run-i3 -n alacritty bindsym $mod+Ctrl+Return exec systemd-run-i3 -n alacritty --class floating bindsym $mod+Shift+Return exec systemd-run-i3 -n alacritty --working-directory "$(xcwd)" bindsym $mod+Ctrl+Shift+Return exec systemd-run-i3 -n alacritty --class floating --working-directory "$(xcwd)" bindsym $mod+v exec systemd-run-i3 -n alacritty -e sh -c "($SHELL -c $EDITOR || :) && $SHELL" bindsym $mod+Ctrl+v exec systemd-run-i3 -n alacritty --class floating -e sh -c "($SHELL -c $EDITOR || : ) && $SHELL" bindsym $mod+l exec dm-tool switch-to-greeter bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'" bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g' bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window" bindsym $mod+Shift+i exec rofi-fontawesome bindsym --release Print exec screenshot --clip bindsym --release $mod+Print exec screenshot bindsym --release Shift+Print exec screenshot --active bindsym --release $mod+Shift+Print exec screenshot --active --clip bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))" bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1' bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r' bindsym $mod+g exec systemd-run-i3 -n bash -xc 'xclip -o | gh gist create -d Paste - 2>&1 | grep -vE "^[-✓] Creat(ing|ed) gist" | tee >(xclip -i >&2 >/dev/null) | xargs -r notify-send -c transfer' bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"' bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp # Media player controls bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause bindsym XF86AudioPause exec --no-startup-id playerctl -a pause bindsym XF86AudioStop exec --no-startup-id playerctl -a stop bindsym XF86AudioNext exec --no-startup-id playerctl -a next bindsym XF86AudioPrev exec --no-startup-id playerctl -a previous bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1000 bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1000 bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle bindsym XF86MonBrightnessUp exec light -A 5 bindsym XF86MonBrightnessDown exec light -U 5 # vim:ft=i3