300 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			300 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # i3 config file (v4)
 | |
| #
 | |
| # Please see http://i3wm.org/docs/userguide.html for a complete reference!
 | |
| 
 | |
| ###################
 | |
| ## Cosmetcs
 | |
| ###################
 | |
| 
 | |
| # Titlebar and borders
 | |
| new_window pixel 4
 | |
| for_window [class=".*"] border pixel 4
 | |
| 
 | |
| # Plasma integration
 | |
| exec --no-startup-id wmctrl -c Plasma
 | |
| for_window [title="Desktop — Plasma"] kill; floating enable; border none
 | |
| for_window [class="krunner"] floating enable; border none
 | |
| for_window [class="Kmix"] floating enable; border none
 | |
| for_window [class="Klipper"] floating enable; border none
 | |
| for_window [class="plasmashell"] floating enable;
 | |
| for_window [title="plasma-desktop"] floating enable; border none
 | |
| for_window [class="Plasma"] floating enable; border none
 | |
| for_window [class="Plasmoidviewer"] floating enable; border none
 | |
| for_window [title="win7"] floating enable; border none
 | |
| 
 | |
| # i3-gaps configs
 | |
| gaps inner 0
 | |
| gaps outer 0
 | |
| 
 | |
| # Set up our colors
 | |
| # Note: fallbacks are copied from gruvbox-dark
 | |
| # Source: https://github.com/morhetz/gruvbox-generalized
 | |
| set_from_resource $bg background #1d2021
 | |
| set_from_resource $bgm bg2 #282828
 | |
| 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
 | |
| 
 | |
| # Apply colors to i3
 | |
| #	<colorclass>			<border>	<backgrd>	<text>		<indicator>	<child_border>
 | |
| 	client.focused			$blue2		$blue2 		$bg		$bgm	$blue2
 | |
| 	client.focused_inactive		$blue		$blue		$bg		$bgm	$bgm
 | |
| 	client.unfocused		$bg		$bg		$blue		$bg		$bgm
 | |
| 	client.urgent			$yellow2	$bg		$yellow2	$yellow		$bg
 | |
| 	client.placeholder		$purple2	$bg		$purple2	$purple		$bg
 | |
| 	client.background		$bg
 | |
| 
 | |
| # Set up titlebar and i3bar fonts
 | |
| font pango:xos4 Terminus 9
 | |
| 
 | |
| ###################
 | |
| ## Statusbars and Daemons
 | |
| ###################
 | |
| 
 | |
| exec_always --no-startup-id "killall polybar; sleep 1; polybar -r alpha"
 | |
| #exec --no-startup-id "redshift"
 | |
| #exec_always --no-startup-id "compton --config ~/.config/compton.conf"
 | |
| #exec_always --no-startup-id "dunst"
 | |
| #exec_always --no-startup-id "feh --randomize --bg-fill ~/Pictures/Wallpapers/i3"
 | |
| #exec --no-startup-id "mopidy"
 | |
| #exec --no-startup-id "syncthing -no-browser"
 | |
| 
 | |
| bindsym $mod+$shift+w exec --no-startup-id "feh --randomize --bg-fill ~/Pictures/Wallpapers/i3"
 | |
| 
 | |
| ###################
 | |
| ## Settings
 | |
| ###################
 | |
| 
 | |
| # No terminal bell
 | |
| exec --no-startup-id "xset -b"
 | |
| # No DPMS (display blanking)
 | |
| exec --no-startup-id "xset -dpms"
 | |
| # No screensaver
 | |
| exec --no-startup-id "xset s off"
 | |
| 
 | |
| ###################
 | |
| ## 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
 | |
| set $w9 9
 | |
| set $w10 10
 | |
| 
 | |
| ###################
 | |
| ## 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 -display-drun ':'"
 | |
| bindsym $mod+backslash exec "rofi -show ssh"
 | |
| bindsym $mod+Tab exec "rofi -show"
 | |
| 
 | |
| # 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 "~/.bin/mpv-xwinwrap"
 | |
| bindsym $mod+$shift+p exec --no-startup-id "pkill xwinwrap"
 | |
| 
 | |
| # Miscellaneous non-movement hotkeys
 | |
| 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
 | |
| 
 | |
| # 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
 | |
| 
 | |
| # 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
 | |
| 
 | |
| # alternatively, you can use the cursor keys:
 | |
| bindsym $mod+$shift+Left move left
 | |
| bindsym $mod+$shift+Down move down
 | |
| bindsym $mod+$shift+Up move up
 | |
| bindsym $mod+$shift+Right move right
 | |
| 
 | |
| # move focused workspace between monitors
 | |
| bindsym $sup+Left move workspace to output left
 | |
| bindsym $sup+Down move workspace to output down
 | |
| bindsym $sup+Up move workspace to output up
 | |
| bindsym $sup+Right move workspace to output right
 | |
| 
 | |
| # split in horizontal orientation
 | |
| bindsym $mod+semicolon split h
 | |
| 
 | |
| # split in vertical orientation
 | |
| bindsym $mod+v split v
 | |
| 
 | |
| # 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
 | |
| 
 | |
| # toggle tiling / floating
 | |
| bindsym $mod+f floating toggle
 | |
| 
 | |
| # change focus between tiling / floating windows
 | |
| #bindsym $mod+space focus mode_toggle
 | |
| 
 | |
| # 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
 | |
| bindsym $mod+9 workspace $w9
 | |
| bindsym $mod+0 workspace $w10
 | |
| 
 | |
| # switch to next and previous workspaces
 | |
| bindsym $mod+I workspace next
 | |
| bindsym $mod+U workspace prev
 | |
| 
 | |
| bindsym $ctl+$mod+Right workspace next
 | |
| bindsym $ctl+$mod+Left 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
 | |
| bindsym $mod+$shift+9 move container to workspace $w9
 | |
| bindsym $mod+$shift+0 move container to workspace $w10
 | |
| 
 | |
| ###################
 | |
| ## 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"
 | |
| 
 | |
| # Control Mopidy
 | |
| mode "mopidy" {
 | |
| 	# Shuffle, Repeat, and Consume
 | |
| 	bindsym s exec --no-startup-id "~/.bin/mpc/mpc-i3-shuffle"
 | |
| 	bindsym r exec --no-startup-id "~/.bin/mpc/mpc-i3-repeat"
 | |
| 	bindsym e exec --no-startup-id "~/.bin/mpc/mpc-i3-consume"
 | |
| 
 | |
| 	# Volume keys
 | |
| 	bindsym Up exec --no-startup-id "mpc volume +5"
 | |
| 	bindsym Down exec --no-startup-id "mpc volume -5"
 | |
| 
 | |
| 	# Toggle playback
 | |
| 	bindsym t exec --no-startup-id "mpc toggle; notify-send -a 'Mopidy' -u low -t 1 'Toggle' 'Toggled playback'
 | |
| 
 | |
| 	# Start playing a playlist
 | |
| 	bindsym p exec --no-startup-id "~/.bin/mpc/mpc-i3-playlists --clear"
 | |
| 	# Append a playlist
 | |
| 	bindsym o exec --no-startup-id "~/.bin/mpc/mpc-i3-playlists"
 | |
| 
 | |
| 	# Skip between tracks
 | |
| 	bindsym Right exec --no-startup-id "mpc next; notify-send -a 'Mopidy' -u low -t 1 'Next' 'The current song has been skipped'"
 | |
| 	bindsym Left exec --no-startup-id "mpc prev; notify-send -a 'Mopidy' -u low -t 1 'Previous' 'Rewound to the previous song'"
 | |
| 
 | |
| 	# Stop it altogether
 | |
| 	bindsym k exec --no-startup-id "mpc stop; notify-send -a 'Mopidy' -u low -t 1 'Stop' 'Playback has been stopped'"
 | |
| 	# Start playback	
 | |
| 	bindsym l exec --no-startup-id "mpc play; notify-send -a 'Mopidy' -u low -t 1 'Play' 'Playback has been started'"
 | |
| 
 | |
| 	# back to normal: Enter, Escape, or MOD+M
 | |
| 	bindsym Return mode "default"
 | |
| 	bindsym Escape mode "default"
 | |
| 	bindsym $mod+m mode "default"
 | |
| }
 | |
| 
 | |
| bindsym $mod+m mode "mopidy"
 | |
| 
 | |
| # Test things
 | |
| mode "test" {
 | |
| 	bindsym n exec --no-startup-id notify-send "Test Notification" "This is a simple test notification"
 | |
| 	bindsym p exec --no-startup-id notify-send "i3 Current Path" "$PATH"
 | |
| 
 | |
| 	bindsym Return mode "default"
 | |
| 	bindsym Escape mode "default"
 | |
| 	bindsym $mod+$shift+t mode "default"
 | |
| }
 | |
| 
 | |
| bindsym $mod+$shift+t mode "test"
 |