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 ### Input configuration
35 input "65261:24672:technomancy_Atreus" {
40 ### Idle configuration
43 timeout 120 '[ -f ~/.nosleep ] || swaymsg "output * dpms off"' \
44 resume '[ -f ~/.nosleep ] || swaymsg "output * dpms on"' \
52 set $floating_term $term -name floating
53 for_window [class="URxvt" instance="floating"] floating enable
55 set $mode_launch (⏎)urxvt | | (e)macs | (i)cecat/weasel
57 bindsym Return exec $floating_term, mode "default"
58 bindsym p exec $pass, mode "default"
59 bindsym e exec emacs, mode "default"
61 # back to normal: Escape, or q
62 bindsym Escape mode "default"
63 bindsym q mode "default"
65 bindsym $mod+tab mode "$mode_launch"
66 bindsym XF86Launch1 mode "$mode_launch"
69 bindsym $mod+Return exec $term
70 bindsym $mod+Shift+Return exec $floating_term
73 bindsym $mod+Shift+q kill
76 bindsym $mod+space exec $menu
79 bindsym $mod+Shift+space exec $pass
81 # Drag floating windows by holding down $mod and left mouse button.
82 # Resize them with right mouse button + $mod.
83 # Despite the name, also works for non-floating windows.
84 # Change normal to inverse to use left mouse button for resizing and right
85 # mouse button for dragging.
86 floating_modifier $mod normal
88 # reload the configuration file
89 bindsym $mod+Shift+c reload
91 # exit sway (logs you out of your wayland session)
92 # bindsym $mod+Shift+e exit
94 bindsym $mod+apostrophe exec rofi-light # rofi-based brightness chooser
95 bindsym XF86MonBrightnessUp exec light -A 5 # increase screen brightness
96 bindsym XF86MonBrightnessDown exec light -U 5 # decrease screen brightness
98 bindsym XF86AudioRaiseVolume exec pamixer --allow-boost --increase 5
99 bindsym XF86AudioLowerVolume exec pamixer --allow-boost --decrease 5
100 bindsym XF86AudioMute exec pamixer --toggle-mute
101 bindsym XF86AudioMicMute exec pactl set-source-mute 1 toggle
103 bindsym $mod+Shift+apostrophe exec rofi-remmina.py # choose remmina connection
105 # original sway workspace switch and window move
106 bindsym $mod+bracketleft workspace prev
107 bindsym $mod+bracketright workspace next
108 bindsym $mod+braceleft move container to workspace prev
109 bindsym $mod+braceright move container to workspace next
111 # bspwm-esque workspace switch and window move
112 bindsym $mod2+bracketleft exec sway-ws-util switch prev
113 bindsym $mod2+bracketright exec sway-ws-util switch next
114 bindsym $mod2+braceleft exec sway-ws-util move prev follow
115 bindsym $mod2+braceright exec sway-ws-util move next follow
119 # Move your focus around
120 bindsym $mod+$left focus left
121 bindsym $mod+$down focus down
122 bindsym $mod+$up focus up
123 bindsym $mod+$right focus right
124 # or use $mod+[up|down|left|right]
125 bindsym $mod+Left focus left
126 bindsym $mod+Down focus down
127 bindsym $mod+Up focus up
128 bindsym $mod+Right focus right
130 # _move_ the focused window with the same, but add Shift
131 bindsym $mod+Shift+$left move left
132 bindsym $mod+Shift+$down move down
133 bindsym $mod+Shift+$up move up
134 bindsym $mod+Shift+$right move right
135 # ditto, with arrow keys
136 bindsym $mod+Shift+Left move left
137 bindsym $mod+Shift+Down move down
138 bindsym $mod+Shift+Up move up
139 bindsym $mod+Shift+Right move right
143 # switch to workspace
144 bindsym $mod+1 workspace 1
145 bindsym $mod+2 workspace 2
146 bindsym $mod+3 workspace 3
147 bindsym $mod+4 workspace 4
148 bindsym $mod+5 workspace 5
149 bindsym $mod+6 workspace 6
150 bindsym $mod+7 workspace 7
151 bindsym $mod+8 workspace 8
152 bindsym $mod+9 workspace 9
153 bindsym $mod+0 workspace 10
154 # move focused container to workspace
155 bindsym $mod+Shift+1 move container to workspace 1
156 bindsym $mod+Shift+2 move container to workspace 2
157 bindsym $mod+Shift+3 move container to workspace 3
158 bindsym $mod+Shift+4 move container to workspace 4
159 bindsym $mod+Shift+5 move container to workspace 5
160 bindsym $mod+Shift+6 move container to workspace 6
161 bindsym $mod+Shift+7 move container to workspace 7
162 bindsym $mod+Shift+8 move container to workspace 8
163 bindsym $mod+Shift+9 move container to workspace 9
164 bindsym $mod+Shift+0 move container to workspace 10
165 # Note: workspaces can have any name you want, not just numbers.
166 # We just use 1-10 as the default.
170 # You can "split" the current object of your focus with
171 # $mod+b or $mod+v, for horizontal and vertical splits
173 bindsym $mod+b splith
174 bindsym $mod+v splitv
176 # Switch the current container between different layout styles
177 bindsym $mod+s layout stacking
178 bindsym $mod+w layout tabbed
179 bindsym $mod+e layout toggle split
181 # Make the current focus fullscreen
182 bindsym $mod+f fullscreen
184 # Toggle sticky-ness of the current (floating) window
185 bindsym $mod+Shift+s sticky toggle
187 # Toggle the current focus between tiling and floating mode
188 bindsym $mod+Shift+f floating toggle
190 # Swap focus between the tiling area and the floating area
191 bindsym $mod+grave focus mode_toggle
193 # move focus to the parent container
194 bindsym $mod+a focus parent
195 bindsym $mod+Shift+a focus child
199 # Sway has a "scratchpad", which is a bag of holding for windows.
200 # You can send windows there and get them back later.
202 # Move the currently focused window to the scratchpad
203 bindsym $mod+Shift+minus move scratchpad
205 # Show the next scratchpad window or hide the focused scratchpad window.
206 # If there are multiple scratchpad windows, this command cycles through them.
207 bindsym $mod+minus scratchpad show
209 # Resizing containers:
212 # left will shrink the containers width
213 # right will grow the containers width
214 # up will shrink the containers height
215 # down will grow the containers height
216 bindsym $left resize shrink width 10px
217 bindsym $down resize grow height 10px
218 bindsym $up resize shrink height 10px
219 bindsym $right resize grow width 10px
221 # ditto, with arrow keys
222 bindsym Left resize shrink width 10px
223 bindsym Down resize grow height 10px
224 bindsym Up resize shrink height 10px
225 bindsym Right resize grow width 10px
227 # return to default mode
228 bindsym Return mode "default"
229 bindsym Escape mode "default"
231 bindsym $mod+Shift+r mode "resize"
237 set $mode_system System (l)ock | (e)xit sway | (s)uspend | (h)ibernate | (r)eboot | (S)hutdown
238 mode "$mode_system" {
239 bindsym l exec swaylock, mode "default"
240 bindsym e exec swaymsg exit, mode "default"
241 bindsym s exec systemctl suspend, mode "default"
242 bindsym h exec systemctl hibernate, mode "default"
243 bindsym r exec systemctl reboot, mode "default"
244 bindsym Shift+s exec systemctl poweroff -i, mode "default"
246 # back to normal: Enter, Escape, or q
247 bindsym Return mode "default"
248 bindsym Escape mode "default"
249 bindsym q mode "default"
251 # bindsym XF86PowerOff mode "$mode_system"
252 bindsym $mod+Shift+e mode "$mode_system"
253 bindsym XF86ScreenSaver exec swaylock
259 bindsym $mod+$mod2+p exec ([ ! -e ~/.nosleep ] && touch ~/.nosleep || rm ~/.nosleep) && killall -USR1 i3status
265 bindsym $mod+Shift+n mode notifications
267 bindsym Return exec makoctl invoke; exec makoctl dismiss; mode default
268 bindsym d exec makoctl dismiss; mode default
269 bindsym Shift+d exec makoctl dismiss -a; mode default
271 bindsym Escape mode default
272 bindsym q mode default
279 set $mode_screenshot (a)ll | (r)egion
280 mode "$mode_screenshot" {
281 bindsym a exec grim $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default
282 bindsym r exec grim -g "$(slurp)" $(xdg-user-dir PICTURES)/shots/$(date +'%Y-%m-%d-%H%M%S.png'); mode default
284 bindsym Escape mode default
285 bindsym q mode default
287 bindsym Print mode "$mode_screenshot"
290 # Window configurations
292 for_window [class="mpv"] floating enable
293 for_window [class="TelegramDesktop"] floating enable
294 for_window [app_id="pavucontrol"] floating enable
295 for_window [app_id="meld"] floating enable
296 for_window [app_id="nm-connection-editor"] floating enable
305 # Read `man 5 sway-bar` for more information about this section.
310 inactive_workspace $gray $gray #888888
311 active_workspace $gray $gray #ffffff
312 urgent_workspace $red $red #ffffff
313 focused_workspace $blue $blue #ffffff
315 status_command i3status | my-i3status
318 client.focused $blue $blue #ffffff $blue $blue
319 client.unfocused $gray $gray #ffffff $gray $gray
320 client.focused_inactive $gray $gray #ffffff $gray $gray
322 # font pango: benis uushi 9
323 # font pango: Ubuntu Mono 11
324 # font pango: Inconsolata 11
325 font pango: DejaVu Sans Mono 9
326 # font pango: Liberation Mono 9
328 # get rid of title bars
329 default_border pixel 4
331 exec xrdb .Xresources
332 # exec pgrep -x "systemd-inhibit" || \
333 # systemd-inhibit --what=handle-power-key --who=aminb \
334 # --why="Handle power button in sway" sleep infinity
335 exec mako 2>&1 >/tmp/mako.log
336 exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
338 include /etc/sway/config.d/*
339 include ~/.config/sway/`hostname`
341 exec systemd-notify --ready || true