235 lines
		
	
	
	
		
			8.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			235 lines
		
	
	
	
		
			8.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| set $notify ~/projects/sisyphus/scripts/notify.sh
 | |
| 
 | |
| bindsym {
 | |
| 
 | |
|     # Focus
 | |
|     $flag+$up    focus up
 | |
|     $flag+$right focus right
 | |
|     $flag+$down  focus down
 | |
|     $flag+$left  focus left
 | |
| 
 | |
|     $flag+Up     focus up
 | |
|     $flag+Right  focus right
 | |
|     $flag+Down   focus down
 | |
|     $flag+Left   focus left
 | |
| 
 | |
|     $flag+p      focus parent
 | |
|     $flag+space  focus mode_toggle
 | |
| 
 | |
|     # Move windows
 | |
|     $flag+Shift+$up     move up
 | |
|     $flag+Shift+$right  move right
 | |
|     $flag+Shift+$down   move down
 | |
|     $flag+Shift+$left   move left
 | |
| 
 | |
|     $flag+Shift+Up      move up
 | |
|     $flag+Shift+Right   move right
 | |
|     $flag+Shift+Down    move down
 | |
|     $flag+Shift+Left    move left
 | |
| 
 | |
|     $flag+Next          move scratchpad
 | |
|     $flag+KP_Next       move scratchpad
 | |
|     $flag+Prior         scratchpad show
 | |
|     $flag+KP_Prior      scratchpad show
 | |
| 
 | |
|     # Layouts
 | |
|     $flag+z       layout toggle split
 | |
|     $flag+x       layout tabbed
 | |
|     $flag+c       split h
 | |
|     $flag+v       split v
 | |
| 
 | |
|     $flag+f       floating enable,  border normal 1
 | |
|     $flag+Shift+f floating disable, border pixel 1
 | |
| 
 | |
|     $flag+s       sticky toggle
 | |
|     $flag+F11     fullscreen
 | |
| 
 | |
|     $alt+Next     border pixel 1      # Show window title
 | |
|     $alt+KP_Next  border pixel 1
 | |
|     $alt+Prior    border normal 1     # Hide window title
 | |
|     $alt+KP_Prior border normal 1
 | |
| }
 | |
| 
 | |
| # Workspaces
 | |
| set {
 | |
|     $ws1  "1:1"
 | |
|     $ws2  "2:2"
 | |
|     $ws3  "3:3"
 | |
|     $ws4  "4:4"
 | |
|     $ws5  "5:5"
 | |
|     $ws6  "6:6"
 | |
|     $ws7  "7:7"
 | |
|     $ws8  "8:8"
 | |
|     $ws9  "9:9"
 | |
|     $ws10 "10:10"
 | |
|     $ws11 "11:Soc"
 | |
|     $ws12 "12:Ent"
 | |
| }
 | |
| 
 | |
| bindsym {
 | |
|     # Focus a specific workspace
 | |
|     $flag+1              workspace $ws1
 | |
|     $flag+2              workspace $ws2
 | |
|     $flag+3              workspace $ws3
 | |
|     $flag+4              workspace $ws4
 | |
|     $flag+5              workspace $ws5
 | |
|     $flag+6              workspace $ws6
 | |
|     $flag+7              workspace $ws7
 | |
|     $flag+8              workspace $ws8
 | |
|     $flag+9              workspace $ws9
 | |
|     $flag+0              workspace $ws10
 | |
|     $flag+minus          workspace $ws11
 | |
|     $flag+equal          workspace $ws12
 | |
| 
 | |
|     # Move window to a specific workspace
 | |
|     $flag+Shift+1        move container to workspace $ws1,  workspace $ws1
 | |
|     $flag+Shift+2        move container to workspace $ws2,  workspace $ws2
 | |
|     $flag+Shift+3        move container to workspace $ws3,  workspace $ws3
 | |
|     $flag+Shift+4        move container to workspace $ws4,  workspace $ws4
 | |
|     $flag+Shift+5        move container to workspace $ws5,  workspace $ws5
 | |
|     $flag+Shift+6        move container to workspace $ws6,  workspace $ws6
 | |
|     $flag+Shift+7        move container to workspace $ws7,  workspace $ws7
 | |
|     $flag+Shift+8        move container to workspace $ws8,  workspace $ws8
 | |
|     $flag+Shift+9        move container to workspace $ws9,  workspace $ws9
 | |
|     $flag+Shift+0        move container to workspace $ws10, workspace $ws10
 | |
|     $flag+Shift+minus    move container to workspace $ws11, workspace $ws11
 | |
|     $flag+Shift+equal    move container to workspace $ws12, workspace $ws12
 | |
| 
 | |
|     # Go through workspaces in order
 | |
|     $flag+Control+$left  workspace prev_on_output
 | |
|     $flag+Control+$right workspace next_on_output
 | |
| 
 | |
|     $flag+Control+Left   workspace prev_on_output
 | |
|     $flag+Control+Right  workspace next_on_output
 | |
| 
 | |
|     $flag+Control+Shift+$left  move container to workspace prev_on_output, workspace prev_on_output
 | |
|     $flag+Control+Shift+$right move container to workspace next_on_output, workspace next_on_output
 | |
| 
 | |
|     $flag+Control+Shift+Left   move container to workspace prev_on_output, workspace prev_on_output
 | |
|     $flag+Control+Shift+Right  move container to workspace next_on_output, workspace next_on_output
 | |
| 
 | |
|     # Also GNOME-like keybinds
 | |
|     $flag+$alt+$left     workspace prev_on_output
 | |
|     $flag+$alt+$right    workspace next_on_output
 | |
| 
 | |
|     $flag+$alt+Left      workspace prev_on_output
 | |
|     $flag+$alt+Right     workspace next_on_output
 | |
| 
 | |
|     $flag+$alt+Shift+$left     move container to workspace prev_on_output, workspace prev_on_output
 | |
|     $flag+$alt+Shift+$right    move container to workspace next_on_output, workspace next_on_output
 | |
| 
 | |
|     $flag+$alt+Shift+Left      move container to workspace prev_on_output, workspace prev_on_output
 | |
|     $flag+$alt+Shift+Right     move container to workspace next_on_output, workspace next_on_output
 | |
| 
 | |
|     # Use your mouse to scroll between workspaces
 | |
|     --whole-window $flag+$scrollUp      workspace prev_on_output
 | |
|     --whole-window $flag+$scrollDown    workspace next_on_output
 | |
| }
 | |
| 
 | |
| bindgesture {
 | |
|     swipe:3:right workspace prev_on_output
 | |
|     swipe:3:left  workspace next_on_output
 | |
| }
 | |
| 
 | |
| # Outputs
 | |
| bindsym {
 | |
|     # Use "left" and "up" at the same time to mimic "previous"
 | |
|     # Use "right" and "down" at the same time to mimic "next"
 | |
|     # Though this does not work when using multiple screens, it's an intermediary solution until Sway supports "output next/previous"
 | |
|     $flag+Control+$up         focus output left,  focus output up
 | |
|     $flag+Control+$down       focus output right, focus output down
 | |
| 
 | |
|     $flag+Control+Up          focus output left,  focus output up
 | |
|     $flag+Control+Down        focus output right, focus output down
 | |
| 
 | |
|     $flag+$alt+$up            focus output left,  focus output up
 | |
|     $flag+$alt+$down          focus output right, focus output down
 | |
| 
 | |
|     $flag+$alt+Up             focus output left,  focus output up
 | |
|     $flag+$alt+Down           focus output right, focus output down
 | |
| 
 | |
|     $flag+Control+Shift+$up   move container to output left,  focus output left \
 | |
|                               move container to output up,    focus output up
 | |
|     $flag+Control+Shift+$down move container to output right, focus output right \
 | |
|                               move container to output down,  focus output down
 | |
| 
 | |
|     $flag+Control+Shift+Up    move container to output left,  focus output left \
 | |
|                               move container to output up,    focus output up
 | |
|     $flag+Control+Shift+Down  move container to output right, focus output right \
 | |
|                               move container to output down,  focus output down
 | |
| 
 | |
|     $flag+$alt+Shift+$up      move container to output left,  focus output left \
 | |
|                               move container to output up,    focus output up
 | |
|     $flag+$alt+Shift+$down    move container to output right, focus output right \
 | |
|                               move container to output down,  focus output down
 | |
| 
 | |
|     $flag+$alt+Shift+Up       move container to output left,  focus output left \
 | |
|                               move container to output up,    focus output up
 | |
|     $flag+$alt+Shift+Down     move container to output right, focus output right \
 | |
|                               move container to output down,  focus output down
 | |
| }
 | |
| 
 | |
| # System
 | |
| bindsym --locked {
 | |
|     # Brightness
 | |
|     XF86MonBrightnessDown       exec brightnessctl -e s 5%- && $notify -b
 | |
|     XF86MonBrightnessUp         exec brightnessctl -e s +5% && $notify -b
 | |
| 
 | |
|     # Audio
 | |
|     XF86AudioRaiseVolume        exec wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 2%+ && $notify -v
 | |
|     XF86AudioLowerVolume        exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && $notify -v
 | |
|     XF86AudioMute               exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && $notify -v
 | |
|     XF86AudioMicMute            exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
 | |
| 
 | |
|     # Media
 | |
|     XF86AudioPlay               exec playerctl play-pause
 | |
|     XF86AudioPrev               exec playerctl previous
 | |
|     XF86AudioNext               exec playerctl next
 | |
| 
 | |
|     Shift+XF86AudioMute         exec playerctl play-pause
 | |
|     Shift+XF86AudioLowerVolume  exec playerctl previous
 | |
|     Shift+XF86AudioRaiseVolume  exec playerctl next
 | |
| 
 | |
|     # Other special keys
 | |
|     XF86Calculator              exec qalculate-gtk
 | |
| }
 | |
| 
 | |
| bindgesture hold:3              exec playerctl play-pause
 | |
| 
 | |
| # Shortcuts
 | |
| bindsym {
 | |
|     # Reload sway
 | |
|     $alt+Shift+r reload
 | |
|     # Dialog to exit sway
 | |
|     $alt+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'
 | |
|     
 | |
|     # Kill focused window
 | |
|     $flag+q        kill
 | |
|     # Start a terminal
 | |
|     $flag+Return   exec $term
 | |
|     Control+$alt+t exec $term
 | |
| 
 | |
|     $alt+space     exec $menu
 | |
|     $alt+Tab       focus prev
 | |
|     $flag+Tab      exec $window_switcher
 | |
| 
 | |
|     --whole-window $alt+$scrollUp   focus prev
 | |
|     --whole-window $alt+$scrollDown focus next
 | |
| 
 | |
|     # Lock the screen
 | |
|     $flag+Delete   exec $lock
 | |
|     
 | |
|     # File explorer
 | |
|     $flag+e        exec $term -e vifm
 | |
| }
 | |
| 
 | |
| bindgesture {
 | |
|     # Also show the bar, hide when finished
 | |
|     swipe:3:up    bar hidden_state show, exec "$window_switcher; swaymsg bar hidden_state hide"
 | |
|     swipe:4:up    exec "$menu; swaymsg bar hidden_state hide"
 | |
| 
 | |
|     # Cancel and hide bar
 | |
|     swipe:down    exec pkill rofi, bar hidden_state hide
 | |
| }
 |