Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ArchLabs i3 config
- # Xresources var value fallback
- set_from_resource $bg background #2c2b2c
- set_from_resource $fg foreground #a4a4a4
- set_from_resource $black color0 #19043C
- 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 #3f4042
- # class bd bg txt ind child_bd
- client.focused $grey $bg $fg $blue $grey
- client.unfocused $grey $bg $black $bg $bg
- client.focused_inactive $grey $bg $black $bg $bg
- client.urgent $red $bg $red $red $red
- client.placeholder $grey $bg $bg $bg $bg
- client.background $bg
- # border & title.. Must be set to border pixel for gaps to work
- for_window [class="^.*"] border pixel 2, title_format "<b> %class >> %title </b>"
- # gaps
- gaps inner 3
- gaps outer 3
- # font
- font pango:DejaVu Sans Mono 8
- # $Mod = 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 $Mon1 HDMI1
- set $Mon2 HDMI2
- #####################################################
- ############### Autostart ##################
- #####################################################
- # run with reload
- exec_always --no-startup-id polybar -r i3-bar
- exec_always --no-startup-id nitrogen --restore
- exec_always --no-startup-id xrdb -load ~/.Xresources
- # If you have a numpad you may want to enable this
- # exec_always --no-startup-id numlockx on
- # run once
- exec --no-startup-id xfsettingsd
- exec --no-startup-id mpd-notification &
- exec --no-startup-id mpd
- exec --no-startup-id al-compositor --start
- exec --no-startup-id xscreensaver -no-splash
- # polkit, required for authentication
- exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
- # keyring for storing saved passwords
- exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11
- # pressing super key alone simulates pressing Alt-F1
- exec --no-startup-id ksuperkey -e 'Super_L=Alt_L|F1' &
- exec --no-startup-id ksuperkey -e 'Super_R=Alt_L|F1' &
- ###########################################################
- ############# Bindings ##################
- ###########################################################
- # kill focused window
- bindsym $Mod+Shift+q kill
- bindsym Mod1+q kill
- # launchers
- bindsym Control+space exec --no-startup-id ~/bin/dmenumpd
- # this is needed for super key to launch rofi
- bindsym Mod1+F1 exec --no-startup-id rofi-apps
- # core
- bindsym $Mod+e exec --no-startup-id geany
- bindsym $Mod+t exec kitty
- bindsym $Mod+w exec exo-open --launch WebBrowser
- bindsym $Mod+f exec exo-open --launch FileManager
- bindsym $Mod+m exec --launch sonata
- #bindsym $Mod+shift+m exec ~/bin/dmenumpd
- # logout script
- bindsym $Mod+x exec --no-startup-id rofr.sh -l
- # Screenshot
- 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 XF86AudioPrev exec mpc prev
- bindsym XF86AudioNext exec mpc next
- bindsym XF86AudioPlay exec mpc toggle
- 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
- # backlight
- 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 $Mon1
- workspace $WS2 output $Mon1
- workspace $WS3 output $Mon1
- workspace $WS4 output $Mon1
- workspace $WS5 output $Mon2
- workspace $WS6 output $Mon2
- workspace $WS7 output $Mon2
- workspace $WS8 output $Mon2
- # 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+Shift+space floating toggle
- floating_modifier Mod1
- bindsym $Mod+Shift+z move scratchpad
- bindsym $Mod+z scratchpad show
- # 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
- # layout toggle, keycode 23 is Tab
- bindcode Mod1+23 layout toggle tabbed split
- bindcode $Mod+23 layout toggle splitv splith
- # switch to workspace with urgent window
- for_window [urgent="latest"] focus
- focus_on_window_activation 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
- # change gaps
- bindsym $Mod+plus gaps inner current plus 5
- bindsym $Mod+minus gaps inner current minus 5
- bindsym $Mod+Shift+plus gaps outer current plus 5
- bindsym $Mod+Shift+minus gaps outer current minus 5
- bindsym $Mod+Control+plus gaps inner all plus 5
- bindsym $Mod+Control+minus gaps inner all minus 5
- bindsym $Mod+Control+Shift+plus gaps outer all plus 5
- bindsym $Mod+Control+Shift+minus gaps outer all minus 5
- ###################################################
- ############ application settings ############
- ###################################################
- for_window [class="(?i)(?:qt5ct|pinentry)"] floating enable, focus
- for_window [class="(?i)(?:termite|thunar)"] focus
- for_window [class="(?i)(?:geany|firefox)"] focus
- for_window [class="(?i)(?:sonata)"] floating enable, focus
- for_window [class="(?i)(?:nitrogen)"] floating enable, focus
- for_window [class="(?i)(?:thunar)"] floating enable, focus
- # Assign Applications to specific workspace
- # get class with xprop
- assign [class="(?i)(?:firefox)"] → $WS1
- assign [class="(?i)(?:chromium)"] → $WS1
- assign [class="(?i)(?:geany)"] → $WS2
- assign [class="(?i)(?:gpick)"] → $WS2
- assign [class="(?i)(?:thunar)"] → $WS3
- assign [class="(?i)(?:audacious)"] → $WS4
- assign [class="(?i)(?:kitty)"] → $WS5
- assign [class="(?i)(?:deluge)"] → $WS6
- assign [class="(?i)(?:easytag)"] → $WS7
- assign [class="(?i)(?:sonata)"] → $WS7
- # focus, floating, & sticky
- for_window [title="(?i)(?:copying|deleting|moving)"] floating enable
- for_window [window_role="(?i)(?:pop-up|setup)"] floating enable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement