245 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Salt's i3 configuration file
 | |
| # Licensed under the terms of the MIT License
 | |
| #
 | |
| 
 | |
| ###################
 | |
| # DO NOT START DAEMONS HERE
 | |
| ###################
 | |
| # This script leverages Concession for startup scripts
 | |
| # gitlab.com/rehashedsalt/concession
 | |
| # Set up Concession 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 our colors
 | |
| # Note: fallbacks are copied from gruvbox-dark
 | |
| # Source: https://github.com/morhetz/gruvbox-generalized
 | |
| set_from_resource $bg background #282828
 | |
| set_from_resource $bgm bg2 #3c3836
 | |
| set_from_resource $bg_soft bg3 #32302f
 | |
| set_from_resource $black color0 #282828
 | |
| set_from_resource $red color1 #cc241d
 | |
| set_from_resource $green color2 #98971a
 | |
| set_from_resource $yellow color3 #d79921
 | |
| set_from_resource $blue color4 #458588
 | |
| set_from_resource $purple color5 #b16286
 | |
| set_from_resource $cyan color6 #689d6a
 | |
| set_from_resource $gray color7 #a89984
 | |
| set_from_resource $gray2 color8 #928374
 | |
| set_from_resource $red2 color9 #fb4934
 | |
| set_from_resource $green2 color10 #b8bb26
 | |
| set_from_resource $yellow2 color11 #fabd2f
 | |
| set_from_resource $blue2 color12 #83a598
 | |
| set_from_resource $purple2 color13 #d3869b
 | |
| set_from_resource $cyan2 color14 #8ec07c
 | |
| set_from_resource $fg color15 #ebdbb2
 | |
| 
 | |
| # 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="konsole"] border normal 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="discord"] move to workspace $w8
 | |
| for_window [class="Spotify"] move to workspace $w8
 | |
| 
 | |
| for_window [title="Minecraft 1.7.10"] fullscreen enable
 | |
| for_window [class="explorer.exe"] fullscreen enable
 | |
| for_window [class="plasmashell"] kill, floating enable, border none
 | |
| 
 | |
| no_focus [class="Conky"]
 | |
| no_focus [class="plasmashell"]
 | |
| 
 | |
| focus_on_window_activation none
 | |
| 
 | |
| # Apply colors to i3
 | |
| #	<colorclass>			<border>	<backgrd>	<text>		<indicator>	<child_border>
 | |
| 	client.focused			$blue2		$blue2 		$bg		$bgm		$blue2
 | |
| 	client.focused_inactive		$bgm		$bgm		$blue		$bgm		$bgm
 | |
| 	client.unfocused		$bgm		$bgm		$fg		$bgm		$bgm
 | |
| 	client.urgent			$yellow2	$bgm		$yellow2	$yellow		$bgm
 | |
| 	client.placeholder		$purple2	$bgm		$purple2	$purple		$purple2
 | |
| 	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
 | |
| 
 | |
| # mpv-xwinwrap controls
 | |
| bindsym $mod+p exec --no-startup-id "~/.local/bin/tubetop2"
 | |
| bindsym $mod+$shift+p exec --no-startup-id "pkill xwinwrap"
 | |
| 
 | |
| # Miscellaneous non-movement hotkeys
 | |
| bindsym $ctl+$mod+l exec --no-startup-id "~/.local/bin/i3lock-custom"
 | |
| bindsym $mod+$shift+c reload
 | |
| bindsym $mod+$shift+r restart
 | |
| #bindsym $mod+$shift+e exit
 | |
| 
 | |
| # 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
 | |
| #	}
 | |
| #}
 | |
| 
 |