170 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# Salt's i3 configuration file
 | 
						|
# Licensed under the terms of the MIT License
 | 
						|
#
 | 
						|
 | 
						|
## STARTUP TASKS
 | 
						|
# High-priority
 | 
						|
exec --no-startup-id pulseaudio
 | 
						|
exec --no-startup-id ~/.config/compton/launch.sh
 | 
						|
exec --no-startup-id nitrogen --restore
 | 
						|
exec --no-startup-id ~/.config/polybar/launch.sh
 | 
						|
exec --no-startup-id redshift
 | 
						|
# Low-priority
 | 
						|
exec --no-startup-id dunst
 | 
						|
exec --no-startup-id "sleep 15 && mpd"
 | 
						|
exec --no-startup-id "g910-lights"
 | 
						|
# XDG
 | 
						|
exec --no-startup-id "dex -a"
 | 
						|
 | 
						|
## WORKSPACES
 | 
						|
set $w1 1
 | 
						|
set $w2 2
 | 
						|
set $w3 3
 | 
						|
set $w4 4
 | 
						|
set $w5 5
 | 
						|
set $w6 6
 | 
						|
set $w7 7
 | 
						|
set $w8 8
 | 
						|
# Workspace setup for my desktop
 | 
						|
# Defaults to whatever on my laptop and on other machines
 | 
						|
set $monprim DisplayPort-0
 | 
						|
set $monsec HDMI-A-0
 | 
						|
workspace $w1 output $monprim
 | 
						|
workspace $w2 output $monprim
 | 
						|
workspace $w3 output $monprim
 | 
						|
workspace $w4 output $monprim
 | 
						|
workspace $w5 output $monprim
 | 
						|
# Putting 8 here first so it's the default for my secondary
 | 
						|
workspace $w8 output $monsec
 | 
						|
workspace $w6 output $monsec
 | 
						|
workspace $w7 output $monsec
 | 
						|
 | 
						|
## COSMETICS
 | 
						|
font pango:Roboto 10
 | 
						|
new_window pixel 4
 | 
						|
focus_on_window_activation none
 | 
						|
gaps inner 8
 | 
						|
 | 
						|
## KEYBINDINGS
 | 
						|
# Set modifiers
 | 
						|
set $mod Mod1
 | 
						|
set $sup Mod4
 | 
						|
set $ctl Ctrl
 | 
						|
set $shift Shift
 | 
						|
 | 
						|
# Use Mouse+$mod to drag floating windows to their wanted position
 | 
						|
floating_modifier $mod
 | 
						|
 | 
						|
# Program opening and closing
 | 
						|
bindsym $mod+Return exec "konsole"
 | 
						|
bindsym $mod+q kill
 | 
						|
bindsym $mod+space exec "rofi -show drun"
 | 
						|
bindsym $mod+backslash exec "rofi -show ssh"
 | 
						|
bindsym $mod+Tab exec "rofi -show window"
 | 
						|
 | 
						|
# Pulse controls
 | 
						|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
 | 
						|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
 | 
						|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
 | 
						|
 | 
						|
# Brightness controls
 | 
						|
bindsym XF86MonBrightnessUp exec xbacklight -inc 5 # increase screen brightness
 | 
						|
bindsym XF86MonBrightnessDown exec xbacklight -dec 5 # decrease screen brightness
 | 
						|
 | 
						|
# pavucontrol-qt controls
 | 
						|
bindsym $mod+p exec --no-startup-id "pgrep pavucontrol-qt || pavucontrol-qt"
 | 
						|
bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol-qt"
 | 
						|
 | 
						|
# i3-settree
 | 
						|
bindsym $mod+o exec --no-startup-id "~/.bin/i3-settree"
 | 
						|
 | 
						|
# Miscellaneous non-movement hotkeys
 | 
						|
bindsym $ctl+$mod+l exec --no-startup-id "~/.bin/i3lock-custom"
 | 
						|
bindsym $mod+$shift+c reload
 | 
						|
bindsym $mod+$shift+r restart
 | 
						|
 | 
						|
# change focus
 | 
						|
bindsym $mod+h focus left
 | 
						|
bindsym $mod+j focus down
 | 
						|
bindsym $mod+k focus up
 | 
						|
bindsym $mod+l focus right
 | 
						|
 | 
						|
# move focused window
 | 
						|
bindsym $mod+$shift+h move left
 | 
						|
bindsym $mod+$shift+j move down
 | 
						|
bindsym $mod+$shift+k move up
 | 
						|
bindsym $mod+$shift+l move right
 | 
						|
 | 
						|
# move focused workspace between monitors
 | 
						|
bindsym $sup+h move workspace to output left
 | 
						|
bindsym $sup+j move workspace to output down
 | 
						|
bindsym $sup+k move workspace to output up
 | 
						|
bindsym $sup+l move workspace to output right
 | 
						|
 | 
						|
# split in horizontal orientation
 | 
						|
bindsym $mod+semicolon split h
 | 
						|
 | 
						|
# split in vertical orientation
 | 
						|
bindsym $mod+v split v
 | 
						|
 | 
						|
# toggle tiling / floating
 | 
						|
bindsym $mod+f floating toggle
 | 
						|
 | 
						|
# enter fullscreen mode for the focused container
 | 
						|
bindsym $mod+$shift+f fullscreen toggle
 | 
						|
 | 
						|
# change container layout (stacked, tabbed, toggle split)
 | 
						|
bindsym $mod+s layout stacking
 | 
						|
bindsym $mod+w layout tabbed
 | 
						|
bindsym $mod+e layout toggle split
 | 
						|
 | 
						|
# focus the parent container
 | 
						|
bindsym $mod+a focus parent
 | 
						|
 | 
						|
# focus the child container
 | 
						|
bindsym $mod+d focus child
 | 
						|
 | 
						|
# switch to workspace
 | 
						|
bindsym $mod+1 workspace $w1
 | 
						|
bindsym $mod+2 workspace $w2
 | 
						|
bindsym $mod+3 workspace $w3
 | 
						|
bindsym $mod+4 workspace $w4
 | 
						|
bindsym $mod+5 workspace $w5
 | 
						|
bindsym $mod+6 workspace $w6
 | 
						|
bindsym $mod+7 workspace $w7
 | 
						|
bindsym $mod+8 workspace $w8
 | 
						|
 | 
						|
# switch to next and previous workspaces
 | 
						|
bindsym $mod+period workspace next
 | 
						|
bindsym $mod+comma workspace prev
 | 
						|
 | 
						|
# move focused container to workspace
 | 
						|
bindsym $mod+$shift+1 move container to workspace $w1
 | 
						|
bindsym $mod+$shift+2 move container to workspace $w2
 | 
						|
bindsym $mod+$shift+3 move container to workspace $w3
 | 
						|
bindsym $mod+$shift+4 move container to workspace $w4
 | 
						|
bindsym $mod+$shift+5 move container to workspace $w5
 | 
						|
bindsym $mod+$shift+6 move container to workspace $w6
 | 
						|
bindsym $mod+$shift+7 move container to workspace $w7
 | 
						|
bindsym $mod+$shift+8 move container to workspace $w8
 | 
						|
 | 
						|
## MODES
 | 
						|
# Resize
 | 
						|
bindsym $mod+r mode "resize"
 | 
						|
mode "resize" {
 | 
						|
	bindsym h resize shrink width 10 px or 10 ppt
 | 
						|
	bindsym j resize grow height 10 px or 10 ppt
 | 
						|
	bindsym k resize shrink height 10 px or 10 ppt
 | 
						|
	bindsym l resize grow width 10 px or 10 ppt
 | 
						|
 | 
						|
	bindsym Left resize shrink width 10 px or 10 ppt
 | 
						|
	bindsym Down resize grow height 10 px or 10 ppt
 | 
						|
	bindsym Up resize shrink height 10 px or 10 ppt
 | 
						|
	bindsym Right resize grow width 10 px or 10 ppt
 | 
						|
 | 
						|
	bindsym Return mode "default"
 | 
						|
	bindsym Escape mode "default"
 | 
						|
	bindsym $mod+r mode "default"
 | 
						|
}
 |