241 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			241 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Salt's i3 configuration file
 | |
| # Licensed under the terms of the MIT License
 | |
| #
 | |
| 
 | |
| ###################
 | |
| # DO NOT START DAEMONS HERE
 | |
| ###################
 | |
| # This script leverages Desktop Session Kit for startup scripts
 | |
| # gitlab.com/rehashedsalt/dsk
 | |
| # Set up session services instead!
 | |
| 
 | |
| ###################
 | |
| ## Workspaces
 | |
| ###################
 | |
| 
 | |
| # Initialize 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
 | |
| 
 | |
| ###################
 | |
| ## Cosmetcs
 | |
| ###################
 | |
| 
 | |
| # Set up titlebar and i3bar fonts
 | |
| font pango:Roboto 10
 | |
| 
 | |
| # Titlebar and borders
 | |
| hide_edge_borders smart
 | |
| new_window pixel 2
 | |
| for_window [class=".*"] border pixel 2
 | |
| for_window [class=".*"] title_format "%title"
 | |
| 
 | |
| # Miscellaneous window rules
 | |
| for_window [class="Firefox"] move to workspace $w1
 | |
| for_window [class="Firefox-esr"] move to workspace $w1
 | |
| for_window [class="Waterfox" ] move to workspace $w1
 | |
| for_window [class="Liferea" ] move to workspace $w7
 | |
| for_window [class="Thunderbird" ] move to workspace $w7
 | |
| for_window [class="discord"] move to workspace $w8
 | |
| for_window [class="Spotify"] move to workspace $w8
 | |
| for_window [class="Audacious"] move to workspace $w8
 | |
| 
 | |
| for_window [title="Minecraft 1.7.10"] fullscreen enable
 | |
| for_window [title="Minecraft 1.12.2"] fullscreen enable
 | |
| for_window [class="explorer.exe"] fullscreen enable
 | |
| for_window [class="plasmashell"] kill, floating enable, border none
 | |
| for_window [class="pavucontrol-qt"] floating enable, sticky enable
 | |
| for_window [class="Pavucontrol"] floating enable, sticky enable
 | |
| 
 | |
| no_focus [class="Conky"]
 | |
| no_focus [class="plasmashell"]
 | |
| 
 | |
| focus_on_window_activation none
 | |
| 
 | |
| # Set up colors
 | |
| set $bg #383c4a
 | |
| set $bg2 #404552
 | |
| set $bg3 #4b5162
 | |
| set $hi #5294e2
 | |
| set $urg #5294e2
 | |
| set $inac #4b5162
 | |
| 
 | |
| # Apply colors to i3
 | |
| #	<colorclass>			<border>	<backgrd>	<text>		<indicator>	<child_border>
 | |
| 	client.focused			$hi		$bg 		$bg		$bg		$hi
 | |
| 	client.focused_inactive		$inac		$inac		$fg		$inac		$inac
 | |
| 	client.unfocused		$bg2		$bg2		$fg		$bg2		$bg2
 | |
| 	client.urgent			$urg		$urg		$bg		$bg2		$urg
 | |
| 	client.placeholder		$hi		$inac		$bg		$bg		$bg
 | |
| 	client.background		$bg
 | |
| 
 | |
| ###################
 | |
| ## Keybindings
 | |
| ###################
 | |
| 
 | |
| # Set modifiers
 | |
| # Mod1 is LALT, Mod4 is LSUP
 | |
| 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 "i3-sensible-terminal"
 | |
| 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
 | |
| 
 | |
| # tubetop2 controls
 | |
| bindsym $mod+i exec --no-startup-id "~/.bin/tubetop2"
 | |
| bindsym $mod+$shift+i exec --no-startup-id "~/.bin/tubetop2 --kill"
 | |
| 
 | |
| # pavucontrol controls
 | |
| bindsym $mod+p exec --no-startup-id "pgrep pavucontrol || pavucontrol"
 | |
| bindsym $mod+$shift+p exec --no-startup-id "pkill pavucontrol"
 | |
| 
 | |
| # 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
 | |
| bindsym $mod+$shift+e exec --no-startup-id "kill $DSK_PID"
 | |
| 
 | |
| # 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
 | |
| 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"
 | |
| }
 | |
| 
 | |
| bindsym $mod+r mode "resize"
 | |
| 
 | |
| ###################
 | |
| ## Bars
 | |
| ###################
 | |
| 
 | |
| #bar {
 | |
| #	id bar-primary
 | |
| #	position bottom
 | |
| #	status_command i3status
 | |
| #	tray_output primary
 | |
| #
 | |
| #	font pango:Inconsolata 10
 | |
| #	# This looks dumb, but it makes the separators one character wide
 | |
| #	separator_symbol "|"
 | |
| #
 | |
| #	colors {
 | |
| #		background $bg
 | |
| #		statusline $fg
 | |
| #		separator $bgm
 | |
| #
 | |
| #		focused_workspace $bg $bg $blue
 | |
| #		active_workspace $bg $bg $bgm
 | |
| #		inactive_workspace $bg $bg $fg
 | |
| #		urgent_workspace $bg $bg $yellow
 | |
| #		binding_mode $bg $bg $fg
 | |
| #	}
 | |
| #}
 | |
| 
 |