Sway config in multiple files
This commit is contained in:
		
							parent
							
								
									6925eb624d
								
							
						
					
					
						commit
						6a9f632787
					
				
					 5 changed files with 332 additions and 344 deletions
				
			
		
							
								
								
									
										19
									
								
								config/sway/autostart
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/sway/autostart
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| #  | ||||
| # ~/.config/sway/autostart | ||||
| # List of applications to autostart | ||||
| # | ||||
| 
 | ||||
| # Idle script | ||||
| exec_always "~/.scripts/idle.sh" | ||||
| 
 | ||||
| # Gamma and brightness | ||||
| exec clight &> /dev/null | ||||
| 
 | ||||
| # Notification manager | ||||
| exec dunst -verbosity crit | ||||
| 
 | ||||
| # Fix [Slow launch for some GTK apps](https://github.com/swaywm/sway/issues/5732) | ||||
| exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK | ||||
| 
 | ||||
| # Fix JetBrain IDE's showing properly | ||||
| exec wmname LG3D | ||||
							
								
								
									
										168
									
								
								config/sway/commands
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								config/sway/commands
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,168 @@ | |||
| #  | ||||
| # ~/.config/sway/commands | ||||
| # Keybinds for sway | ||||
| #  | ||||
| 
 | ||||
| # Variables | ||||
| set { | ||||
|     $alt    Mod1 | ||||
|     $flag   Mod4 | ||||
|     $term   alacritty | ||||
| } | ||||
| 
 | ||||
| # Focus | ||||
| bindsym { | ||||
|     $flag+h     focus left | ||||
|     $flag+j     focus down | ||||
|     $flag+k     focus up | ||||
|     $flag+l     focus right | ||||
| 
 | ||||
|     $flag+Left  focus left | ||||
|     $flag+Down  focus down | ||||
|     $flag+Up    focus up | ||||
|     $flag+Right focus right | ||||
|      | ||||
|     $flag+m     focus mode_toggle | ||||
|     $flag+p     focus parent | ||||
| } | ||||
| 
 | ||||
| # Move windows | ||||
| bindsym { | ||||
|     $flag+Shift+h       move left | ||||
|     $flag+Shift+j       move down | ||||
|     $flag+Shift+k       move up | ||||
|     $flag+Shift+l       move right | ||||
| 
 | ||||
|     $flag+Shift+Left    move left | ||||
|     $flag+Shift+Down    move down | ||||
|     $flag+Shift+Up      move up | ||||
|     $flag+Shift+Right   move right | ||||
|      | ||||
|     $flag+Next          move scratchpad | ||||
|     $flag+Prior         scratchpad show | ||||
| } | ||||
| 
 | ||||
| # Layouts | ||||
| bindsym { | ||||
|     $flag+w layout toggle split | ||||
|     $flag+x layout tabbed | ||||
|     $flag+c split h | ||||
|     $flag+v split v | ||||
| 
 | ||||
|     $flag+f         floating enable, border normal 1 | ||||
|     $flag+Shift+f   floating disable, border pixel 1 | ||||
|      | ||||
|     $alt+Next       border pixel 1      # Show window title | ||||
|     $alt+Prior      border normal 1     # Hide window title | ||||
| 
 | ||||
|     $flag+s         sticky toggle | ||||
| } | ||||
| 
 | ||||
| # Workspaces | ||||
| set { | ||||
|     $ws1 "1:1" | ||||
|     $ws2 "2:2" | ||||
|     $ws3 "3:3" | ||||
|     $ws4 "4:4" | ||||
|     $ws5 "5:5" | ||||
|     $ws6 "6:6" | ||||
|     $ws7 "7:7" | ||||
|     $ws8 "8:8" | ||||
|     $ws9 "9:9" | ||||
|     $ws10 "10:10" | ||||
|     $ws0 "0:¯\_(ツ)_/¯" | ||||
| } | ||||
| 
 | ||||
| workspace $ws0 # Move to this workspace on startup | ||||
| 
 | ||||
| bindsym { | ||||
|     $flag+ampersand     workspace $ws1 | ||||
|     $flag+eacute        workspace $ws2 | ||||
|     $flag+quotedbl      workspace $ws3 | ||||
|     $flag+apostrophe    workspace $ws4 | ||||
|     $flag+parenleft     workspace $ws5 | ||||
|     $flag+section       workspace $ws6 | ||||
|     $flag+egrave        workspace $ws7 | ||||
|     $flag+exclam        workspace $ws8 | ||||
|     $flag+ccedilla      workspace $ws9 | ||||
|     $flag+agrave        workspace $ws10 | ||||
|     $flag+parenright    workspace $ws0 | ||||
| 
 | ||||
|     $flag+Shift+ampersand   move container to workspace $ws1, workspace $ws1 | ||||
|     $flag+Shift+eacute      move container to workspace $ws2, workspace $ws2 | ||||
|     $flag+Shift+quotedbl    move container to workspace $ws3, workspace $ws3 | ||||
|     $flag+Shift+apostrophe  move container to workspace $ws4, workspace $ws4 | ||||
|     $flag+Shift+parenleft   move container to workspace $ws5, workspace $ws5 | ||||
|     $flag+Shift+section     move container to workspace $ws6, workspace $ws6 | ||||
|     $flag+Shift+egrave      move container to workspace $ws7, workspace $ws7 | ||||
|     $flag+Shift+exclam      move container to workspace $ws8, workspace $ws8 | ||||
|     $flag+Shift+ccedilla    move container to workspace $ws9, workspace $ws9 | ||||
|     $flag+Shift+agrave      move container to workspace $ws10, workspace $ws10 | ||||
|     $flag+Shift+parenright  move container to workspace $ws0, workspace $ws0 | ||||
| 
 | ||||
|     $flag+Control+h focus output 'eDP-1' | ||||
|     $flag+Control+j workspace prev_on_output | ||||
|     $flag+Control+k workspace next_on_output | ||||
|     $flag+Control+l focus output 'HDMI-A-1' | ||||
| 
 | ||||
|     $flag+Control+Down  focus output 'eDP-1' | ||||
|     $flag+Control+Right workspace prev_on_output | ||||
|     $flag+Control+Left  workspace next_on_output | ||||
|     $flag+Control+Up    focus output 'HDMI-A-1' | ||||
|     | ||||
|     $flag+Control+Shift+h   \ | ||||
|         move container to output 'eDP-1', focus output 'eDP-1' | ||||
|     $flag+Control+Shift+j   \ | ||||
|         move container to workspace prev_on_output, workspace prev_on_output | ||||
|     $flag+Control+Shift+k   \ | ||||
|         move container to workspace next_on_output, workspace next_on_output | ||||
|     $flag+Control+Shift+l   \ | ||||
|         move container to output 'HDMI-A-1', focus output 'HDMI-A-1' | ||||
|      | ||||
|     $flag+Control+Shift+Down    \ | ||||
|         move container to output 'eDP-1', focus output 'eDP-1' | ||||
|     $flag+Control+Shift+Left    \ | ||||
|         move container to workspace prev_on_output, workspace prev_on_output | ||||
|     $flag+Control+Shift+Right      \ | ||||
|         move container to workspace next_on_output, workspace next_on_output | ||||
|     $flag+Control+Shift+Up   \ | ||||
|         move container to output 'HDMI-A-1', focus output 'HDMI-A-1' | ||||
| } | ||||
| 
 | ||||
| # System | ||||
| bindsym --locked { | ||||
|     # Brightness | ||||
|     XF86MonBrightnessDown       exec brightnessctl -e s 5%- && $notify -b | ||||
|     XF86MonBrightnessUp         exec brightnessctl -e s +5% && $notify -b | ||||
| 
 | ||||
|     # Volume control | ||||
|     XF86AudioRaiseVolume        exec pulsemixer --change-volume +2 --max-volume 100 && $notify -v | ||||
|     XF86AudioLowerVolume        exec pulsemixer --change-volume -2 && $notify -v | ||||
|     XF86AudioMute               exec pulsemixer --toggle-mute && $notify -v | ||||
|     XF86AudioMicMute            exec pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||||
| 
 | ||||
|     # Media control | ||||
|     F7                          exec playerctl play-pause | ||||
|     Shift+XF86AudioLowerVolume  exec playerctl previous | ||||
|     Shift+XF86AudioRaiseVolume  exec playerctl next | ||||
| } | ||||
| 
 | ||||
| # Special commands | ||||
| set $fzf ~/.scripts/fzf-jump | ||||
| bindsym { | ||||
|     # Reload sway | ||||
|     $alt+Shift+r    reload | ||||
| 
 | ||||
|     # Dialog to exit sway | ||||
|     $alt+Shift+e    exec swaynag -t warning -m 'Do you really want to exit sway?' \ | ||||
|         -B 'Yes, exit sway' 'swaymsg exit'   | ||||
| 
 | ||||
|     $flag+q kill                    # Kill focused window | ||||
|     $flag+Return exec $term         # Start a terminal | ||||
|     $flag+Delete exec swaylock      # Lockscreen | ||||
| 
 | ||||
|     # Start application launcher | ||||
|     $alt+space  exec $term --title 'FZF-Jump' -e $fzf/launcher.sh | ||||
|     # Window switcher | ||||
|     $alt+Tab    exec $term --title 'FZF-Jump' -e $fzf/standalone.sh $fzf/modules/windows.sh $fzf/modules/workspaces.sh | ||||
| } | ||||
|  | @ -1,13 +1,18 @@ | |||
| # | ||||
| # .config/sway/config | ||||
| # | ||||
| # Personal config for sway | ||||
| # Requires noto-fonts-cjk | ||||
| # | ||||
| 
 | ||||
| # ========= | ||||
| # Autostart | ||||
| # ========= | ||||
| # Import other config files | ||||
| include { | ||||
|     autostart | ||||
|     commands | ||||
|     modes | ||||
|     style | ||||
| } | ||||
| 
 | ||||
| # Input | ||||
| input type:keyboard { | ||||
|     xkb_layout  "be" | ||||
| } | ||||
|  | @ -19,7 +24,9 @@ input 2:7:SynPS/2_Synaptics_TouchPad { | |||
|     tap                 enabled | ||||
| } | ||||
| 
 | ||||
| # Set background to whatever file is named bg at the moment | ||||
| seat seat0 hide_cursor when-typing enable | ||||
| 
 | ||||
| # Output | ||||
| output * { | ||||
|     bg "~/Pictures/wallpapers/bg.*" fill | ||||
| } | ||||
|  | @ -29,340 +36,14 @@ output 'Dell Inc. DELL P2214H 29C2937M4YTL' { | |||
|     transform   270  | ||||
| } | ||||
| 
 | ||||
| # Hide the cursor when typing | ||||
| seat seat0 { | ||||
|     hide_cursor when-typing enable | ||||
| } | ||||
| 
 | ||||
| exec_always "~/.scripts/idle.sh" | ||||
| 
 | ||||
| # Notification manager | ||||
| exec dunst -verbosity crit | ||||
| 
 | ||||
| # Set warm colours at night | ||||
| exec clight &> /dev/null | ||||
| 
 | ||||
| xwayland disable | ||||
| # I will keep using xwayland because it allows backwards compatibilty for a ton of apps that I use | ||||
| # on a daily basis. It can be expensive on the memory sometimes but argh.  | ||||
| 
 | ||||
| # Focus | ||||
| focus_follows_mouse no | ||||
| 
 | ||||
| # ========= | ||||
| # Variables | ||||
| # ========= | ||||
| 
 | ||||
| set $alt Mod1 | ||||
| set $winkey Mod4 | ||||
| set $term alacritty | ||||
| 
 | ||||
| set $notify exec "~/.scripts/notify.sh" | ||||
| 
 | ||||
| # ================ | ||||
| # Window shortcuts | ||||
| # ================ | ||||
| 
 | ||||
| # Change focus | ||||
| bindsym $winkey+Left focus left | ||||
| bindsym $winkey+Down focus down | ||||
| bindsym $winkey+Up focus up | ||||
| bindsym $winkey+Right focus right | ||||
| 
 | ||||
| # Alternative keys | ||||
| bindsym $winkey+h focus left | ||||
| bindsym $winkey+j focus down | ||||
| bindsym $winkey+k focus up | ||||
| bindsym $winkey+l focus right | ||||
| 
 | ||||
| # Move focused window | ||||
| bindsym $winkey+Shift+Left move left | ||||
| bindsym $winkey+Shift+Down move down | ||||
| bindsym $winkey+Shift+Up move up | ||||
| bindsym $winkey+Shift+Right move right | ||||
| 
 | ||||
| # Alternative keys | ||||
| bindsym $winkey+Shift+h move left | ||||
| bindsym $winkey+Shift+j move down | ||||
| bindsym $winkey+Shift+k move up | ||||
| bindsym $winkey+Shift+l move right | ||||
| 
 | ||||
| # Layouts | ||||
| bindsym $winkey+w layout toggle split | ||||
| bindsym $winkey+x layout tabbed | ||||
| bindsym $winkey+c split h | ||||
| bindsym $winkey+v split v | ||||
| 
 | ||||
| bindsym $winkey+a focus parent | ||||
| bindsym $winkey+b focus mode_toggle | ||||
| 
 | ||||
| bindsym $winkey+f floating enable, border normal 2 | ||||
| bindsym $winkey+Shift+f floating disable, border pixel 2 | ||||
| bindsym $winkey+p sticky toggle | ||||
| 
 | ||||
| bindsym $winkey+Next move scratchpad | ||||
| bindsym $winkey+Prior scratchpad show | ||||
| 
 | ||||
| # Resize window menu | ||||
| mode "resize" { | ||||
|     bindsym l resize grow width 10 px or 10 ppt | ||||
|     bindsym k resize grow height 10 px or 10 ppt | ||||
|     bindsym h resize shrink width 10 px or 10 ppt | ||||
|     bindsym j resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	bindsym Shift+l resize grow width 50 px or 50 ppt | ||||
| 	bindsym Shift+k resize grow height 50 px or 50 ppt | ||||
| 	bindsym Shift+h resize shrink width 50 px or 50 ppt | ||||
| 	bindsym Shift+j resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
|     # Alternative keys | ||||
|     bindsym Up resize grow height 10 px or 10 ppt | ||||
|     bindsym Right resize grow width 10 px or 10 ppt | ||||
|     bindsym Left resize shrink width 10 px or 10 ppt | ||||
|     bindsym Down resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	bindsym Shift+Up resize grow height 50 px or 50 ppt | ||||
| 	bindsym Shift+Right resize grow width 50 px or 50 ppt | ||||
| 	bindsym Shift+Left resize shrink width 50 px or 50 ppt | ||||
| 	bindsym Shift+Down resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
| 	# Window movement | ||||
| 	bindsym $winkey+h move left | ||||
| 	bindsym $winkey+j move down | ||||
| 	bindsym $winkey+l move right | ||||
| 	bindsym $winkey+k move up | ||||
| 
 | ||||
| 	# Alternative keys | ||||
| 	bindsym $winkey+Left move left | ||||
| 	bindsym $winkey+Down move down | ||||
| 	bindsym $winkey+Right move right | ||||
| 	bindsym $winkey+Up move up | ||||
| 
 | ||||
|     # Go back | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
|     bindsym $winkey+r mode "default" | ||||
| } | ||||
| 
 | ||||
| bindsym $winkey+r mode "resize" | ||||
| 
 | ||||
| # ========== | ||||
| # Workspaces | ||||
| # ========== | ||||
| 
 | ||||
| set $ws0 0:¯\_(ツ)_/¯ | ||||
| 
 | ||||
| # Move to this workspace on startup | ||||
| workspace $ws0  | ||||
| 
 | ||||
| # Define names for default workspaces for which we configure key bindings later on. | ||||
| set $ws1 "1" | ||||
| set $ws2 "2" | ||||
| set $ws3 "3" | ||||
| set $ws4 "4" | ||||
| set $ws5 "5" | ||||
| set $ws6 "6" | ||||
| set $ws7 "7" | ||||
| set $ws8 "8" | ||||
| set $ws9 "9" | ||||
| set $ws10 "10" | ||||
| 
 | ||||
| # switch to workspace | ||||
| bindsym $winkey+ampersand workspace number $ws1 | ||||
| bindsym $winkey+eacute workspace number $ws2 | ||||
| bindsym $winkey+quotedbl workspace number $ws3 | ||||
| bindsym $winkey+apostrophe workspace number $ws4 | ||||
| bindsym $winkey+parenleft workspace number $ws5 | ||||
| bindsym $winkey+section workspace number $ws6 | ||||
| bindsym $winkey+egrave workspace number $ws7 | ||||
| bindsym $winkey+exclam workspace number $ws8 | ||||
| bindsym $winkey+ccedilla workspace number $ws9 | ||||
| bindsym $winkey+agrave workspace number $ws10 | ||||
| bindsym $winkey+parenright workspace $ws0 | ||||
| 
 | ||||
| bindsym $winkey+Control+Right workspace next_on_output | ||||
| bindsym $winkey+Control+Left workspace prev_on_output | ||||
| bindsym $winkey+Control+Up focus output 'HDMI-A-1' | ||||
| bindsym $winkey+Control+Down focus output 'eDP-1' | ||||
| 
 | ||||
| # Alternative keys | ||||
| bindsym $winkey+Control+j workspace next_on_output | ||||
| bindsym $winkey+Control+k workspace prev_on_output | ||||
| bindsym $winkey+Control+l focus output 'HDMI-A-1' | ||||
| bindsym $winkey+Control+h focus output 'eDP-1' | ||||
| 
 | ||||
| # move focused container to workspace | ||||
| bindsym $winkey+Shift+ampersand move container to workspace number $ws1; \ | ||||
|        workspace number $ws1 | ||||
| bindsym $winkey+Shift+eacute move container to workspace number $ws2; \ | ||||
|        workspace number $ws2 | ||||
| bindsym $winkey+Shift+quotedbl move container to workspace number $ws3; \ | ||||
|        workspace number $ws3 | ||||
| bindsym $winkey+Shift+apostrophe move container to workspace number $ws4; \ | ||||
|        workspace number $ws4 | ||||
| bindsym $winkey+Shift+5 move container to workspace number $ws5; \ | ||||
|        workspace number $ws5 | ||||
| bindsym $winkey+Shift+section move container to workspace number $ws6; \ | ||||
|        workspace number $ws6 | ||||
| bindsym $winkey+Shift+egrave move container to workspace number $ws7; \ | ||||
|        workspace number $ws7 | ||||
| bindsym $winkey+Shift+exclam move container to workspace number $ws8; \ | ||||
|        workspace number $ws8 | ||||
| bindsym $winkey+Shift+ccedilla move container to workspace number $ws9; \ | ||||
|        workspace number $ws9 | ||||
| bindsym $winkey+Shift+agrave move container to workspace number $ws10; \ | ||||
|        workspace number $ws10 | ||||
| bindsym $winkey+Shift+parenright move container to workspace $ws0; \ | ||||
|        workspace $ws0 | ||||
| 
 | ||||
| bindsym $winkey+Control+Shift+Right move container to workspace next; workspace next | ||||
| bindsym $winkey+Control+Shift+Left move container to workspace prev; workspace prev | ||||
| bindsym $winkey+Control+Shift+Up move container to output 'HDMI-A-1'; focus output 'HDMI-A-1' | ||||
| bindsym $winkey+Control+Shift+Down move container to output 'eDP-1'; focus output 'eDP-1' | ||||
| 
 | ||||
| # Alternative keys | ||||
| bindsym $winkey+Control+Shift+j move container to workspace next_on_output; \ | ||||
|     workspace next_on_output | ||||
| bindsym $winkey+Control+Shift+k move container to workspace prev_on_output; \ | ||||
|     workspace prev_on_output | ||||
| bindsym $winkey+Control+Shift+l move container to output 'HDMI-A-1'; \ | ||||
|     focus output 'HDMI-A-1' | ||||
| bindsym $winkey+Control+Shift+h move container to output 'eDP-1'; \ | ||||
|     focus output 'eDP-1' | ||||
| 
 | ||||
| # ============== | ||||
| # System Control | ||||
| # ============== | ||||
| 
 | ||||
| bindsym $alt+Shift+r reload | ||||
| bindsym $alt+Shift+e exec swaynag -t warning -m 'Do you really want to exit sway?' -B 'Yes, exit sway' 'swaymsg exit'   | ||||
| 
 | ||||
| # Kill focused window | ||||
| bindsym $winkey+q kill | ||||
| 
 | ||||
| # Start a terminal | ||||
| bindsym $winkey+Return exec alacritty | ||||
| 
 | ||||
| set $fzfj-source ~/.scripts/fzf-jump | ||||
| # Start application launcher | ||||
| bindsym $alt+space exec alacritty --title 'FZF-Jump' -e $fzfj-source/launcher.sh | ||||
| bindsym $alt+Tab exec alacritty --title 'FZF-Jump' -e $fzfj-source/standalone.sh $fzfj-source/modules/windows.sh $fzfj-source/modules/workspaces.sh | ||||
| 
 | ||||
| # Brightness | ||||
| bindsym --locked XF86MonBrightnessDown exec brightnessctl -e s 5%- && $notify -b | ||||
| bindsym --locked XF86MonBrightnessUp exec brightnessctl -e s +5% && $notify -b | ||||
| 
 | ||||
| # Media control | ||||
| bindsym F7 exec --no-startup-id playerctl play-pause | ||||
| bindsym Shift+XF86AudioLowerVolume exec --no-startup-id playerctl previous | ||||
| bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id playerctl next | ||||
| 
 | ||||
| # Volume control | ||||
| bindsym XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +2 --max-volume 100 && $notify -v | ||||
| bindsym XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -2 && $notify -v | ||||
| bindsym XF86AudioMute exec --no-startup-id pulsemixer --toggle-mute && $notify -v | ||||
| bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||||
| 
 | ||||
| # Lockscreen | ||||
| bindsym $winkey+Delete exec --no-startup-id swaylock | ||||
| 
 | ||||
| # ===== | ||||
| # Modes | ||||
| # ===== | ||||
| 
 | ||||
| # System actions | ||||
| set $mode_system System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown | ||||
| mode "$mode_system" { | ||||
|     bindsym l exec --no-startup-id swaylock; mode "default" | ||||
|     bindsym s exec --no-startup-id systemctl suspend; mode "default" | ||||
|     bindsym h exec --no-startup-id systemctl hibernate; mode "default" | ||||
|     bindsym r exec --no-startup-id systemctl reboot; mode "default" | ||||
|     bindsym Shift+s exec --no-startup-id systemctl poweroff -i; mode "default" | ||||
| 
 | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
| } | ||||
| bindsym Control+$alt+Delete mode "$mode_system" | ||||
| 
 | ||||
| # Screenshots | ||||
| set $mode_screenshot Screenshot of (a)rea, current (w)indow, (s)creen - Shift to save | ||||
| set $save_format Pictures/Screenshots/$(date +%F)-$(date +%T).png | ||||
| mode "$mode_screenshot" { | ||||
|     bindsym a exec grimshot copy area; mode "default" | ||||
|     bindsym w exec grimshot --notify copy active; mode "default" | ||||
|     bindsym s exec grimshot --notify copy screen; mode "default" | ||||
| 
 | ||||
|     bindsym Shift+a exec grimshot --notify save area $save_format; mode "default" | ||||
|     bindsym Shift+w exec grimshot --notify save active $save_format; mode "default" | ||||
|     bindsym Shift+s exec grimshot --notify save screen $save_format; mode "default" | ||||
| 
 | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
| } | ||||
| bindsym Print mode "$mode_screenshot" | ||||
| 
 | ||||
| # Some preferences | ||||
| set $mode_preferences Toggle (s)unset, (n)otifications, (f)ocus | ||||
| mode "$mode_preferences" { | ||||
|     bindsym s exec "~/.scripts/wlsunset.sh"; mode "default" | ||||
|     bindsym n exec "~/.scripts/dnd.sh"; mode "default" | ||||
|     bindsym f exec "dunstctl set-paused toggle"; mode "default" | ||||
| 
 | ||||
|     bindsym Return mode "default" | ||||
|     bindsym Escape mode "default" | ||||
| } | ||||
| bindsym $alt+end mode "$mode_preferences" | ||||
| 
 | ||||
| # ======= | ||||
| # Styling | ||||
| # ======= | ||||
| 
 | ||||
| # Decrease the height of the window bar thing.  | ||||
| font pango:monospace 1 | ||||
| 
 | ||||
| bar { | ||||
|     swaybar_command /usr/bin/waybar | ||||
|     mode hide | ||||
| } | ||||
| 
 | ||||
| default_border pixel 2 | ||||
| default_floating_border normal 2 | ||||
| hide_edge_borders both | ||||
| smart_borders on | ||||
| 
 | ||||
| # Toggle Show title | ||||
| bindsym $alt+Next border pixel 2 | ||||
| bindsym $alt+Prior border normal 2 | ||||
| 
 | ||||
| # Mimic no titles | ||||
| # Classi    			border	backgr	text	indic.  hild_border | ||||
| client.focused          #000000 #00897b #00897b #00897b #000000 | ||||
| client.focused_inactive #000000 #222222 #222222 #222222 #000000 | ||||
| client.unfocused        #000000 #222222 #222222 #222222 #000000 | ||||
| client.urgent           #ff0000 #ff0000 #ff0000 #ff0000 #ff0000 | ||||
| 
 | ||||
| exec gsettings set org.gnome.desktop.interface icon-theme 'Win11-black' | ||||
| exec gsettings set org.gnome.desktop.interface gtk-theme 'Nordic' | ||||
| 
 | ||||
| # ===================== | ||||
| # Window configurations  | ||||
| # ===================== | ||||
| 
 | ||||
| # Window rules | ||||
| for_window [window_role="pop-up"] floating enable | ||||
| for_window [window_role="task_dialog"] floating enable | ||||
| 
 | ||||
| for_window [class="Qalculate-gtk"] floating enable | ||||
| for_window [class="Caprine"] floating enable; border normal 2 | ||||
| # Homewritten software testing in IntelliJ | ||||
| for_window [class="be.ugent"] floating enable | ||||
| for_window [title="^FZF-Jump$"] floating enable; border pixel 0; resize set 600 350 | ||||
| 
 | ||||
| # ===== | ||||
| # FIXES | ||||
| # ===== | ||||
| 
 | ||||
| # [Slow launch for some GTK apps](https://github.com/swaywm/sway/issues/5732) | ||||
| exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK | ||||
| 
 | ||||
| # Fix JetBrain IDE's showing properly | ||||
| exec wmname LG3D | ||||
| 
 | ||||
| for_window [class="Qalculate"] floating enable | ||||
| for_window [class="Caprine"] floating enable, border normal 2 | ||||
| for_window [class="be.ugent"] floating enable               # IntelliJ Java programs | ||||
| for_window [title="^FZF-Jump$"] floating enable, border pixel 0, resize set 600 350 | ||||
|  |  | |||
							
								
								
									
										93
									
								
								config/sway/modes
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								config/sway/modes
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,93 @@ | |||
| #  | ||||
| # ~/.config/sway/modes | ||||
| # Modes for sway | ||||
| #  | ||||
| 
 | ||||
| set { | ||||
|     $alt    Mod1 | ||||
|     $flag   Mod4 | ||||
| } | ||||
| 
 | ||||
| # Resizing | ||||
| bindsym $flag+r mode "resize" | ||||
| mode "resize" bindsym { | ||||
|     l resize grow width 10 px or 10 ppt | ||||
|     k resize grow height 10 px or 10 ppt | ||||
|     h resize shrink width 10 px or 10 ppt | ||||
|     j resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	Shift+l resize grow width 50 px or 50 ppt | ||||
| 	Shift+k resize grow height 50 px or 50 ppt | ||||
| 	Shift+h resize shrink width 50 px or 50 ppt | ||||
| 	Shift+j resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
|     Right   resize grow width 10 px or 10 ppt | ||||
|     Up      resize grow height 10 px or 10 ppt | ||||
|     Left    resize shrink width 10 px or 10 ppt | ||||
|     Down    resize shrink height 10 px or 10 ppt | ||||
| 
 | ||||
| 	Shift+Right resize grow width 50 px or 50 ppt | ||||
| 	Shift+Up    resize grow height 50 px or 50 ppt | ||||
| 	Shift+Left  resize shrink width 50 px or 50 ppt | ||||
| 	Shift+Down  resize shrink height 50 px or 50 ppt | ||||
| 
 | ||||
| 	$flag+h     move left | ||||
| 	$flag+j     move down | ||||
| 	$flag+k     move up | ||||
| 	$flag+l     move right | ||||
| 
 | ||||
| 	$flag+Left  move left | ||||
| 	$flag+Down  move down | ||||
| 	$flag+Up    move up | ||||
| 	$flag+Right move right | ||||
| 
 | ||||
|     Return      mode "default" | ||||
|     Escape      mode "default" | ||||
|     $flag+r     mode "default" | ||||
| } | ||||
| 
 | ||||
| # System actions | ||||
| set $mode_system System (l)ock, (s)leep, (h)ibernate, (r)eboot, (Shift+s)hutdown | ||||
| bindsym Control+$alt+Delete mode "$mode_system" | ||||
| mode "$mode_system" bindsym { | ||||
|     l       exec swaylock && mode "default" | ||||
|     s       exec systemctl suspend && mode "default" | ||||
|     h       exec systemctl hibernate && mode "default" | ||||
|     r       exec systemctl reboot && mode "default" | ||||
|     Shift+s exec systemctl poweroff -i && mode "default" | ||||
| 
 | ||||
|     Return              mode "default" | ||||
|     Escape              mode "default" | ||||
|     Control+$alt+Delete mode "default" | ||||
| } | ||||
| 
 | ||||
| # Screenshots | ||||
| set $mode_screenshot Screenshot of (a)rea, current (w)indow, (s)creen - Shift to save | ||||
| set $save_format Pictures/Screenshots/$(date +%F)-$(date +%T).png | ||||
| bindsym Print mode "$mode_screenshot" | ||||
| mode "$mode_screenshot" bindsym { | ||||
|     a exec grimshot copy area && mode "default" | ||||
|     w exec grimshot --notify copy active && mode "default" | ||||
|     s exec grimshot --notify copy screen && mode "default" | ||||
| 
 | ||||
|     Print   exec grimshot --notify save screen $save_format && mode "default" # Super fast screens! | ||||
|     Shift+a exec grimshot --notify save area $save_format && mode "default" | ||||
|     Shift+w exec grimshot --notify save active $save_format && mode "default" | ||||
|     Shift+s exec grimshot --notify save screen $save_format && mode "default" | ||||
| 
 | ||||
|     Return mode "default" | ||||
|     Escape mode "default" | ||||
| } | ||||
| 
 | ||||
| # Some preferences | ||||
| set $mode_preferences Toggle (s)unset, (n)otifications, (f)ocus | ||||
| bindsym $alt+end mode "$mode_preferences" | ||||
| mode "$mode_preferences" bindsym { | ||||
|     s exec "~/.scripts/wlsunset.sh" && mode "default" | ||||
|     n exec "~/.scripts/dnd.sh" && mode "default" | ||||
|     f exec "dunstctl set-paused toggle" && mode "default" | ||||
| 
 | ||||
|     Return      mode "default" | ||||
|     Escape      mode "default" | ||||
|     $alt+end    mode "default" | ||||
| } | ||||
							
								
								
									
										27
									
								
								config/sway/style
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								config/sway/style
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| # | ||||
| # ~/.config/sway/style  | ||||
| # Styling for sway | ||||
| # | ||||
| 
 | ||||
| # Decrease the height of the window bar thing.  | ||||
| font pango:monospace 1 | ||||
| 
 | ||||
| bar { | ||||
|     swaybar_command /usr/bin/waybar | ||||
|     mode hide | ||||
| } | ||||
| 
 | ||||
| default_border pixel 1 | ||||
| default_floating_border normal 1 | ||||
| hide_edge_borders both | ||||
| smart_borders on | ||||
| 
 | ||||
| # Mimic no titles | ||||
| #                       border  backgr. text    indic.  child_border | ||||
| client.focused          #000000 #00897b #00897b #00897b #000000 | ||||
| client.focused_inactive #000000 #222222 #222222 #222222 #000000 | ||||
| client.unfocused        #000000 #222222 #222222 #222222 #000000 | ||||
| client.urgent           #ff0000 #ff0000 #ff0000 #ff0000 #ff0000 | ||||
| 
 | ||||
| exec gsettings set org.gnome.desktop.interface icon-theme 'IcoSystem' | ||||
| exec gsettings set org.gnome.desktop.interface gtk-theme 'Nordic' | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue