######################################### ### KEY DEFINITIONS #### ######################################### ## $Mod = Super key or Mod4 ## ## Mod1 = ALT key ## ## Control = CTRL key ## ## Shift = SHIFT key ## ## Escape = ESCAPE key ## ## Return = ENTER or RETURN key ## ## Pause = PAUSE key ## ## Print = PRINT key ## ## Tab = TAB key ## ######################################### # Xresources var value fallback set_from_resource $bg background #19043C set_from_resource $fg foreground #F1F1F1 set_from_resource $red color1 #EE79A9 set_from_resource $green color2 #8C9440 set_from_resource $yellow color3 #DE935F set_from_resource $blue color4 #05C6F1 set_from_resource $purple color5 #85678F set_from_resource $cyan color6 #5E8D87 set_from_resource $grey color7 #969CD3 set_from_resource $white color15 #F1F1F1 set_from_resource $black color0 #19043C # class bg bd txt ind client.focused $bg $blue $fg $blue client.unfocused $bg $bg $fg $bg client.focused_inactive $bg $bg $fg $bg client.urgent $bg $red $fg $red client.background $bg # border for_window [class="^.*"] border pixel 2 # gaps gaps inner 12 gaps outer 0 # font font pango:Ubuntu Light 11 ## #### Set ## # $mod for Super or Alt set $mod Mod4 #set $mod Mod1 # direction keys set $up l set $down k set $left j set $right semicolon set $WS1 "1:" set $WS2 "2:" set $WS3 "3:" set $WS4 "4:" set $WS5 "5:" set $WS6 "6:" set $WS7 "7:" set $WS8 "8:" # monitors set $firstMonitor HDMI1 set $secondMonitor HDMI2 #################################################################################################### ################# Autostart ################## #################################################################################################### # run with reload exec_always --no-startup-id start-compton exec_always --no-startup-id launch-polybar exec_always --no-startup-id numlockx on # run once exec --no-startup-id xfsettingsd exec --no-startup-id ksuperkey -e 'Super_L=Alt_L|F1' exec --no-startup-id nitrogen --restore exec --no-startup-id al-conky-session exec --no-startup-id lxpolkit #################################################################################################### ################# Bindings ################## #################################################################################################### # kill focused window bindsym $mod+Shift+q kill bindsym Mod1+q kill # launchers bindsym Control+space exec --no-startup-id rofi-gorice bindsym Mod1+F1 exec --no-startup-id rofi-gorice # core bindsym $mod+e exec --no-startup-id al-open -edit bindsym $mod+t exec --no-startup-id exo-open --launch TerminalEmulator bindsym $mod+w exec --no-startup-id exo-open --launch WebBrowser bindsym $mod+f exec --no-startup-id exo-open --launch FileManager # logout bindsym $mod+x exec --no-startup-id rofi-logout # long command broken into multiple lines bindsym Print exec --no-startup-id "scrot '%S.png' \ -e 'mv $f $$(xdg-user-dir PICTURES)/ArchLabs-%S-$wx$h.png \ ; gpicview $$(xdg-user-dir PICTURES)/ArchLabs-%S-$wx$h.png'" # audio bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause bindsym XF86AudioNext exec --no-startup-id playerctl next bindsym XF86AudioPrev exec --no-startup-id playerctl previous bindsym XF86AudioStop exec --no-startup-id playerctl stop bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 2 bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 2 bindsym XF86AudioMute exec --no-startup-id pamixer -t bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10 bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10 #################################################################################################### ################# Workspace Bindings ################# #################################################################################################### # workspace assignment workspace $WS1 output $firstMonitor workspace $WS2 output $secondMonitor workspace $WS3 output $firstMonitor workspace $WS4 output $secondMonitor workspace $WS5 output $firstMonitor workspace $WS6 output $secondMonitor workspace $WS7 output $firstMonitor workspace $WS8 output $secondMonitor # switch to workspace bindsym $mod+1 workspace $WS1 bindsym $mod+2 workspace $WS2 bindsym $mod+3 workspace $WS3 bindsym $mod+4 workspace $WS4 bindsym $mod+5 workspace $WS5 bindsym $mod+6 workspace $WS6 bindsym $mod+7 workspace $WS7 bindsym $mod+8 workspace $WS8 # move focused container to workspace bindsym $mod+Shift+1 move container to workspace $WS1; workspace $WS1 bindsym $mod+Shift+2 move container to workspace $WS2; workspace $WS2 bindsym $mod+Shift+3 move container to workspace $WS3; workspace $WS3 bindsym $mod+Shift+4 move container to workspace $WS4; workspace $WS4 bindsym $mod+Shift+5 move container to workspace $WS5; workspace $WS5 bindsym $mod+Shift+6 move container to workspace $WS6; workspace $WS6 bindsym $mod+Shift+7 move container to workspace $WS7; workspace $WS7 bindsym $mod+Shift+8 move container to workspace $WS8; workspace $WS8 #################################################################################################### ################# Reload configs ################# #################################################################################################### # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # reload the configuration file bindsym $mod+Shift+c reload #################################################################################################### ################ Container/Window control ################## #################################################################################################### # Scratchpad, Floating bindsym $mod+minus move scratchpad bindsym $mod+plus scratchpad show bindsym $mod+space floating toggle floating_modifier Mod1 # change focus bindsym $mod+$left focus left bindsym $mod+$down focus down bindsym $mod+$up focus up bindsym $mod+$right focus right # alternatively, you can use the cursor keys: bindsym $mod+Left focus left bindsym $mod+Down focus down bindsym $mod+Up focus up bindsym $mod+Right focus right bindsym $mod+p focus parent bindsym $mod+c focus child # move focused window bindsym $mod+Shift+$left move left 10px bindsym $mod+Shift+$down move down 10px bindsym $mod+Shift+$up move up 10px bindsym $mod+Shift+$right move right 10px # alternatively, you can use the cursor keys: bindsym $mod+Shift+Up move up 10px bindsym $mod+Shift+Down move down 10px bindsym $mod+Shift+Left move left 10px bindsym $mod+Shift+Right move right 10px # Size bindsym Mod1+Up resize shrink height 10 px or 1 ppt bindsym Mod1+Down resize grow height 10 px or 1 ppt bindsym Mod1+Left resize shrink width 10 px or 1 ppt bindsym Mod1+Right resize grow width 10 px or 1 ppt # next/previous workspace bindsym Mod1+Tab workspace next bindsym Mod1+Shift+Tab workspace prev # switch to workspace with urgent window for_window [urgent=latest] focus # container layout bindsym $mod+h split h bindsym $mod+v split v bindsym $mod+Shift+t layout tabbed bindsym $mod+Shift+s layout stacking bindsym $mod+Shift+h layout toggle split default_orientation horizontal #################################################################################################### ################# Border & Gaps ################# #################################################################################################### new_window normal new_float normal hide_edge_borders both popup_during_fullscreen smart bindsym $mod+shift+b border toggle #changing border style bindsym $mod+n border normal bindsym $mod+y border 1pixel bindsym $mod+u border none set $mode_gaps Gap Size  + | -  bindsym $mod+Shift+g mode "$mode_gaps" mode "$mode_gaps" { bindsym plus gaps inner all plus 2 bindsym minus gaps inner all minus 2 bindsym Return mode "default" bindsym Escape mode "default" } #################################################################################################### ################# application settings ################# #################################################################################################### for_window [class="qt5ct|Lxappearance|^Gpick$|Pamac|Peek|Nitrogen"] floating enable for_window [window_role="^Preferences$"] floating enable for_window [class="Termite|^Thunar|Geany|Firefox"] focus # Assign Applications to specific workspace # get class with xprop assign [class="Firefox"] → $WS1 assign [class="Geany"] → $WS2 assign [class="Thunar"] → $WS3 assign [class="^Gimp"] → $WS4