243 lines
9.7 KiB
Plaintext
243 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+Tab workspace next_on_output
|
|
bindsym $mod+Shift+Tab 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>s</b>plit, <b>v</b>ertical split, <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 s split h, mode "default"
|
|
bindsym v split v, 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
|
|
|