11 set $menu rofi -show run -display-run '> ' -display-window ' 🗔 '
14 ### Output configuration
16 # Default wallpaper (more resolutions are available in __DATADIR__/backgrounds/sway/)
17 output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
19 # Example configuration:
21 # output HDMI-A-1 resolution 1920x1080 position 1920,0
23 # You can get the names of your outputs by running: swaymsg -t get_outputs
25 # output DP-1 res 2560x1440 pos 1366,0
27 # output LVDS-1 pos 0,760
29 output DP-1 res 2560x1440 pos 0,0
31 output LVDS-1 pos 2560,760
33 ### Idle configuration
36 timeout 120 '[ -f ~/.nosleep ] || swaymsg "output * dpms off"' \
37 resume '[ -f ~/.nosleep ] || swaymsg "output * dpms on"' \
45 set $floating_term $term -name floating
46 for_window [class="URxvt" instance="floating"] floating enable
48 set $mode_launch (⏎)urxvt | | (e)macs | (i)cecat/weasel
50 bindsym Return exec $floating_term, mode "default"
51 bindsym p exec $pass, mode "default"
52 bindsym e exec emacs, mode "default"
54 # back to normal: Escape, or q
55 bindsym Escape mode "default"
56 bindsym q mode "default"
58 bindsym $mod+tab mode "$mode_launch"
59 bindsym XF86Launch1 mode "$mode_launch"
62 bindsym $mod+Return exec $term
63 bindsym $mod+Shift+Return exec $floating_term
66 bindsym $mod+Shift+q kill
69 bindsym $mod+space exec $menu
72 bindsym $mod+Shift+space exec $pass
74 # Drag floating windows by holding down $mod and left mouse button.
75 # Resize them with right mouse button + $mod.
76 # Despite the name, also works for non-floating windows.
77 # Change normal to inverse to use left mouse button for resizing and right
78 # mouse button for dragging.
79 floating_modifier $mod normal
81 # reload the configuration file
82 bindsym $mod+Shift+c reload
84 # exit sway (logs you out of your wayland session)
85 # bindsym $mod+Shift+e exit
87 bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
88 bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
89 bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
91 bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
92 bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
93 bindsym XF86AudioMute exec pamixer --toggle-mute
94 bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
96 bindsym $mod+Shift+apostrophe exec rofi-remmina.py # choose remmina connection
98 # original sway workspace switch and window move
99 bindsym $mod+bracketleft workspace prev
100 bindsym $mod+bracketright workspace next
101 bindsym $mod+braceleft move container to workspace prev
102 bindsym $mod+braceright move container to workspace next
104 # bspwm-esque workspace switch and window move
105 bindsym $mod2+bracketleft exec sway-ws-util switch prev
106 bindsym $mod2+bracketright exec sway-ws-util switch next
107 bindsym $mod2+braceleft exec sway-ws-util move prev follow
108 bindsym $mod2+braceright exec sway-ws-util move next follow
112 # Move your focus around
113 bindsym $mod+$left focus left
114 bindsym $mod+$down focus down
115 bindsym $mod+$up focus up
116 bindsym $mod+$right focus right
117 # or use $mod+[up|down|left|right]
118 bindsym $mod+Left focus left
119 bindsym $mod+Down focus down
120 bindsym $mod+Up focus up
121 bindsym $mod+Right focus right
123 # _move_ the focused window with the same, but add Shift
124 bindsym $mod+Shift+$left move left
125 bindsym $mod+Shift+$down move down
126 bindsym $mod+Shift+$up move up
127 bindsym $mod+Shift+$right move right
128 # ditto, with arrow keys
129 bindsym $mod+Shift+Left move left
130 bindsym $mod+Shift+Down move down
131 bindsym $mod+Shift+Up move up
132 bindsym $mod+Shift+Right move right
136 # switch to workspace
137 bindsym $mod+1 workspace 1
138 bindsym $mod+2 workspace 2
139 bindsym $mod+3 workspace 3
140 bindsym $mod+4 workspace 4
141 bindsym $mod+5 workspace 5
142 bindsym $mod+6 workspace 6
143 bindsym $mod+7 workspace 7
144 bindsym $mod+8 workspace 8
145 bindsym $mod+9 workspace 9
146 bindsym $mod+0 workspace 10
147 # move focused container to workspace
148 bindsym $mod+Shift+1 move container to workspace 1
149 bindsym $mod+Shift+2 move container to workspace 2
150 bindsym $mod+Shift+3 move container to workspace 3
151 bindsym $mod+Shift+4 move container to workspace 4
152 bindsym $mod+Shift+5 move container to workspace 5
153 bindsym $mod+Shift+6 move container to workspace 6
154 bindsym $mod+Shift+7 move container to workspace 7
155 bindsym $mod+Shift+8 move container to workspace 8
156 bindsym $mod+Shift+9 move container to workspace 9
157 bindsym $mod+Shift+0 move container to workspace 10
158 # Note: workspaces can have any name you want, not just numbers.
159 # We just use 1-10 as the default.
163 # You can "split" the current object of your focus with
164 # $mod+b or $mod+v, for horizontal and vertical splits
166 bindsym $mod+b splith
167 bindsym $mod+v splitv
169 # Switch the current container between different layout styles
170 bindsym $mod+s layout stacking
171 bindsym $mod+w layout tabbed
172 bindsym $mod+e layout toggle split
174 # Make the current focus fullscreen
175 bindsym $mod+f fullscreen
177 # Toggle sticky-ness of the current (floating) window
178 bindsym $mod+Shift+s sticky toggle
180 # Toggle the current focus between tiling and floating mode
181 bindsym $mod+Shift+f floating toggle
183 # Swap focus between the tiling area and the floating area
184 bindsym $mod+grave focus mode_toggle
186 # move focus to the parent container
187 bindsym $mod+a focus parent
188 bindsym $mod+Shift+a focus child
192 # Sway has a "scratchpad", which is a bag of holding for windows.
193 # You can send windows there and get them back later.
195 # Move the currently focused window to the scratchpad
196 bindsym $mod+Shift+minus move scratchpad
198 # Show the next scratchpad window or hide the focused scratchpad window.
199 # If there are multiple scratchpad windows, this command cycles through them.
200 bindsym $mod+minus scratchpad show
202 # Resizing containers:
205 # left will shrink the containers width
206 # right will grow the containers width
207 # up will shrink the containers height
208 # down will grow the containers height
209 bindsym $left resize shrink width 10px
210 bindsym $down resize grow height 10px
211 bindsym $up resize shrink height 10px
212 bindsym $right resize grow width 10px
214 # ditto, with arrow keys
215 bindsym Left resize shrink width 10px
216 bindsym Down resize grow height 10px
217 bindsym Up resize shrink height 10px
218 bindsym Right resize grow width 10px
220 # return to default mode
221 bindsym Return mode "default"
222 bindsym Escape mode "default"
224 bindsym $mod+Shift+r mode "resize"
230 set $mode_system System (l)ock | (e)xit sway | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown
231 mode "$mode_system" {
232 bindsym l exec swaylock, mode "default"
233 bindsym e exec swaymsg exit, mode "default"
234 bindsym s exec systemctl suspend, mode "default"
235 bindsym h exec systemctl hibernate, mode "default"
236 bindsym r exec systemctl reboot, mode "default"
237 bindsym Shift+s exec systemctl poweroff -i, mode "default"
239 # back to normal: Enter, Escape, or q
240 bindsym Return mode "default"
241 bindsym Escape mode "default"
242 bindsym q mode "default"
244 # bindsym XF86PowerOff mode "$mode_system"
245 bindsym $mod+Shift+e mode "$mode_system"
246 bindsym XF86ScreenSaver exec swaylock
252 bindsym $mod+$mod2+p exec ([ ! -e ~/.nosleep ] && touch ~/.nosleep || rm ~/.nosleep) && killall -USR1 i3status
258 bindsym $mod+Shift+n mode notifications
260 bindsym Return exec makoctl invoke; exec makoctl dismiss; mode default
261 bindsym d exec makoctl dismiss; mode default
262 bindsym Shift+d exec makoctl dismiss -a; mode default
264 bindsym Escape mode default
265 bindsym q mode default
272 set $mode_screenshot (a)ll | (r)egion
273 mode "$mode_screenshot" {
274 bindsym a exec grim $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default
275 bindsym r exec grim -g "$(slurp)" $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default
277 bindsym Escape mode default
278 bindsym q mode default
280 bindsym Print mode "$mode_screenshot"
283 # Window configurations
285 for_window [class="mpv"] floating enable
286 for_window [class="TelegramDesktop"] floating enable
287 for_window [app_id="pavucontrol"] floating enable
288 for_window [app_id="meld"] floating enable
289 for_window [app_id="nm-connection-editor"] floating enable
298 # Read `man 5 sway-bar` for more information about this section.
303 inactive_workspace $gray $gray #888888
304 active_workspace $gray $gray #ffffff
305 urgent_workspace $red $red #ffffff
306 focused_workspace $blue $blue #ffffff
308 status_command i3status | my-i3status
311 client.focused $blue $blue #ffffff $blue $blue
312 client.unfocused $gray $gray #ffffff $gray $gray
313 client.focused_inactive $gray $gray #ffffff $gray $gray
315 # font pango: benis uushi 9
316 # font pango: Ubuntu Mono 11
317 # font pango: Inconsolata 11
318 font pango: DejaVu Sans Mono 9
319 # font pango: Liberation Mono 9
321 # get rid of title bars
322 default_border pixel 4
324 exec xrdb .Xresources
325 # exec pgrep -x "systemd-inhibit" || \
326 # systemd-inhibit --what=handle-power-key --who=aminb \
327 # --why="Handle power button in sway" sleep infinity
328 exec mako 2>&1 >/tmp/mako.log
329 exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
331 include /etc/sway/config.d/*
332 include ~/.config/sway/`hostname`
334 exec systemd-notify --ready || true