dotfiles/files/i3.conf

159 lines
6 KiB
Text
Raw Permalink Normal View History

2017-08-12 23:34:29 +01:00
set $mod Mod4
font pango:monospace 8
2017-12-21 21:51:47 +00:00
focus_follows_mouse no
2017-08-12 23:34:29 +01:00
floating_modifier $mod
# KDE overrides https://userbase.kde.org/Tutorials/Using_Other_Window_Managers_with_Plasma#Configure_i3
for_window [title="Desktop — Plasma"] kill; floating enable; border none
for_window [class="plasmashell"] floating enable;
for_window [class="Plasma"] floating enable; border none
for_window [title="plasma-desktop"] floating enable; border none
for_window [title="win7"] floating enable; border none
for_window [class="krunner"] floating enable; border none
for_window [class="Kmix"] floating enable; border none
for_window [class="Klipper"] floating enable; border none
for_window [class="Plasmoidviewer"] floating enable; border none
for_window [class="(?i)*nextcloud*"] floating disable
for_window [class="plasmashell" window_type="notification"] floating enable, border none, move right 700px, move down 450px
no_focus [class="plasmashell" window_type="notification"]
2017-08-13 14:39:54 +01:00
# i3 shortcuts
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# Media Controls
set $playerctl playerctl -i firefox # ignore firefox when doing media control
2018-02-15 09:16:52 +00:00
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ +2% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ -2% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound
bindsym XF86AudioPause exec $aplayerctl play-pause
bindsym XF86AudioNext exec $aplayerctl next
bindsym XF86AudioPrev exec $aplayerctl previous
bindsym $mod+Shift+XF86AudioMute exec --no-startup-id amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "🎙 MIC OFF" || notify-send "🎙 MIC ON" # mute mic
# Some of my devices don't have full media controls
bindsym $mod+XF86AudioMute exec $aplayerctl play-pause
bindsym $mod+XF86AudioRaiseVolume exec $aplayerctl next
bindsym $mod+XF86AudioLowerVolume exec $aplayerctl previous
2017-08-12 23:34:29 +01:00
2017-12-22 23:15:36 +00:00
# Brightness
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl s +5%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl s 5%-
2017-12-22 23:15:36 +00:00
2017-12-23 16:01:36 +00:00
# Colour Temperature
bindsym $mod+F11 exec --no-startup-id redshift -ox
bindsym $mod+F12 exec --no-startup-id redshift -O 3000
2017-12-23 16:01:36 +00:00
2017-08-13 14:39:54 +01:00
# Applications
bindsym $mod+l exec --no-startup-id {{ home }}/.config/i3/lock.sh && sleep 1
bindsym $mod+Shift+l exec --no-startup-id pranklock
2021-04-11 14:43:34 +01:00
bindsym $mod+K exec --no-startup-id bitwarden
2017-12-18 00:32:10 +00:00
bindsym $mod+d exec --no-startup-id rofi -show drun -sidebar-mode
bindsym $mod+Tab exec --no-startup-id rofi -show window
2019-10-06 20:21:30 +01:00
bindsym $mod+c exec --no-startup-id rofi -show calc -modi calc -no-show-match -no-sort
2018-09-16 11:42:03 +01:00
bindsym $mod+Return exec alacritty
2017-11-17 09:21:01 +00:00
bindsym $mod+n exec --no-startup-id nautilus
bindsym $mod+Shift+g exec --no-startup-id nvim-qt
2018-01-19 09:06:44 +00:00
bindsym Control+Shift+Escape exec --no-startup-id gnome-system-monitor
2018-03-19 09:05:28 +00:00
bindsym Control+Q exec --no-startup-id /bin/false
2019-10-06 21:21:59 +01:00
bindsym $mod+Shift+Delete exec --no-startup-id rofi-powermenu
bindcode 124 exec --no-startup-id rofi-powermenu
2020-02-10 17:36:39 +00:00
bindsym XF86Eject exec --no-startup-id rofi-powermenu
2019-10-14 13:31:53 +01:00
bindsym $mod+P exec --no-startup-id rofi-screenlayout
bindsym $mod+Shift+c exec --no-startup-id vscode-project-list
bindsym $mod+period exec --no-startup-id rofimoji --action clipboard --no-frecency --files emojis emoticons math symbols_for_legacy_computing
bindsym $mod+Shift+w exec --no-startup-id website-link
2018-01-19 08:59:10 +00:00
2021-10-23 10:42:41 +01:00
# Notifications
2021-10-23 16:39:42 +01:00
bindsym $mod+m exec --no-startup-id dunstctl close
bindsym $mod+Shift+m exec --no-startup-id dunstctl close-all
bindsym $mod+Shift+comma exec --no-startup-id dunstctl history-pop
bindsym $mod+Shift+period exec --no-startup-id dunstctl context
2017-08-13 14:39:54 +01:00
2017-09-04 21:56:51 +01:00
# Screenshots
bindsym Print exec --no-startup-id flameshot gui
bindsym XF86LaunchB exec --no-startup-id flameshot gui
bindsym Shift+Print exec --no-startup-id flameshot screen -c
bindsym Shift+XF86LaunchB exec --no-startup-id flameshot screen -c
bindsym $mod+Print exec --no-startup-id flameshot-upload
bindsym $mod+XF86LaunchB exec --no-startup-id flameshot-upload
2017-10-19 21:01:47 +01:00
2017-08-13 14:39:54 +01:00
bindsym $mod+Shift+q kill
2017-08-12 23:34:29 +01:00
2017-08-13 14:39:54 +01:00
# Focus
bindsym $mod+a focus parent
2017-08-12 23:34:29 +01:00
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
2017-08-13 14:39:54 +01:00
# Movement
2017-08-12 23:34:29 +01:00
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
2017-08-13 14:39:54 +01:00
# Layout
2017-08-12 23:34:29 +01:00
bindsym $mod+v split v
bindsym $mod+f fullscreen toggle
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+space floating toggle
bindsym $mod+space focus mode_toggle
2017-08-13 14:39:54 +01:00
# Workspaces
{% for i in range(1, 10) %}
bindsym $mod+{{ i }} workspace {{ i }}
bindsym $mod+Shift+{{ i }} move container to workspace {{ i }}
{% endfor %}
2017-08-12 23:34:29 +01:00
2019-02-23 13:37:31 +00:00
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
2017-08-13 14:39:54 +01:00
# Resize
2017-10-30 14:19:59 +00:00
set $resize_increment 5
2017-08-12 23:34:29 +01:00
mode "resize" {
2017-10-30 14:19:59 +00:00
bindsym Left resize shrink width $resize_increment px or $resize_increment ppt
bindsym Down resize grow height $resize_increment px or $resize_increment ppt
bindsym Up resize shrink height $resize_increment px or $resize_increment ppt
bindsym Right resize grow width $resize_increment px or $resize_increment ppt
2017-08-12 23:34:29 +01:00
2017-10-19 21:01:47 +01:00
bindsym Escape mode "default"
2017-08-12 23:34:29 +01:00
}
2017-08-13 12:36:16 +01:00
bindsym $mod+r mode "resize"
2017-08-12 23:34:29 +01:00
2017-10-20 14:51:54 +01:00
# Gaps
mode "gaps" {
bindsym b border pixel 2
bindsym Shift+b border normal
bindsym Up gaps inner all plus 5
bindsym Down gaps inner all minus 5
bindsym Left gaps outer all minus 5
bindsym Right gaps outer all plus 5
bindsym Escape mode "default"
}
bindsym $mod+g mode "gaps"
2017-08-13 14:39:54 +01:00
# Autostart
2017-10-22 19:04:41 +01:00
exec /usr/lib/polkit-1/polkitd --no-debug
exec picom --dbus --xrender-sync-fence
exec ssh-agent -Da /tmp/ssh-agent-$USER.sock
2021-04-11 14:43:34 +01:00
exec bitwarden
exec dunst
exec xfce4-power-manager --no-daemon
2017-08-13 12:50:49 +01:00
2018-11-18 20:26:59 +00:00
exec_always --no-startup-id {{ home }}/.config/polybar/launch.sh
2019-09-18 18:36:00 +01:00
exec_always /usr/bin/ibus-daemon -drx
exec dex -as ~/.config/autostart