354 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			354 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # i3 config file (v4)
 | |
| # Please see http://i3wm.org/docs/userguide.html for a complete reference!
 | |
| 
 | |
| # set modifier
 | |
| set $super Mod4
 | |
| set $alt Mod1
 | |
| 
 | |
| # set font
 | |
| font pango: Noto Sans 10
 | |
| 
 | |
| # Use Mouse+$super to drag floating windows to their wanted position
 | |
| floating_modifier $super
 | |
| 
 | |
| #autostart
 | |
| exec --no-startup-id xsettingsd &
 | |
| exec --no-startup-id pasystray
 | |
| exec --no-startup-id nitrogen --restore; sleep 1; picom -b
 | |
| exec --no-startup-id conky
 | |
| exec --no-startup-id conky -c ~/.config/conky/conky-shcts 
 | |
| exec --no-startup-id clipman
 | |
| exec --no-startup-id dunst
 | |
| exec --no-startup-id garuda-welcome
 | |
| #exec --no-startup-id redshift
 | |
| exec --no-startup-id desktop-items
 | |
| exec --no-startup-id nm-applet
 | |
| exec --no-startup-id pamac-tray
 | |
| exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
 | |
| exec --no-startup-id xfce4-power-manager
 | |
| exec_always --no-startup-id ff-theme-util
 | |
| exec_always --no-startup-id setcursor
 | |
| #exec_always --no-startup-id ${HOME}/.config/polybar/launch.sh
 | |
| exec_always --no-startup-id numlockx on
 | |
| exec blueberry-tray
 | |
| exec --no-startup-id java -Xmx1024m -jar "/opt/xdman/xdman.jar" -m
 | |
| 
 | |
| # start a terminal #alacritty xfce4-terminal
 | |
| bindsym $super+Return exec alacritty
 | |
| bindsym $super+t exec alacritty
 | |
| 
 | |
| # hide/unhide i3status bar
 | |
| bindsym $super+m bar mode toggle
 | |
| 
 | |
| # start dmenu (a program launcher)
 | |
| bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i"
 | |
| bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3
 | |
| 
 | |
| # launch categorized menu
 | |
| bindsym $super+z exec --no-startup-id sgtk-grid
 | |
| 
 | |
| # exit menu
 | |
| #bindsym Ctrl+$alt+Delete exec wlogout
 | |
| 
 | |
| # Garuda Linux install
 | |
| bindsym $super+i exec sudo -E calamares
 | |
| 
 | |
| # Lock screen
 | |
| bindsym $super+l exec i3lock -i /usr/share/wallpapers/garuda-wallpapers/garuda-wp-scratch-02-2160p-sgs.png
 | |
| 
 | |
| 
 | |
| # common apps keybinds
 | |
| bindsym $super+F1 exec firefox;focus
 | |
| bindsym $super+F2 exec thunderbird;focus
 | |
| bindsym $super+F3 exec thunar;focus
 | |
| bindsym $super+F4 exec geany;focus
 | |
| bindsym $super+F9 exec flameshot gui
 | |
| 
 | |
| # Screen brightness controls
 | |
| bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up'"
 | |
| bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
 | |
| 
 | |
| #change volume
 | |
| bindsym XF86AudioRaiseVolume exec pulseaudio-ctl up
 | |
| bindsym XF86AudioLowerVolume exec pulseaudio-ctl down
 | |
| bindsym XF86AudioMute exec pulseaudio-ctl mute
 | |
| #bindsym XF86AudioMute exec amixer pulseaudio-ctl mute
 | |
| 
 | |
| # music control
 | |
| bindsym XF86AudioNext exec playerctl next
 | |
| bindsym XF86AudioPrev exec playerctl prev
 | |
| bindsym XF86AudioPlay exec playerctl toggle
 | |
| bindsym XF86AudioStop exec playerctl stop
 | |
| 
 | |
| # Print screen
 | |
| 
 | |
| #bindsym Print exec --no-startup-id ksnip -fs
 | |
| #bindsym $super+Print --release exec --no-startup-id ksnip -f
 | |
| #bindsym $super+Shift+Print --release exec --no-startup-id ksnip -r
 | |
| 
 | |
| bindsym Print exec --no-startup-id flameshot gui
 | |
| bindsym $super+Print --release exec --no-startup-id i3-scrot -w
 | |
| bindsym $super+Shift+Print --release exec --no-startup-id i3-scrot -s
 | |
| #bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f'
 | |
| 
 | |
| 
 | |
| # kill focused window
 | |
| bindsym $super+c kill
 | |
| bindsym $super+q kill
 | |
| 
 | |
| # change focus
 | |
| bindsym $super+Left focus left
 | |
| bindsym $super+Down focus down
 | |
| bindsym $super+Up focus up
 | |
| bindsym $super+Right focus right
 | |
| 
 | |
| # move focused window
 | |
| bindsym $super+Shift+Left move left
 | |
| bindsym $super+Shift+Down move down
 | |
| bindsym $super+Shift+Up move up
 | |
| bindsym $super+Shift+Right move right
 | |
| 
 | |
| # split in horizontal orientation
 | |
| bindsym $super+h split h
 | |
| 
 | |
| # split in vertical orientation
 | |
| bindsym $super+v split v
 | |
| 
 | |
| # enter fullscreen mode for the focused container
 | |
| bindsym $super+f fullscreen toggle
 | |
| 
 | |
| # change container layout split
 | |
| bindsym $super+s layout toggle split
 | |
| 
 | |
| # toggle tiling / floating
 | |
| bindsym $super+space floating toggle
 | |
| 
 | |
| # change focus between tiling / floating windows
 | |
| bindsym $super+Shift+space focus mode_toggle
 | |
| 
 | |
| # toggle sticky
 | |
| bindsym $super+Shift+s sticky toggle
 | |
| 
 | |
| # focus the parent container
 | |
| bindsym $super+a focus parent
 | |
| 
 | |
| # move the currently focused window to the scratchpad
 | |
| bindsym $super+Shift+minus move scratchpad
 | |
| 
 | |
| # Show the next scratchpad window or hide the focused scratchpad window.
 | |
| # If there are multiple scratchpad windows, this command cycles through them.
 | |
| bindsym $super+minus scratchpad show
 | |
| 
 | |
| #navigate workspaces next / previous
 | |
| bindsym $super+Ctrl+Right workspace next
 | |
| bindsym $super+Ctrl+Left workspace prev
 | |
| 
 | |
| 
 | |
| # switch to workspace
 | |
| bindsym $alt+Control+Right workspace next
 | |
| bindsym $alt+Control+Left workspace prev
 | |
| bindsym $super+1 workspace 1
 | |
| bindsym $super+2 workspace 2
 | |
| bindsym $super+3 workspace 3
 | |
| bindsym $super+4 workspace 4
 | |
| bindsym $super+5 workspace 5
 | |
| bindsym $super+6 workspace 6
 | |
| bindsym $super+7 workspace 7
 | |
| bindsym $super+8 workspace 8
 | |
| 
 | |
| # move focused container to workspace
 | |
| bindsym $super+Shift+1 move container to workspace 1
 | |
| bindsym $super+Shift+2 move container to workspace 2
 | |
| bindsym $super+Shift+3 move container to workspace 3
 | |
| bindsym $super+Shift+4 move container to workspace 4
 | |
| bindsym $super+Shift+5 move container to workspace 5
 | |
| bindsym $super+Shift+6 move container to workspace 6
 | |
| bindsym $super+Shift+7 move container to workspace 7
 | |
| bindsym $super+Shift+8 move container to workspace 8
 | |
| 
 | |
| # Move to workspace with focused container
 | |
| bindsym $alt+Shift+1 move container to workspace 1; workspace 1
 | |
| bindsym $alt+Shift+2 move container to workspace 2; workspace 2
 | |
| bindsym $alt+Shift+3 move container to workspace 3; workspace 3
 | |
| bindsym $alt+Shift+4 move container to workspace 4; workspace 4
 | |
| bindsym $alt+Shift+5 move container to workspace 5; workspace 5
 | |
| bindsym $alt+Shift+6 move container to workspace 6; workspace 6
 | |
| bindsym $alt+Shift+7 move container to workspace 7; workspace 7
 | |
| bindsym $alt+Shift+8 move container to workspace 8; workspace 8
 | |
| 
 | |
| # reload the configuration file
 | |
| bindsym $super+Shift+c reload
 | |
| 
 | |
| # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
 | |
| bindsym $super+Shift+r restart
 | |
| 
 | |
| # exit i3
 | |
| #bindsym $super+q exec "i3-nagbar -t warning -m 'Really, exit?' -b 'Yes' 'i3-msg exit'"
 | |
| 
 | |
| # resize window (you can also use the mouse for that)
 | |
| mode "resize" {
 | |
|         bindsym Left resize shrink width 5 px or 5 ppt
 | |
|         bindsym Down resize grow height 5 px or 5 ppt
 | |
|         bindsym Up resize shrink height 5 px or 5 ppt
 | |
|         bindsym Right resize grow width 5 px or 5 ppt
 | |
|         bindsym Return mode "default"
 | |
| }
 | |
| bindsym $super+r mode "resize"
 | |
| 
 | |
| # change borders
 | |
| bindsym $super+u border none
 | |
| bindsym $super+y border pixel 1
 | |
| bindsym $super+n border normal
 | |
| 
 | |
| 
 | |
| # panel
 | |
| # Start i3bar to display a workspace bar
 | |
| 	
 | |
| bar {
 | |
| 	status_command exec /usr/bin/net-speed.sh
 | |
| 	#strip_workspace_numbers yes|no
 | |
| 	#strip_workspace_name yes|no
 | |
| 	colors {
 | |
|     background #2f343f
 | |
|     statusline #FFFFFF
 | |
|     separator  #666666
 | |
| 
 | |
|     focused_workspace  #4C7899 #285577 #FFFFFF
 | |
|     active_workspace   #333333 #222222 #FFFFFF
 | |
|     inactive_workspace #333333 #222222 #888888
 | |
|     urgent_workspace   #2F343A #900000 #FFFFFF
 | |
|     #binding_mode      #2F343A #900000 #FFFFFF
 | |
|     # colour of border, background, and text    
 | |
|     }
 | |
|     
 | |
| }
 | |
| 
 | |
| # Open specific applications in floating mode
 | |
| for_window [title="alsamixer"] floating enable border pixel 1
 | |
| for_window [class="calamares"] floating enable border normal
 | |
| for_window [class="Clipgrab"] floating enable
 | |
| for_window [title="File Transfer*"] floating enable
 | |
| for_window [class="bauh"] floating enable
 | |
| for_window [class="Galculator"] floating enable border pixel 1
 | |
| for_window [class="GParted"] floating enable border normal
 | |
| for_window [title="i3_help"] floating enable sticky enable border normal
 | |
| for_window [class="Lightdm-settings"] floating enable
 | |
| for_window [class="Lxappearance"] floating enable border normal
 | |
| for_window [class="Garuda Settings Manager"] floating enable border normal
 | |
| for_window [title="MuseScore: Play Panel"] floating enable
 | |
| for_window [class="Nitrogen"] floating enable sticky enable border normal
 | |
| for_window [class="Oblogout"] fullscreen enable
 | |
| for_window [class="octopi"] floating enable
 | |
| for_window [title="About Pale Moon"] floating enable
 | |
| for_window [class="Pamac-manager"] floating enable
 | |
| for_window [class="Pamac-updater"] floating enable
 | |
| for_window [class="Pavucontrol"] floating enable
 | |
| for_window [class="Qtconfig-qt4"] floating enable border normal
 | |
| for_window [class="qt5ct"] floating enable sticky enable border normal
 | |
| for_window [class="Simple-scan"] floating enable border normal
 | |
| for_window [class="(?i)System-config-printer.py"] floating enable border normal
 | |
| for_window [class="Skype"] floating enable border normal
 | |
| for_window [class="Timeshift-gtk"] floating enable border normal
 | |
| for_window [class="(?i)virtualbox"] floating enable border normal
 | |
| for_window [class="Xfburn"] floating enable
 | |
| for_window [class="keepassxc"] floating enable
 | |
| for_window [class="garuda-welcome"] floating enable
 | |
| 
 | |
| # window rules, you can find the window class using xprop
 | |
| for_window [class=".*"] border pixel 4
 | |
| assign [class=URxvt] 1
 | |
| #assign [class=Firefox|Transmission-gtk] 2
 | |
| #assign [class=Thunar|File-roller] 3
 | |
| #assign [class=Geany|Evince|Gucharmap|Soffice|libreoffice*] 4
 | |
| #assign [class=Audacity|Vlc|mpv|Ghb|Xfburn|Gimp*|Inkscape] 5
 | |
| #assign [class=Lxappearance|System-config-printer.py|Lxtask|GParted|Pavucontrol|Exo-helper*|Lxrandr|Arandr] 6
 | |
| for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol|upgrade2ultimate.sh] floating enable
 | |
| for_window [class=URxvt|Firefox|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity] focus
 | |
| for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|Arandr] focus
 | |
| 
 | |
| # colour of border, background, text, indicator, and child_border
 | |
| client.focused              #bf616a #2f343f #d8dee8 #bf616a #d8dee8
 | |
| client.focused_inactive     #2f343f #2f343f #d8dee8 #2f343f #2f343f
 | |
| client.unfocused            #2f343f #2f343f #d8dee8 #2f343f #2f343f
 | |
| client.urgent               #2f343f #2f343f #d8dee8 #2f343f #2f343f
 | |
| client.placeholder          #2f343f #2f343f #d8dee8 #2f343f #2f343f
 | |
| client.background           #2f343f
 | |
| 
 | |
| 
 | |
| 
 | |
| #############################
 | |
| ### settings for i3-gaps: ###
 | |
| #############################
 | |
| 
 | |
| # Set inner/outer gaps
 | |
| gaps inner 5
 | |
| gaps outer 5
 | |
| 
 | |
| # Additionally, you can issue commands with the following syntax. This is useful to bind keys to changing the gap size.
 | |
| # gaps inner|outer current|all set|plus|minus <px>
 | |
| # gaps inner all set 10
 | |
| # gaps outer all plus 5
 | |
| 
 | |
| # Smart gaps (gaps used if only more than one container on the workspace)
 | |
| # smart_gaps on
 | |
| 
 | |
| # Smart borders (draw borders around container only if it is not the only container on this workspace)
 | |
| # on|no_gaps (on=always activate and no_gaps=only activate if the gap size to the edge of the screen is 0)
 | |
| smart_borders on
 | |
| 
 | |
| # Press $mod+Shift+g to enter the gap mode. Choose o or i for modifying outer/inner gaps. Press one of + / - (in-/decrement for current workspace) or 0 (remove gaps for current workspace). If you also press Shift with these keys, the change will be global for all workspaces.
 | |
| set $mode_gaps Gaps: (o) outer, (i) inner
 | |
| set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
 | |
| set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
 | |
| bindsym $super+Shift+g mode "$mode_gaps"
 | |
| 
 | |
| mode "$mode_gaps" {
 | |
|         bindsym o      mode "$mode_gaps_outer"
 | |
|         bindsym i      mode "$mode_gaps_inner"
 | |
|         bindsym Return mode "default"
 | |
|         bindsym Escape mode "default"
 | |
| }
 | |
| mode "$mode_gaps_inner" {
 | |
|         bindsym plus  gaps inner current plus 5
 | |
|         bindsym minus gaps inner current minus 5
 | |
|         bindsym 0     gaps inner current set 0
 | |
| 
 | |
|         bindsym Shift+plus  gaps inner all plus 5
 | |
|         bindsym Shift+minus gaps inner all minus 5
 | |
|         bindsym Shift+0     gaps inner all set 0
 | |
| 
 | |
|         bindsym Return mode "default"
 | |
|         bindsym Escape mode "default"
 | |
| }
 | |
| mode "$mode_gaps_outer" {
 | |
|         bindsym plus  gaps outer current plus 5
 | |
|         bindsym minus gaps outer current minus 5
 | |
|         bindsym 0     gaps outer current set 0
 | |
| 
 | |
|         bindsym Shift+plus  gaps outer all plus 5
 | |
|         bindsym Shift+minus gaps outer all minus 5
 | |
|         bindsym Shift+0     gaps outer all set 0
 | |
| 
 | |
|         bindsym Return mode "default"
 | |
|         bindsym Escape mode "default"
 | |
| }
 | |
| 
 | |
| # Set shut down, restart and locking features
 | |
| bindsym $super+0 mode "$mode_system"
 | |
| set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
 | |
| mode "$mode_system" {
 | |
|     bindsym l exec --no-startup-id i3exit lock, mode "default"
 | |
|     bindsym s exec --no-startup-id i3exit suspend, mode "default"
 | |
|     bindsym u exec --no-startup-id i3exit switch_user, mode "default"
 | |
|     bindsym e exec --no-startup-id i3exit logout, mode "default"
 | |
|     bindsym h exec --no-startup-id i3exit hibernate, mode "default"
 | |
|     bindsym r exec --no-startup-id i3exit reboot, mode "default"
 | |
|     bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
 | |
| 
 | |
|     # exit system mode: "Enter" or "Escape"
 | |
|     bindsym Return mode "default"
 | |
|     bindsym Escape mode "default"
 | |
| }
 | |
| 
 | |
| exec_always xinput set-prop 11 310 1
 | 
