305 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			305 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
| # =====GENERAL=====
 | ||
| # Main modifier; Mod1 is alt
 | ||
| set $mod Mod4
 | ||
| 
 | ||
| # Modifier for floating-related operations
 | ||
| floating_modifier $mod
 | ||
| 
 | ||
| # Layout for new workspaces; default means tiling
 | ||
| workspace_layout default
 | ||
| 
 | ||
| #do not show titlebar on windows: 
 | ||
| default_border pixel
 | ||
| 
 | ||
| # thin borders
 | ||
| hide_edge_borders both
 | ||
| 
 | ||
| # Font for window titles & bar, unless specified otherwise
 | ||
| font pango:Noto Sans Regular 8
 | ||
| 
 | ||
| 
 | ||
| # =====WINDOW MANAGEMENT=====
 | ||
| # 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
 | ||
| 
 | ||
| # enter fullscreen mode for the focused container
 | ||
| bindsym $mod+f fullscreen toggle
 | ||
| 
 | ||
| # kill focused window
 | ||
| bindsym $mod+x kill
 | ||
| 
 | ||
| # toggle tiling / floating
 | ||
| bindsym $mod+Shift+space floating toggle
 | ||
| 
 | ||
| # change focus between tiling / floating windows
 | ||
| bindsym $mod+space focus mode_toggle
 | ||
| 
 | ||
| # Resize focused window
 | ||
| mode "resize" {
 | ||
|     bindsym h resize shrink width 10 px or 10 ppt
 | ||
|     bindsym j resize shrink height 10 px or 10 ppt
 | ||
|     bindsym k resize grow height 10 px or 10 ppt
 | ||
|     bindsym l resize grow width 10 px or 10 ppt
 | ||
| 
 | ||
|     bindsym Escape mode "default"
 | ||
| }
 | ||
| 
 | ||
| bindsym $mod+r mode "resize"
 | ||
| 
 | ||
| #resize floating windows with mouse scroll:
 | ||
| bindsym --whole-window --border $mod+button4 resize shrink height 5 px or 5 ppt
 | ||
| bindsym --whole-window --border $mod+button5 resize grow height 5 px or 5 ppt
 | ||
| bindsym --whole-window --border $mod+shift+button4 resize shrink width 5 px or 5 ppt
 | ||
| bindsym --whole-window --border $mod+shift+button5 resize grow width 5 px or 5 ppt
 | ||
| 
 | ||
| 
 | ||
| # =====WORKSPACES=====
 | ||
| set $ws01 ""
 | ||
| set $ws02 ""
 | ||
| set $ws03 ""
 | ||
| set $ws04 ""
 | ||
| set $ws05 ""
 | ||
| set $ws11 "α"
 | ||
| set $ws12 "β"
 | ||
| set $ws13 "γ"
 | ||
| set $ws14 "δ"
 | ||
| set $ws15 "ε"
 | ||
| set $ws21 "2:1"
 | ||
| set $ws22 "2:2"
 | ||
| set $ws23 "2:3"
 | ||
| set $ws24 "2:4"
 | ||
| set $ws25 "2:5"
 | ||
| 
 | ||
| workspace $ws01 output primary
 | ||
| workspace $ws02 output primary
 | ||
| workspace $ws03 output primary
 | ||
| workspace $ws04 output primary
 | ||
| workspace $ws05 output primary
 | ||
| workspace $ws11 output eDP-1-1
 | ||
| workspace $ws12 output eDP-1-1
 | ||
| workspace $ws13 output eDP-1-1
 | ||
| workspace $ws14 output eDP-1-1
 | ||
| workspace $ws15 output eDP-1-1
 | ||
| workspace $ws21 output HDMI-0
 | ||
| workspace $ws22 output HDMI-0
 | ||
| workspace $ws23 output HDMI-0
 | ||
| workspace $ws24 output HDMI-0
 | ||
| workspace $ws25 output HDMI-0
 | ||
| 
 | ||
| # switch to main workspaces
 | ||
| bindsym $mod+y workspace $ws01
 | ||
| bindsym $mod+u workspace $ws02
 | ||
| bindsym $mod+i workspace $ws03
 | ||
| bindsym $mod+o workspace $ws04
 | ||
| bindsym $mod+p workspace $ws05
 | ||
| 
 | ||
| # move focused container to main workspace
 | ||
| bindsym $mod+Shift+y move container to workspace $ws01
 | ||
| bindsym $mod+Shift+u move container to workspace $ws02
 | ||
| bindsym $mod+Shift+i move container to workspace $ws03
 | ||
| bindsym $mod+Shift+o move container to workspace $ws04
 | ||
| bindsym $mod+Shift+p move container to workspace $ws05
 | ||
| 
 | ||
| # Manage other workspaces
 | ||
| mode "eDP-1-1" {
 | ||
|     # switch to workspace
 | ||
|     bindsym y workspace $ws11
 | ||
|     bindsym u workspace $ws12
 | ||
|     bindsym i workspace $ws13
 | ||
|     bindsym o workspace $ws14
 | ||
|     bindsym p workspace $ws15
 | ||
| 
 | ||
|     # move focused container to workspace
 | ||
|     bindsym Shift+y move container to workspace $ws11
 | ||
|     bindsym Shift+u move container to workspace $ws12
 | ||
|     bindsym Shift+i move container to workspace $ws13
 | ||
|     bindsym Shift+o move container to workspace $ws14
 | ||
|     bindsym Shift+p move container to workspace $ws15
 | ||
| 
 | ||
|     # Go to HDMI-0 mode
 | ||
|     bindsym e mode "HDMI-0"
 | ||
| 
 | ||
|     # Go back to normal mode
 | ||
|     bindsym Escape mode "default"
 | ||
| }
 | ||
| 
 | ||
| mode "HDMI-0" {
 | ||
|     # switch to workspace
 | ||
|     bindsym y workspace $ws21
 | ||
|     bindsym u workspace $ws22
 | ||
|     bindsym i workspace $ws23
 | ||
|     bindsym o workspace $ws24
 | ||
|     bindsym p workspace $ws25
 | ||
| 
 | ||
|     # move focused container to workspace
 | ||
|     bindsym Shift+y move container to workspace $ws21
 | ||
|     bindsym Shift+u move container to workspace $ws22
 | ||
|     bindsym Shift+i move container to workspace $ws23
 | ||
|     bindsym Shift+o move container to workspace $ws24
 | ||
|     bindsym Shift+p move container to workspace $ws25
 | ||
| 
 | ||
|     # Go to eDP-1-1 mode
 | ||
|     bindsym e mode "eDP-1-1"
 | ||
| 
 | ||
|     # Go back to normal mode
 | ||
|     bindsym Escape mode "default"
 | ||
| }
 | ||
| 
 | ||
| bindsym $mod+e mode "eDP-1-1"
 | ||
| 
 | ||
| # Configuration mode
 | ||
| mode "config" {
 | ||
|     # Switch split mode
 | ||
|     bindsym j split vertical; mode "default"
 | ||
|     bindsym h split horizontal; mode "default"
 | ||
|     bindsym k split vertical; mode "default"
 | ||
|     bindsym l split horizontal; mode "default"
 | ||
| 
 | ||
|     # Switch layout
 | ||
|     bindsym y layout stacking; mode "default"
 | ||
|     bindsym u layout tabbed; mode "default"
 | ||
|     bindsym i layout toggle split; mode "default"
 | ||
| 
 | ||
|     # Go back to normal mode
 | ||
|     bindsym Escape mode "default"
 | ||
| }
 | ||
| 
 | ||
| bindsym $mod+s mode "config"
 | ||
| 
 | ||
| # Assign certain programs to workspaces
 | ||
| # for_window [class=Xfce4-terminal] focus
 | ||
| # assign [class="(?i)firefox"] $ws02
 | ||
| # for_window [class=(?i)firefox] focus
 | ||
| # assign [class="Thunar"] $ws03
 | ||
| # for_window [class=Thunar] focus
 | ||
| # assign [class="Thunderbird"] $ws04
 | ||
| # for_window [class=Thunderbird] focus
 | ||
| # assign [class="TelegramDesktop"] $ws05
 | ||
| # for_window [class=TelegramDesktop] focus
 | ||
| 
 | ||
| 
 | ||
| # =====OTHER KEYBINDINGS=====
 | ||
| # reload the configuration file
 | ||
| bindsym $mod+Shift+c reload
 | ||
| 
 | ||
| # Restart i3 in-place
 | ||
| bindsym $mod+Shift+r restart
 | ||
| 
 | ||
| # exit i3 (logs you out of your X session)
 | ||
| bindsym $mod+Shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
 | ||
| 
 | ||
| # Volume
 | ||
| bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks
 | ||
| bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks
 | ||
| bindsym $mod+XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ && pkill -RTMIN+1 i3blocks
 | ||
| bindsym $mod+XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- && pkill -RTMIN+1 i3blocks
 | ||
| bindsym XF86AudioMute exec amixer -D pulse set Master toggle
 | ||
| 
 | ||
| # Foobar2000 controls
 | ||
| bindsym F8 exec --no-startup-id wine ~/.wine/drive_c/users/jjr/Desktop/foobar2000/foobar2000.exe /playpause
 | ||
| 
 | ||
| # Backlight
 | ||
| bindsym XF86MonBrightnessUp exec brightnessctl --device='intel_backlight' set +10%
 | ||
| bindsym XF86MonBrightnessDown exec brightnessctl --device='intel_backlight' set 10%-
 | ||
| 
 | ||
| # Keyboard brightness
 | ||
| bindsym XF86KbdBrightnessUp exec brightnessctl --device='smc::kbd_backlight' set +10%
 | ||
| bindsym XF86KbdBrightnessDown exec brightnessctl --device='smc::kbd_backlight' set 10%-
 | ||
| 
 | ||
| # Screenshot
 | ||
| bindsym Print exec "scrot ~/%Y-%m-%d-%T-screenshot.png"
 | ||
| 
 | ||
| # Show shutdown menu
 | ||
| bindsym $mod+Escape exec ~/.config/i3/scripts/shutdown_menu -p rofi -c
 | ||
| 
 | ||
| 
 | ||
| # =====APPLICATIONS=====
 | ||
| # Launch applications
 | ||
| # start a terminal
 | ||
| bindsym $mod+Return exec --no-startup-id st
 | ||
| # Launch output device configuration
 | ||
| bindsym $mod+m exec --no-startup-id pavucontrol -t 3
 | ||
| # Open dmenu
 | ||
| bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
 | ||
| # Open Galculator
 | ||
| bindsym XF86Calculator exec --no-startup-id galculator
 | ||
| 
 | ||
| 
 | ||
| # =====AUTOSTART APPLICATIONS=====
 | ||
| #get auth work with polkit-gnome
 | ||
| exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
 | ||
| # Run setup script
 | ||
| exec --no-startup-id ~/.config/i3/startup.sh
 | ||
| # Bluetooth applet
 | ||
| exec --no-startup-id blueman-tray
 | ||
| # Nextcloud sync
 | ||
| exec --no-startup-id nextcloud
 | ||
| # Compositor
 | ||
| exec --no-startup-id picom --config ~/.config/picom.conf --experimental-backends
 | ||
| # Network Manager applet
 | ||
| exec --no-startup-id nm-applet
 | ||
| #set powersavings for display
 | ||
| exec --no-startup-id xset s 480 dpms 600 600 600
 | ||
| # Desktop notifications
 | ||
| exec --no-startup-id /usr/bin/dunst
 | ||
| # Mail notifications
 | ||
| # exec --no-startup-id thunderbird
 | ||
| # Joplin sync
 | ||
| exec --no-startup-id joplin-desktop
 | ||
| exec --no-startup-id nheko
 | ||
| exec --no-startup-id com.gitlab.newsflash --headless
 | ||
| 
 | ||
| 
 | ||
| # =====FLOAT RULES=====
 | ||
| for_window [class="Yad" instance="yad"] floating enable
 | ||
| for_window [class="Galculator" instance="galculator"] floating enable
 | ||
| for_window [class="Xsane" instance="xsane"] floating enable
 | ||
| for_window [class="Pavucontrol" instance="pavucontrol"] floating enable
 | ||
| for_window [class="qt5ct" instance="qt5ct"] floating enable
 | ||
| for_window [class="Blueberry.py" instance="blueberry.py"] floating enable
 | ||
| for_window [class="Bluetooth-sendto" instance="bluetooth-sendto"] floating enable
 | ||
| for_window [class="Gufw.py" instance="gufw.py"] floating enable
 | ||
| for_window [class="Blueman-manager" instance="blueman-manager"] floating enable
 | ||
| 
 | ||
| 
 | ||
| # =====COLORS=====
 | ||
| set $bg-color            #2f343f
 | ||
| set $inactive-bg-color   #2f343f
 | ||
| set $text-color          #f3f4f5
 | ||
| set $inactive-text-color #676e7d
 | ||
| set $urgent-bg-color     #e53935
 | ||
| set $indicator-color     #a0a0a0
 | ||
| 
 | ||
| # set window colors
 | ||
| #                       border             background         text                 indicator
 | ||
| client.focused          $bg-color          $bg-color          $text-color          $indicator-color
 | ||
| client.unfocused        $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
 | ||
| client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
 | ||
| client.urgent           $urgent-bg-color   $urgent-bg-color   $text-color          $indicator-color
 | ||
| 
 | ||
| 
 | ||
| # =====STATUS BAR=====
 | ||
| bar {
 | ||
|     status_command i3blocks -c ~/.config/i3/i3blocks.conf 
 | ||
|     position bottom
 | ||
|     tray_output primary
 | ||
|     colors {
 | ||
|       separator          #666666
 | ||
|         background         #222222
 | ||
|         statusline         #dddddd
 | ||
|         focused_workspace  #0088CC #0088CC #ffffff
 | ||
|         active_workspace   #333333 #333333 #ffffff
 | ||
|         inactive_workspace #333333 #333333 #888888
 | ||
|         urgent_workspace   #2f343a #900000 #ffffff
 | ||
|     }
 | ||
| }
 |