mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Improve default config
This commit is contained in:
		
							parent
							
								
									1781450e86
								
							
						
					
					
						commit
						55ad6ca268
					
				
					 2 changed files with 112 additions and 95 deletions
				
			
		| 
						 | 
					@ -45,6 +45,13 @@ Binary shows up in `./bin` (or `/usr/local/bin` if you `make install`).
 | 
				
			||||||
    mkdir ~/.config/sway
 | 
					    mkdir ~/.config/sway
 | 
				
			||||||
    cp ~/.config/i3/config ~/.config/sway/
 | 
					    cp ~/.config/i3/config ~/.config/sway/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Or if you don't already use i3:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    mkdir ~/.config/sway
 | 
				
			||||||
 | 
					    cp /etc/sway/config ~/.config/sway/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Edit to your liking.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[See also](http://i3wm.org/docs/)
 | 
					[See also](http://i3wm.org/docs/)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Running
 | 
					## Running
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										190
									
								
								config
									
										
									
									
									
								
							
							
						
						
									
										190
									
								
								config
									
										
									
									
									
								
							| 
						 | 
					@ -1,117 +1,127 @@
 | 
				
			||||||
# Default config for sway
 | 
					# Default config for sway
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					# Copy this to ~/.config/sway/config and edit it to your liking.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
# Sway is a work in progress implementation of i3 for wayland.
 | 
					# Sway is a work in progress implementation of i3 for wayland.
 | 
				
			||||||
# Note that some of these defaults may be unimplemented.
 | 
					# Note that some of these defaults may be unimplemented.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
 | 
					# Please see http://i3wm.org/docs/userguide.html for a (more) complete reference!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Font for window titles. Will also be used by the bar unless a different font
 | 
					 | 
				
			||||||
# is used in the bar {} block below.
 | 
					 | 
				
			||||||
font pango:DejaVu Sans Mono 8
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# use these keys for focus, movement, and resize directions when reaching for
 | 
					### Variables
 | 
				
			||||||
# the arrows is not convenient
 | 
					 | 
				
			||||||
set $up l
 | 
					 | 
				
			||||||
set $down k
 | 
					 | 
				
			||||||
set $left j
 | 
					 | 
				
			||||||
set $right semicolon
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# use Mouse+Mod1 to drag floating windows to their wanted position
 | 
					set $mod Mod4       # Logo key. Use Mod1 for Alt.
 | 
				
			||||||
floating_modifier Mod1
 | 
					set $term urxvt     # Your preferred terminal emulator
 | 
				
			||||||
 | 
					set $menu dmenu_run # Your preferred application launcher
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Key bindings
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Basics:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
    # start a terminal
 | 
					    # start a terminal
 | 
				
			||||||
bindsym Mod1+Return exec urxvt
 | 
					    bindsym $mod+Return exec urxvt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # kill focused window
 | 
					    # kill focused window
 | 
				
			||||||
bindsym Mod1+Shift+q kill
 | 
					    bindsym $mod+Shift+q kill
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start dmenu (a program launcher)
 | 
					    # start your launcher
 | 
				
			||||||
bindsym Mod1+d exec dmenu_run
 | 
					    bindsym $mod+d exec $menu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# change focus
 | 
					    # Drag floating windows by holding down $mod and left mouse button.
 | 
				
			||||||
bindsym Mod1+$left focus left
 | 
					    # Resize them with right mouse button + $mod.
 | 
				
			||||||
bindsym Mod1+$down focus down
 | 
					    floating_modifier $mod
 | 
				
			||||||
bindsym Mod1+$up focus up
 | 
					 | 
				
			||||||
bindsym Mod1+$right focus right
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# alternatively, you can use the cursor keys:
 | 
					    # reload the configuration file
 | 
				
			||||||
bindsym Mod1+Left focus left
 | 
					    bindsym $mod+Shift+c reload
 | 
				
			||||||
bindsym Mod1+Down focus down
 | 
					 | 
				
			||||||
bindsym Mod1+Up focus up
 | 
					 | 
				
			||||||
bindsym Mod1+Right focus right
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# move focused window
 | 
					    # restart sway inplace (preserves your layout/session, can be used to upgrade sway)
 | 
				
			||||||
bindsym Mod1+Shift+$left move left
 | 
					    bindsym $mod+Shift+r restart
 | 
				
			||||||
bindsym Mod1+Shift+$down move down
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+$up move up
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+$right move right
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# alternatively, you can use the cursor keys:
 | 
					    # exit sway (logs you out of your wayland session)
 | 
				
			||||||
bindsym Mod1+Shift+Left move left
 | 
					    bindsym $mod+Shift+e exit
 | 
				
			||||||
bindsym Mod1+Shift+Down move down
 | 
					#
 | 
				
			||||||
bindsym Mod1+Shift+Up move up
 | 
					# Moving around:
 | 
				
			||||||
bindsym Mod1+Shift+Right move right
 | 
					# 
 | 
				
			||||||
 | 
					    # Move your focus around with $mod+[h|j|k|l], like vim
 | 
				
			||||||
 | 
					    bindsym $mod+h focus left
 | 
				
			||||||
 | 
					    bindsym $mod+j focus down
 | 
				
			||||||
 | 
					    bindsym $mod+k focus up
 | 
				
			||||||
 | 
					    bindsym $mod+l focus right
 | 
				
			||||||
 | 
					    # or use $mod+[up|down|left|right]
 | 
				
			||||||
 | 
					    bindsym $mod+Left focus left
 | 
				
			||||||
 | 
					    bindsym $mod+Down focus down
 | 
				
			||||||
 | 
					    bindsym $mod+Up focus up
 | 
				
			||||||
 | 
					    bindsym $mod+Right focus right
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# split in horizontal orientation
 | 
					    # _move_ the focused window with the same, but add Shift
 | 
				
			||||||
bindsym Mod1+h splith
 | 
					    bindsym $mod+Shift+h move left
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+j move down
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+k move up
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+l move right
 | 
				
			||||||
 | 
					    # ditto, with arrow 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
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Workspaces:
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					    # switch to workspace
 | 
				
			||||||
 | 
					    bindsym $mod+1 workspace 1
 | 
				
			||||||
 | 
					    bindsym $mod+2 workspace 2
 | 
				
			||||||
 | 
					    bindsym $mod+3 workspace 3
 | 
				
			||||||
 | 
					    bindsym $mod+4 workspace 4
 | 
				
			||||||
 | 
					    bindsym $mod+5 workspace 5
 | 
				
			||||||
 | 
					    bindsym $mod+6 workspace 6
 | 
				
			||||||
 | 
					    bindsym $mod+7 workspace 7
 | 
				
			||||||
 | 
					    bindsym $mod+8 workspace 8
 | 
				
			||||||
 | 
					    bindsym $mod+9 workspace 9
 | 
				
			||||||
 | 
					    bindsym $mod+0 workspace 10
 | 
				
			||||||
 | 
					    # move focused container to workspace
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+1 move container to workspace 1
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+2 move container to workspace 2
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+3 move container to workspace 3
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+4 move container to workspace 4
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+5 move container to workspace 5
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+6 move container to workspace 6
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+7 move container to workspace 7
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+8 move container to workspace 8
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+9 move container to workspace 9
 | 
				
			||||||
 | 
					    bindsym $mod+Shift+0 move container to workspace 10
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					# Layout stuff:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					    # You can "split" the current object of your focus with
 | 
				
			||||||
 | 
					    # $mod+h or $mod+v, for horizontal and vertical splits
 | 
				
			||||||
 | 
					    # respectively.
 | 
				
			||||||
 | 
					    bindsym $mod+h splith
 | 
				
			||||||
 | 
					    bindsym $mod+v splitv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# split in vertical orientation
 | 
					    # Switch the current container between different layout styles
 | 
				
			||||||
bindsym Mod1+v splitv
 | 
					    bindsym $mod+s layout stacking
 | 
				
			||||||
 | 
					    bindsym $mod+w layout tabbed
 | 
				
			||||||
 | 
					    bindsym $mod+e layout toggle split
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# enter fullscreen mode for the focused container
 | 
					    # Make the current focus fullscreen
 | 
				
			||||||
bindsym Mod1+f fullscreen
 | 
					    bindsym $mod+f fullscreen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# change container layout (stacked, tabbed, toggle split)
 | 
					    # Toggle the current focus between tiling and floating mode
 | 
				
			||||||
bindsym Mod1+s layout stacking
 | 
					    bindsym $mod+Shift+space floating toggle
 | 
				
			||||||
bindsym Mod1+w layout tabbed
 | 
					 | 
				
			||||||
bindsym Mod1+e layout toggle split
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# toggle tiling / floating
 | 
					    # Swap focus between the tiling area and the floating area
 | 
				
			||||||
bindsym Mod1+Shift+space floating toggle
 | 
					    bindsym $mod+space focus mode_toggle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# change focus between tiling / floating windows
 | 
					    # move focus to the parent container
 | 
				
			||||||
bindsym Mod1+space focus mode_toggle
 | 
					    bindsym $mod+a focus parent
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Scratchpad:
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					    # Sway has a "scratchpad", which is a bag of holding for windows.
 | 
				
			||||||
 | 
					    # You can send windows there and get them back later.
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
# focus the parent container
 | 
					    # Move the currently focused window to the scratchpad
 | 
				
			||||||
bindsym Mod1+a focus parent
 | 
					    bindsym $mod+Shift+minus move scratchpad
 | 
				
			||||||
 | 
					 | 
				
			||||||
# focus the child container
 | 
					 | 
				
			||||||
#bindsym Mod1+d focus child
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# move the currently focused window to the scratchpad
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+minus move scratchpad
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Show the next scratchpad window or hide the focused scratchpad window.
 | 
					    # Show the next scratchpad window or hide the focused scratchpad window.
 | 
				
			||||||
    # If there are multiple scratchpad windows, this command cycles through them.
 | 
					    # If there are multiple scratchpad windows, this command cycles through them.
 | 
				
			||||||
bindsym Mod1+minus scratchpad show
 | 
					    bindsym $mod+minus scratchpad show
 | 
				
			||||||
 | 
					 | 
				
			||||||
# switch to workspace
 | 
					 | 
				
			||||||
bindsym Mod1+1 workspace 1
 | 
					 | 
				
			||||||
bindsym Mod1+2 workspace 2
 | 
					 | 
				
			||||||
bindsym Mod1+3 workspace 3
 | 
					 | 
				
			||||||
bindsym Mod1+4 workspace 4
 | 
					 | 
				
			||||||
bindsym Mod1+5 workspace 5
 | 
					 | 
				
			||||||
bindsym Mod1+6 workspace 6
 | 
					 | 
				
			||||||
bindsym Mod1+7 workspace 7
 | 
					 | 
				
			||||||
bindsym Mod1+8 workspace 8
 | 
					 | 
				
			||||||
bindsym Mod1+9 workspace 9
 | 
					 | 
				
			||||||
bindsym Mod1+0 workspace 10
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# move focused container to workspace
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+1 move container to workspace 1
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+2 move container to workspace 2
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+3 move container to workspace 3
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+4 move container to workspace 4
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+5 move container to workspace 5
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+6 move container to workspace 6
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+7 move container to workspace 7
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+8 move container to workspace 8
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+9 move container to workspace 9
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+0 move container to workspace 10
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# reload the configuration file
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+c reload
 | 
					 | 
				
			||||||
# restart sway inplace (preserves your layout/session, can be used to upgrade sway)
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+r restart
 | 
					 | 
				
			||||||
# exit sway (logs you out of your wayland session)
 | 
					 | 
				
			||||||
bindsym Mod1+Shift+e exit
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue