dotfiles/files/i3.conf
Jake Howard 4461ff674d
Replace vim with nvim
Also extract config into separate repo
2021-09-11 23:03:34 +01:00

146 lines
5.5 KiB
Text

set $mod Mod4
font pango:monospace 8
focus_follows_mouse no
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"]
# 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
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 playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym $mod+XF86AudioMute exec --no-startup-id amixer set Capture toggle && amixer get Capture | grep '\[off\]' && notify-send "🎙 MIC OFF" || notify-send "🎙 MIC ON" # mute mic
# Brightness
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl s +5%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl s 5%-
# Colour Temperature
bindsym $mod+F11 exec --no-startup-id redshift -ox
bindsym $mod+F12 exec --no-startup-id redshift -O 3000
# Applications
bindsym $mod+l exec --no-startup-id betterlockscreen -l dimblur && sleep 1
bindsym $mod+Shift+l exec --no-startup-id pranklock
bindsym $mod+K exec --no-startup-id bitwarden
bindsym $mod+d exec --no-startup-id rofi -show drun -sidebar-mode
bindsym $mod+Tab exec --no-startup-id rofi -show window
bindsym $mod+c exec --no-startup-id rofi -show calc -modi calc -no-show-match -no-sort
bindsym $mod+Return exec alacritty
bindsym $mod+n exec --no-startup-id nautilus
bindsym $mod+Shift+g exec --no-startup-id nvim-qt
bindsym Control+Shift+Escape exec --no-startup-id gnome-system-monitor
bindsym Control+Q exec --no-startup-id /bin/false
bindsym $mod+Shift+Delete exec --no-startup-id rofi-powermenu
bindcode 124 exec --no-startup-id rofi-powermenu
bindsym XF86Eject exec --no-startup-id rofi-powermenu
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
# 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
bindsym $mod+Shift+q kill
# Focus
bindsym $mod+a focus parent
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Movement
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Layout
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
# Workspaces
{% for i in range(1, 10) %}
bindsym $mod+{{ i }} workspace {{ i }}
bindsym $mod+Shift+{{ i }} move container to workspace {{ i }}
{% endfor %}
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
# Resize
set $resize_increment 5
mode "resize" {
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
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# 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"
# Autostart
exec /usr/lib/polkit-1/polkitd --no-debug
exec picom --dbus --xrender-sync-fence
exec tbg ~/Upload/bg/ -m 10 -c "betterlockscreen -u /_"
exec ssh-agent -Da /tmp/ssh-agent-$USER.sock
exec bitwarden
exec dunst
exec xfce4-power-manager --no-daemon
exec_always --no-startup-id {{ home }}/.config/polybar/launch.sh
exec_always /usr/bin/ibus-daemon -drx
exec dex -as ~/.config/autostart