.dotfiles/sway/bindings

344 lines
12 KiB
Plaintext
Raw Permalink Normal View History

2022-04-19 04:45:01 +00:00
# vim: ft=sh
2024-02-01 04:38:41 +00:00
# Vim-style navigation and movement
2022-04-19 04:45:01 +00:00
# Vim navigation between containers
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Add Shift: move containers around display
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor 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
## Home Row Left
# Index Stretch: todo.txt
2023-01-17 19:06:19 +00:00
bindsym $mod+i exec scripts/waybar/waybar-todo.sh
2022-04-19 04:45:01 +00:00
# Add Shift: resize mode ($mod + right-mouse is easier)
bindsym $mod+Shift+i mode "resize"
# Index: start tofi (launch applications)
2023-11-18 01:37:02 +00:00
bindsym $mod+u exec ${HOME}/scripts/tofi/tofi-drun.sh
2022-04-19 04:45:01 +00:00
# Add Shift: Alternative launcher for literal commands
2023-11-18 01:37:02 +00:00
bindsym $mod+Shift+u exec ${HOME}/.local/bin/gmrun
2022-04-19 04:45:01 +00:00
2024-01-31 20:33:45 +00:00
# Middle: Fedora distrobox
bindsym $mod+e exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/fedora.toml
2022-04-19 04:45:01 +00:00
# Add Shift: start a remote shell
2023-11-18 01:37:02 +00:00
# TODO: bindsym $mod+Shift+e exec ${HOME}/scripts/wofi/wofi-ssh-menu.sh
bindsym $mod+Shift+e exec ${HOME}/scripts/rofi/rofi-ssh-menu.sh
2022-04-19 04:45:01 +00:00
# Ring: start a file manager
2024-02-08 23:58:11 +00:00
bindsym $mod+o exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/fedora.toml -e yazi
2022-04-19 04:45:01 +00:00
# Add Shift: VPN quick menu
2024-02-08 23:58:11 +00:00
bindsym $mod+Shift+o exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/host.toml -e sudo YAZI_CONFIG_HOME=${HOME}/.dotfiles/yazi ${HOME}/.nix-profile/bin/yazi
2022-04-19 04:45:01 +00:00
# Pinky: Open Browser
2024-02-08 23:58:11 +00:00
# TODO: bindsym $mod+a exec ${HOME}/scripts/tofi/tofi-vpn.sh
bindsym $mod+a exec ${HOME}/scripts/rofi/rofi-openvpn.sh
2022-04-19 04:45:01 +00:00
# Add Shift: Secondary Browser
2023-11-18 01:37:02 +00:00
bindsym $mod+Shift+a exec ${HOME}/scripts/send-to-kodi.sh
2022-04-19 04:45:01 +00:00
2022-12-13 03:57:23 +00:00
### Above Home Row: Distroboxes
# Index Stretch: Unassigned (Alpine?)
# Add Shift: Unassigned
2024-01-22 02:42:09 +00:00
# Index: Host terminal (should be rarely used)
2024-01-28 00:48:27 +00:00
bindsym $mod+p exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/host.toml
2022-12-13 03:57:23 +00:00
# Add Shift: Fedora Ephemeral
2024-01-31 20:33:45 +00:00
bindsym $mod+Shift+p exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/fedora-ephemeral.toml
2022-12-13 03:57:23 +00:00
# Middle: Debian (Testing)
2024-01-28 00:48:27 +00:00
bindsym $mod+period exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/debian.toml
2022-12-13 03:57:23 +00:00
# Add Shift: Debian (Testing) Ephemeral
2024-01-28 00:48:27 +00:00
bindsym $mod+Shift+period exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/debian-ephemeral.toml
2022-12-13 03:57:23 +00:00
# Ring: Ubuntu
2024-01-28 00:48:27 +00:00
bindsym $mod+comma exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/ubuntu.toml
2022-12-13 03:57:23 +00:00
# Add Shift: ubuntu Ephemeral
2024-01-28 00:48:27 +00:00
bindsym $mod+Shift+comma exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/ubuntu-ephemeral.toml
2022-12-13 03:57:23 +00:00
# Pinky: ArchLinux
2024-01-28 00:48:27 +00:00
bindsym $mod+apostrophe exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/archlinux.toml
2022-12-13 03:57:23 +00:00
# Add Shift: ArchLinux Ephemeral
2024-01-28 00:48:27 +00:00
bindsym $mod+Shift+apostrophe exec /usr/bin/alacritty --config-file ${HOME}/.dotfiles/alacritty/archlinux-ephemeral.toml
2022-04-19 04:45:01 +00:00
## Below Home Row: Program hotkeys as applicable to workspace number
# Pinky Irssi
bindsym $mod+semicolon exec xterm -e /bin/bash -c "ssh -i ~/.ssh/no_pass jpm@john.me.tz -t 'screen -x irssi'"
#Add Shift: Discord
bindsym $mod+Shift+Semicolon exec flatpak run com.discordapp.Discord
# Ring: Email
2024-06-19 22:47:48 +00:00
bindsym $mod+q exec flatpak run org.mozilla.Thunderbird
2022-04-19 04:45:01 +00:00
# Add Shift: Calendar (deprecated, TODO: figure out a new calendar)
bindsym $mod+Shift+q exec flatpak run io.github.ungoogled_software.ungoogled_chromium --app="https://papillon.john.me.tz" --socket=wayland --ozone-platform=wayland --enable-reatures=UseOzonePlatform
2022-04-19 04:45:01 +00:00
#bindsym $mod+Shift+q exec orage -t
# Middle: Occupied at top; switch to container below
# Add Shift: Occupied at top; move focused container down
# Index: Occupied at top; switch to container above
# Add Shift: Occupied at top; move focused container up
2023-11-17 20:26:35 +00:00
# Index Stretch: Clipboard snippets
bindsym $mod+x exec ${HOME}/scripts/tofi/tofi-snippets.sh
2024-10-02 18:33:14 +00:00
bindsym $mod+Shift+x exec ${HOME}/scripts/tofi/tofi-emoji.sh
2022-04-19 04:45:01 +00:00
### Right Hand
## Home Row Right : Window/workspace management; power
# Index Stretch: set future splits to horizontal (to the side of the home key)
bindsym $mod+d split h
# Add Shift: Unassigned
#bindsym $mod+Shift+d
# Index : Occupied above; switch to container to the left
# Add Shift: Occupied above; move container to the left
# TODO: Middle: Switch to output to the left
# TODO: Add Shift: Move workspace to output to the left
# TODO: Ring: Switch to output to the right
# TODO: Add Shift: Move workspace to output to the right
# Pinky: toggle float/tile
bindsym $mod+s floating toggle
# Add Shift: Toggle stickying of floating container to the focused workspace
bindsym $mod+Shift+s sticky toggle
# Pinky Stretch: kill focused container
bindsym $mod+minus kill
2022-09-23 22:28:04 +00:00
# Add Shift: Power menu
2023-11-18 01:37:02 +00:00
bindsym $mod+underscore exec ${HOME}/scripts/tofi/tofi-menu.sh power
2022-04-19 04:45:01 +00:00
## Above Home Row: Change containers arrangement methods
# Index Stretch: Fullscreen
bindsym $mod+f fullscreen
# Add Shift: Unassigned
#bindsym $mod+Shift+f
# Index: split layout (toggles vertical/horizontal)
bindsym $mod+g layout toggle split
# Add Shift: Unassigned
#bindsym $mod+Shift+g
# Middle: tabbed layout
bindsym $mod+c layout tabbed
# Add Shift: Unassigned
#bindsym $mod+Shift+c
# Ring: stacked layout
bindsym $mod+r layout stacking
# Add Shift: Unassigned
#bindsym $mod+Shift+r
# Pinky: Occupied above; switch to container to the right
# Add Shift: Occupied above; move container to the right
# Pinky Stretch: Unassigned
#bindsym $mod+slash
# Add Shift: Unassigned
#bindsym $mod+Shift+slash
## Below Home Row: Preemplive split direction, focus switching
2022-09-22 18:31:17 +00:00
# Index Stretch: Rotate wallpaper
2023-11-18 01:37:02 +00:00
bindsym $mod+b exec ${HOME}/scripts/sway/rotate-wallpaper.sh
2022-04-19 04:45:01 +00:00
# Add Shift: Unassigned
#bindsym $mod+Shift+b
# Index: set future splits to vertical (beneath the home key, get it?)
bindsym $mod+m split v
# Add Shift: Unassigned
#bindsym $mod+Shift+m
# Middle: focus parent
bindsym $mod+w focus parent
# Add shift: focus child
bindsym $mod+Shift+w focus child
# Ring: Unassigned
#bindsym $mod+v
# Add Shift: Unassigned
#bindsym $mod+Shift+v
# Pinky: change between focuses
bindsym $mod+z focus mode_toggle
# Add Shift: Unassigned
#bindsym $mod+Shift+z
### Numberline: Workspace Swtching and Movement
# Grave: DIY version of Tilde pop-up terminal
2023-11-18 01:37:02 +00:00
bindsym $mod+Grave exec ${HOME}/scripts/sway/popup-term.pl
2022-04-19 04:45:01 +00:00
# Add Shift: Switch to Grave workspace
bindsym $mod+Shift+Grave move container to workspace grave
# Add Control: Move to Grave workspace
bindsym $mod+Control+Grave workspace grave
# Numbers: 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 0
# Add Shift: 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 0
## Add Control: Switch to overflow workspaces
bindsym $mod+Control+1 workspace C1
bindsym $mod+Control+2 workspace C2
bindsym $mod+Control+3 workspace C3
bindsym $mod+Control+4 workspace C4
bindsym $mod+Control+5 workspace C5
bindsym $mod+Control+6 workspace C6
bindsym $mod+Control+7 workspace C7
bindsym $mod+Control+8 workspace C8
bindsym $mod+Control+9 workspace C9
bindsym $mod+Control+0 workspace C0
## Add Control+Shift: Move container to overflow workspaces
bindsym $mod+Control+Shift+1 move container to workspace C1
bindsym $mod+Control+Shift+2 move container to workspace C2
bindsym $mod+Control+Shift+3 move container to workspace C3
bindsym $mod+Control+Shift+4 move container to workspace C4
bindsym $mod+Control+Shift+5 move container to workspace C5
bindsym $mod+Control+Shift+6 move container to workspace C6
bindsym $mod+Control+Shift+7 move container to workspace C7
bindsym $mod+Control+Shift+8 move container to workspace C8
bindsym $mod+Control+Shift+9 move container to workspace C9
bindsym $mod+Control+Shift+0 move container to workspace C0
# Square bracket left: Unassigned; pretty sure that this keycode is incorrect
#bindsym $mod+[
# Add Shift: Unassigned
#bindsym $mod+Shift+[
# Square bracket right: Unassigned; pretty sure that this keycode is incorrect
#bindsym $mod+]
# Add Shift: Unassigned
#bindsym $mod+Shift+]
# Backspace: switch between previous workspace
bindsym $mod+Backspace workspace back_and_forth
# Add Shift: move container between previous workspaces
bindsym $mod+Shift+Backspace move container to workspace back_and_forth
### Function row
# Escape: Lock
bindsym $mod+Escape exec ${HOME}/scripts/sway/toggle_fade.sh
# Add Shift: Blank screen
2022-09-24 02:36:35 +00:00
bindsym $mod+Shift+Escape exec /usr/bin/sh -c "sleep 1 ; /usr/bin/kill -SIGUSR1 $(pgrep swayidle)"
2022-04-19 04:45:01 +00:00
# F1: Mute Audio
2023-11-18 01:37:02 +00:00
bindsym $mod+F1 ${HOME}/scripts/audio/mute.sh
2022-04-19 04:45:01 +00:00
# F2: Volume down
#bindsym $mod+F2
# F3: Volume up
#bindsym $mod+F3
# F4: Mute microphone
#bindsym $mod+F4
# F5: Brightness down
2023-11-18 01:37:02 +00:00
bindsym $mod+F5 exec ${HOME}/scripts/thinkpad/blc.pl --notify --
2022-04-19 04:45:01 +00:00
# F6: Brightness up
2023-11-18 01:37:02 +00:00
bindsym $mod+F6 exec ${HOME}/scripts/thinkpad/blc.pl --notify ++
2022-04-19 04:45:01 +00:00
# F7: Switch between docked and detached
2023-11-18 01:37:02 +00:00
bindsym $mod+F7 ${HOME}/scripts/thinkpad/toggle_outputs.sh
2022-04-19 04:45:01 +00:00
# F8: Toggle wifi
#bindsym $mod+F8
# F9: Open settings
#bindsym $mod+F9
# F10: Open bluetooth devices
#bindsym $mod+F10
# F10: TODO: use actual PrtSc button
bindsym $mod+F10 exec grim
# Add Shift: capture region
#bindsym $mod+Shift+F10
# F11: Keyboard Backlight
2023-11-18 01:37:02 +00:00
bindsym $mod+F11 exec ${HOME}/scripts/thinkpad/kbd_backlight.pl 2> /dev/null
2022-04-19 04:45:01 +00:00
# F12: Unassigned
#bindsym $mod+F12
# Home+End: Increase Brightness
2023-11-18 01:37:02 +00:00
bindsym $mod+Home exec ${HOME}/scripts/thinkpad/blc.pl --notify ++
2022-04-19 04:45:01 +00:00
# Add Shift: Change Bigly
2023-11-18 01:37:02 +00:00
bindsym $mod+Shift+Home exec ${HOME}/scripts/thinkpad/blc.pl --notify += 10
2022-04-19 04:45:01 +00:00
# End: Reduce Brightness
2023-11-18 01:37:02 +00:00
bindsym $mod+End exec ${HOME}/scripts/thinkpad/blc.pl --notify --
2022-04-19 04:45:01 +00:00
# Add Shift: Change Bigly
2023-11-18 01:37:02 +00:00
bindsym $mod+Shift+End exec ${HOME}/scripts/thinkpad/blc.pl --notify -= 10
2022-04-19 04:45:01 +00:00
# Insert: Unassigned
#bindsym $mod+Insert
# Delete: Clear all notifications
bindsym $mod+Delete exec /usr/bin/makoctl dismiss -a
# Add Shift: open mako history
#bindsym $mod+Delete exec ${HOME}/scripts/sway/mako-history.sh
2022-04-19 04:45:01 +00:00
# Miscellaneous
2022-09-22 17:49:05 +00:00
# Tab: Quick change. Shows all windows on all pages by name in wofi
2023-11-18 01:37:02 +00:00
bindsym $mod+tab exec ${HOME}/scripts/sway/sway-alt-tab.sh
2022-04-19 04:45:01 +00:00
# Resize Mode (you can also use the mouse for that): Entered with $mod+i
mode "resize" {
2023-01-07 17:03:31 +00:00
# Vim direction key to modify the size of containers
# D: shrink width
bindsym d resize shrink width 10 px or 10 ppt
# N: grow width
bindsym n resize grow width 10 px or 10 ppt
# H: shrink height
bindsym h resize shrink height 10 px or 10 ppt
# T: grow height
bindsym t resize grow height 10 px or 10 ppt
# Same system with half of the effect for more granularity with the arrow keys
bindsym Left resize shrink width 5 px or 5 ppt
bindsym Down resize grow height 5 px or 5 ppt
bindsym Up resize shrink height 5 px or 5 ppt
bindsym Right resize grow width 5 px or 5 ppt
# Switch back to normal mode: Enter, Escape or Q
bindsym q mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
2022-04-19 04:45:01 +00:00
}