Files
dotfiles/archive/i3/config

246 lines
9.7 KiB
Plaintext

set $mod Mod4
set $alt Mod1
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $alt
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:DejaVu Sans Mono 10
exec --no-startup-id compton
exec --no-startup-id xrandr\
--output DP-0 --pos 0x0 --mode 2560x1440 --rate 60 \
--output DP-4 --pos 2560x0 --mode 2560x1440 --rate 144 --primary \
--output HDMI-0 --pos 5120x0 --mode 2560x1440 --rate 60
bindsym $mod+Return exec --no-startup-id kitty --single-instance
bindsym $mod+q kill
bindsym $mod+s split h
bindsym $mod+v split v
bindsym $mod+Tab workspace next_on_output
bindsym $alt+Shift+Next workspace next_on_output
bindsym $mod+Shift+Tab workspace prev_on_output
bindsym $alt+Shift+Prior workspace prev_on_output
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym $mod+h focus left
bindsym $mod+Left focus left
bindsym $mod+j focus down
bindsym $mod+Down focus down
bindsym $mod+k focus up
bindsym $mod+Up focus up
bindsym $mod+l focus right
bindsym $mod+Right focus right
bindsym --release $mod+Shift+h move left
bindsym --release $mod+Shift+Left move left
bindsym --release $mod+Shift+j move down
bindsym --release $mod+Shift+Down move down
bindsym --release $mod+Shift+k move up
bindsym --release $mod+Shift+Up move up
bindsym --release $mod+Shift+l move right
bindsym --release $mod+Shift+Right move right
set $mode_space [space]: [space]Run, works<b>p</b>ace, <b>w</b>indow, <b>o</b>pen, <b>g</b>oto, <b>q</b>uit
mode --pango_markup "$mode_space" {
bindsym space exec --no-startup-id rofi -show run, mode "default"
bindsym p mode "$mode_space_workspace"
bindsym w mode "$mode_space_window"
bindsym o mode "$mode_space_open"
bindsym g mode "$mode_space_goto"
bindsym q mode "$mode_space_quit"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_workspace [workspace]: <b>m</b>ove, [p]switch to
mode --pango_markup "$mode_space_workspace" {
bindsym m mode "$mode_space_workspace_move"
bindsym p exec --no-startup-id i3_switch_workspace.sh, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_workspace_move [workspace][move]: <b>h/l/Left/Right</b> Move
mode --pango_markup "$mode_space_workspace_move" {
bindsym h exec --no-startup-id i3-msg move workspace to output left
bindsym Left exec --no-startup-id i3-msg move workspace to output left
bindsym l exec --no-startup-id i3-msg move workspace to output right
bindsym Right exec --no-startup-id i3-msg move workspace to output right
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_window [window]: <b>d</b>elete, <b>f</b>ullscreen, fl<b>o</b>at, <b>p</b>arent, <b>m</b>ove, <b>r</b>esize, <b>l</b>ayout
mode --pango_markup "$mode_space_window" {
bindsym d kill, mode "default"
bindsym f fullscreen toggle, mode "default"
bindsym o floating toggle, mode "default"
bindsym p focus parent
bindsym m mode "$mode_space_window_move"
bindsym r mode "$mode_space_window_resize"
bindsym l mode "$mode_space_window_layout"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_window_move [window][move]: <b>h/j/k/l/Left/Down/Up/Right</b> Move, to works<b>p</b>ace
mode --pango_markup "$mode_space_window_move" {
bindsym --release h move left
bindsym --release Left move left
bindsym --release j move down
bindsym --release Down move down
bindsym --release k move up
bindsym --release Up move up
bindsym --release l move right
bindsym --release Right move right
bindsym p exec --no-startup-id i3_send_to_workspace.sh, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_window_resize [window][resize]: <b>h/j/k/l/Left/Down/Up/Right</b> Grow, Shift+<b>h/j/k/l/Left/Down/Up/Right</b> Shrink
mode --pango_markup "$mode_space_window_resize" {
bindsym h resize grow left 10 px or 10 ppt
bindsym Left resize grow left 10 px or 10 ppt
bindsym j resize grow down 10 px or 10 ppt
bindsym Down resize grow down 10 px or 10 ppt
bindsym k resize grow up 10 px or 10 ppt
bindsym Up resize grow up 10 px or 10 ppt
bindsym l resize grow right 10 px or 10 ppt
bindsym Right resize grow right 10 px or 10 ppt
bindsym Shift+h resize shrink right 10 px or 10 ppt
bindsym Shift+Left resize shrink right 10 px or 10 ppt
bindsym Shift+j resize shrink up 10 px or 10 ppt
bindsym Shift+Down resize shrink up 10 px or 10 ppt
bindsym Shift+k resize shrink down 10 px or 10 ppt
bindsym Shift+Up resize shrink down 10 px or 10 ppt
bindsym Shift+l resize shrink left 10 px or 10 ppt
bindsym Shift+Right resize shrink left 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_window_layout [window][layout]: <b>s</b>plit, <b>t</b>abbed, stac<b>k</b>ing
mode --pango_markup "$mode_space_window_layout" {
bindsym s toggle split, mode "default"
bindsym t layout tabbed, mode "default"
bindsym k layout stacking, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_open [open]: <b>f</b>irefox, ki<b>t</b>ty, <b>e</b>macs, <b>p</b>ycharm, [j]idea, <b>d</b>iscord, <b>s</b>lack, <b>z</b>oom, <b>w</b>indows
mode --pango_markup "$mode_space_open" {
bindsym f exec --no-startup-id pgrep firefox && i3-msg '[class="(?i)firefox"] focus' || firefox , mode "default"
bindsym Shift+f exec --no-startup-id firefox , mode "default"
bindsym t exec --no-startup-id kitty --single-instance, mode "default"
bindsym Shift+t exec --no-startup-id kitty --single-instance, mode "default"
bindsym e exec --no-startup-id pgrep emacs && i3-msg '[class="(?i)emacs"] focus' || emacs , mode "default"
bindsym Shift+e exec --no-startup-id emacs , mode "default"
bindsym p exec --no-startup-id pgrep pycharm && i3-msg '[class="(?i)pycharm"] focus' || pycharm , mode "default"
bindsym Shift+p exec --no-startup-id pycharm , mode "default"
bindsym j exec --no-startup-id pgrep idea && i3-msg '[class="(?i)idea"] focus' || idea , mode "default"
bindsym Shift+j exec --no-startup-id idea , mode "default"
bindsym d exec --no-startup-id pgrep discord && i3-msg '[class="(?i)discord"] focus' || discord , mode "default"
bindsym Shift+d exec --no-startup-id discord , mode "default"
bindsym s exec --no-startup-id pgrep slack && i3-msg '[class="(?i)slack"] focus' || slack , mode "default"
bindsym Shift+s exec --no-startup-id slack , mode "default"
bindsym z exec --no-startup-id pgrep zoom && i3-msg '[class="(?i)zoom"] focus' || zoom , mode "default"
bindsym Shift+z exec --no-startup-id zoom , mode "default"
bindsym w exec --no-startup-id pgrep virt-viewer && i3-msg '[class="(?i)virt-viewer"] focus' || virt-viewer --connect qemu:///system -w Windows10, mode "default"
bindsym Shift+w exec --no-startup-id virt-viewer --connect qemu:///system -w Windows10, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_goto [goto]: <b>s</b>erver
mode --pango_markup "$mode_space_goto" {
bindsym s exec --no-startup-id rofi -show ssh, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_quit [quit]: [q]logout, <b>r</b>eload, [Shift+r]restart, <b>s</b>ystem
mode --pango_markup "$mode_space_quit" {
bindsym q exec --no-startup-id i3-msg exit, mode "default"
bindsym r exec --no-startup-id i3_reconfigure, mode "default"
bindsym Shift+r restart, mode "default"
bindsym s mode "$mode_space_quit_system"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
set $mode_space_quit_system [quit][system]: <b>s</b>uspend, <b>r</b>eboot, <b>p</b>ower off
mode --pango_markup "$mode_space_quit_system" {
bindsym s exec --no-startup-id systemctl suspend, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym p exec --no-startup-id systemctl poweroff, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym control+g mode "default"
bindsym control+bracketleft mode "default"
}
bindsym $mod+space mode "$mode_space"
set $ws_main 1: Main
workspace "$ws_main" output DP-4
set $ws_tasks 2: Tasks
workspace "$ws_tasks" output DP-0
assign [class="(?i)virt-viewer"] "$ws_tasks"
set $ws_comms 3: Comms
workspace "$ws_comms" output HDMI-0
assign [class="(?i)discord"] "$ws_comms"
assign [class="(?i)slack"] "$ws_comms"
set $ws_python 4: Python
workspace "$ws_python" output primary
assign [class="(?i)pycharm"] "$ws_python"
set $ws_java 5: Java
workspace "$ws_java" output primary
assign [class="(?i)idea"] "$ws_java"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
tray_output primary
tray_padding 20 px
status_command i3status
}
# Wallpaper
exec --no-startup-id nitrogen --restore