mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	
		
			
	
	
		
			64 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Replicate some of Awesome's default layout manipulation configuration for Sway
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Differences:
							 | 
						||
| 
								 | 
							
								# - Layout switching doesn't use the spacebar (i.e. i3/Sway behavior to switch to/from floating windows)
							 | 
						||
| 
								 | 
							
								#   and uses the 'A' key instead (as in auto)
							 | 
						||
| 
								 | 
							
								# - Resizing windows uses i3/Sway's more versatile Mod4+r
							 | 
						||
| 
								 | 
							
								# - no tags
							 | 
						||
| 
								 | 
							
								# - no Maximize/Minize, alternatives to Maximize would be to switch to Stacked/Tabbed layouts
							 | 
						||
| 
								 | 
							
								#   via Mod4+w or Mod4+s.
							 | 
						||
| 
								 | 
							
								# - kill focused client is available on Mod4+Shift+q (instead of Mod4+Shift+c, which maps to Sway's
							 | 
						||
| 
								 | 
							
								#   config reload)
							 | 
						||
| 
								 | 
							
								# - probably many more ...
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Awesome-style container traversal using Vim-like binding
							 | 
						||
| 
								 | 
							
								set $next j
							 | 
						||
| 
								 | 
							
								set $prev k
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Moving around:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								    # Move your focus around
							 | 
						||
| 
								 | 
							
								    bindsym $mod+$next focus next
							 | 
						||
| 
								 | 
							
								    bindsym $mod+$prev focus prev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # _move_ the focused window with the same, but add Shift
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Shift+$next move next
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Shift+$prev move prev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Layout:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								    workspace_layout auto left
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # This is usually bound to $mod+space, but this works well in practice by keeping
							 | 
						||
| 
								 | 
							
								    # all the layout switching keys grouped together.
							 | 
						||
| 
								 | 
							
								    bindsym $mod+a layout auto next
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Shift+a layout auto prev
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Promote a child to master position in an auto layout
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Control+Return move first
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Increase/decrease number of master elements in auto layout
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Shift+h layout auto master inc 1
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Shift+l layout auto master inc -1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    # Increase/decrease number of slave element groups in auto layout
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Control+h layout auto ncol inc 1
							 | 
						||
| 
								 | 
							
								    bindsym $mod+Control+l layout auto ncol inc -1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Resizing containers:
							 | 
						||
| 
								 | 
							
								# Again, not really the way Awesome works well, but in spirit with i3/Sway and it works well.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								mode "resize" {
							 | 
						||
| 
								 | 
							
								    bindsym Left resize shrink width 20 px
							 | 
						||
| 
								 | 
							
								    bindsym Down resize grow height 20 px
							 | 
						||
| 
								 | 
							
								    bindsym Up resize shrink height 20 px
							 | 
						||
| 
								 | 
							
								    bindsym Right resize grow width 20 px
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								bindsym $mod+r mode "resize"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								new_window pixel 1
							 |