|
| 1 | +# Default config for sway |
| 2 | +# |
| 3 | +# Copy this to ~/.config/sway/config and edit it to your liking. |
| 4 | +# |
| 5 | +# Read `man 5 sway` for a complete reference. |
| 6 | + |
| 7 | +### Variables |
| 8 | +# |
| 9 | +# Logo key. Use Mod1 for Alt. |
| 10 | +set $mod Mod4 |
| 11 | +# Home row direction keys, like vim |
| 12 | +set $left h |
| 13 | +set $down j |
| 14 | +set $up k |
| 15 | +set $right l |
| 16 | +# Your preferred terminal emulator |
| 17 | +set $term ptyxis |
| 18 | +# Your preferred application launcher |
| 19 | +# Note: pass the final command to swaymsg so that the resulting window can be opened |
| 20 | +# on the original workspace that the command was run on. |
| 21 | +# set $menu dmenu_path | wmenu | xargs swaymsg exec -- |
| 22 | +# set $menu /usr/bin/bemenu-run |
| 23 | +set $menu /usr/bin/fuzzel |
| 24 | + |
| 25 | +include /etc/sway/config-vars.d/* |
| 26 | + |
| 27 | +### Output configuration |
| 28 | +# |
| 29 | +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) |
| 30 | +#output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill |
| 31 | + |
| 32 | +output * bg /home/winsdominoes/Pictures/road.webp fill |
| 33 | + |
| 34 | +# |
| 35 | +# Example configuration: |
| 36 | +# |
| 37 | +# output HDMI-A-1 resolution 1920x1080 position 1920,0 |
| 38 | +# |
| 39 | +# You can get the names of your outputs by running: swaymsg -t get_outputs |
| 40 | + |
| 41 | +output eDP-1 mode 3200x1800 position 3200,0 |
| 42 | + |
| 43 | +### Idle configuration |
| 44 | +# |
| 45 | +# Example configuration: |
| 46 | +# |
| 47 | +# exec swayidle -w \ |
| 48 | +# timeout 300 'swaylock -f -c 000000' \ |
| 49 | +# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ |
| 50 | +# before-sleep 'swaylock -f -c 000000' |
| 51 | +# |
| 52 | +# This will lock your screen after 300 seconds of inactivity, then turn off |
| 53 | +# your displays after another 300 seconds, and turn your screens back on when |
| 54 | +# resumed. It will also lock your screen before your computer goes to sleep. |
| 55 | + |
| 56 | +### Input configuration |
| 57 | +# |
| 58 | +# Example configuration: |
| 59 | +# |
| 60 | +# input "2:14:SynPS/2_Synaptics_TouchPad" { |
| 61 | +# dwt enabled |
| 62 | +# tap enabled |
| 63 | +# natural_scroll enabled |
| 64 | +# middle_emulation enabled |
| 65 | +# } |
| 66 | +# |
| 67 | +# You can get the names of your inputs by running: swaymsg -t get_inputs |
| 68 | +# Read `man 5 sway-input` for more information about this section. |
| 69 | + |
| 70 | +### Key bindings |
| 71 | +# |
| 72 | +# Basics: |
| 73 | +# |
| 74 | + # Start a terminal |
| 75 | + bindsym $mod+Return exec $term |
| 76 | + |
| 77 | + # Kill focused window |
| 78 | + bindsym $mod+Shift+q kill |
| 79 | + |
| 80 | + # Start your launcher |
| 81 | + bindsym $mod+d exec $menu |
| 82 | + |
| 83 | + # Drag floating windows by holding down $mod and left mouse button. |
| 84 | + # Resize them with right mouse button + $mod. |
| 85 | + # Despite the name, also works for non-floating windows. |
| 86 | + # Change normal to inverse to use left mouse button for resizing and right |
| 87 | + # mouse button for dragging. |
| 88 | + floating_modifier $mod normal |
| 89 | + |
| 90 | + # Reload the configuration file |
| 91 | + bindsym $mod+Shift+c reload |
| 92 | + |
| 93 | + # Exit sway (logs you out of your Wayland session) |
| 94 | + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' |
| 95 | +# |
| 96 | +# Moving around: |
| 97 | +# |
| 98 | + # Move your focus around |
| 99 | + bindsym $mod+$left focus left |
| 100 | + bindsym $mod+$down focus down |
| 101 | + bindsym $mod+$up focus up |
| 102 | + bindsym $mod+$right focus right |
| 103 | + # Or use $mod+[up|down|left|right] |
| 104 | + bindsym $mod+Left focus left |
| 105 | + bindsym $mod+Down focus down |
| 106 | + bindsym $mod+Up focus up |
| 107 | + bindsym $mod+Right focus right |
| 108 | + |
| 109 | + # Move the focused window with the same, but add Shift |
| 110 | + bindsym $mod+Shift+$left move left |
| 111 | + bindsym $mod+Shift+$down move down |
| 112 | + bindsym $mod+Shift+$up move up |
| 113 | + bindsym $mod+Shift+$right move right |
| 114 | + # Ditto, with arrow keys |
| 115 | + bindsym $mod+Shift+Left move left |
| 116 | + bindsym $mod+Shift+Down move down |
| 117 | + bindsym $mod+Shift+Up move up |
| 118 | + bindsym $mod+Shift+Right move right |
| 119 | +# |
| 120 | +# Workspaces: |
| 121 | +# |
| 122 | + # Switch to workspace |
| 123 | + bindsym $mod+1 workspace number 1 |
| 124 | + bindsym $mod+2 workspace number 2 |
| 125 | + bindsym $mod+3 workspace number 3 |
| 126 | + bindsym $mod+4 workspace number 4 |
| 127 | + bindsym $mod+5 workspace number 5 |
| 128 | + bindsym $mod+6 workspace number 6 |
| 129 | + bindsym $mod+7 workspace number 7 |
| 130 | + bindsym $mod+8 workspace number 8 |
| 131 | + bindsym $mod+9 workspace number 9 |
| 132 | + bindsym $mod+0 workspace number 10 |
| 133 | + # Move focused container to workspace |
| 134 | + bindsym $mod+Shift+1 move container to workspace number 1 |
| 135 | + bindsym $mod+Shift+2 move container to workspace number 2 |
| 136 | + bindsym $mod+Shift+3 move container to workspace number 3 |
| 137 | + bindsym $mod+Shift+4 move container to workspace number 4 |
| 138 | + bindsym $mod+Shift+5 move container to workspace number 5 |
| 139 | + bindsym $mod+Shift+6 move container to workspace number 6 |
| 140 | + bindsym $mod+Shift+7 move container to workspace number 7 |
| 141 | + bindsym $mod+Shift+8 move container to workspace number 8 |
| 142 | + bindsym $mod+Shift+9 move container to workspace number 9 |
| 143 | + bindsym $mod+Shift+0 move container to workspace number 10 |
| 144 | + # Note: workspaces can have any name you want, not just numbers. |
| 145 | + # We just use 1-10 as the default. |
| 146 | +# |
| 147 | +# Layout stuff: |
| 148 | +# |
| 149 | + # You can "split" the current object of your focus with |
| 150 | + # $mod+b or $mod+v, for horizontal and vertical splits |
| 151 | + # respectively. |
| 152 | + bindsym $mod+b splith |
| 153 | + bindsym $mod+v splitv |
| 154 | + |
| 155 | + # Switch the current container between different layout styles |
| 156 | + bindsym $mod+s layout stacking |
| 157 | + bindsym $mod+w layout tabbed |
| 158 | + bindsym $mod+e layout toggle split |
| 159 | + |
| 160 | + # Make the current focus fullscreen |
| 161 | + bindsym $mod+f fullscreen |
| 162 | + |
| 163 | + # Toggle the current focus between tiling and floating mode |
| 164 | + bindsym $mod+Shift+space floating toggle |
| 165 | + |
| 166 | + # Swap focus between the tiling area and the floating area |
| 167 | + bindsym $mod+space focus mode_toggle |
| 168 | + |
| 169 | + # Move focus to the parent container |
| 170 | + bindsym $mod+a focus parent |
| 171 | +# |
| 172 | +# Scratchpad: |
| 173 | +# |
| 174 | + # Sway has a "scratchpad", which is a bag of holding for windows. |
| 175 | + # You can send windows there and get them back later. |
| 176 | + |
| 177 | + # Move the currently focused window to the scratchpad |
| 178 | + bindsym $mod+Shift+minus move scratchpad |
| 179 | + |
| 180 | + # Show the next scratchpad window or hide the focused scratchpad window. |
| 181 | + # If there are multiple scratchpad windows, this command cycles through them. |
| 182 | + bindsym $mod+minus scratchpad show |
| 183 | +# |
| 184 | +# Resizing containers: |
| 185 | +# |
| 186 | +mode "resize" { |
| 187 | + # left will shrink the containers width |
| 188 | + # right will grow the containers width |
| 189 | + # up will shrink the containers height |
| 190 | + # down will grow the containers height |
| 191 | + bindsym $left resize shrink width 10px |
| 192 | + bindsym $down resize grow height 10px |
| 193 | + bindsym $up resize shrink height 10px |
| 194 | + bindsym $right resize grow width 10px |
| 195 | + |
| 196 | + # Ditto, with arrow keys |
| 197 | + bindsym Left resize shrink width 10px |
| 198 | + bindsym Down resize grow height 10px |
| 199 | + bindsym Up resize shrink height 10px |
| 200 | + bindsym Right resize grow width 10px |
| 201 | + |
| 202 | + # Return to default mode |
| 203 | + bindsym Return mode "default" |
| 204 | + bindsym Escape mode "default" |
| 205 | +} |
| 206 | +bindsym $mod+r mode "resize" |
| 207 | +bindsym $mod+p exec grim -g "$(slurp -d)" - | wl-copy |
| 208 | +# |
| 209 | +# Status Bar: |
| 210 | +# |
| 211 | +# Read `man 5 sway-bar` for more information about this section. |
| 212 | +#bar { |
| 213 | +# position bottom |
| 214 | +# |
| 215 | + # When the status_command prints a new line to stdout, swaybar updates. |
| 216 | + # The default just shows the current date and time. |
| 217 | + # status_command while date +'%Y-%m-%d %X'; do sleep 1; done |
| 218 | + |
| 219 | +# status_command i3blocks |
| 220 | + |
| 221 | +# colors { |
| 222 | +# statusline #ffffff |
| 223 | +# background #323232 |
| 224 | +# inactive_workspace #32323200 #32323200 #5c5c5c |
| 225 | +# } |
| 226 | +#} |
| 227 | +# |
| 228 | +# Keyboard: |
| 229 | +# |
| 230 | +input type:keyboard { |
| 231 | + xkb_layout us |
| 232 | + xkb_options grp:win_space_toggle |
| 233 | +} |
| 234 | + |
| 235 | +include /etc/sway/config.d/* |
0 commit comments