310 lines
9.3 KiB
INI
310 lines
9.3 KiB
INI
# Unify all key bindings to conveniently keep them consistent
|
|
|
|
# Target: `i3wm` defaults are the spec
|
|
# => We make GNOME/forge bend to match
|
|
|
|
# Modifier layers
|
|
#
|
|
# <Control> alone In-app shortcuts
|
|
# <Control><Shift> alone In-app shortcuts
|
|
#
|
|
# <Super> alone Window and workspace navigation
|
|
#
|
|
# <Super><Shift> Move window in a direction or to a workspace
|
|
#
|
|
# <Super><Control> Swap windows (GNOME/forge only)
|
|
#
|
|
# <Super><Alt> Grow windows
|
|
# <Super><Alt><Shift> Shrink windows
|
|
#
|
|
# <Control><Alt> Media, session/power, and GNOME/forge-only extras
|
|
|
|
|
|
[org/gnome/desktop/wm/keybindings]
|
|
|
|
activate-window-menu=@as []
|
|
|
|
# <Super><Shift>q is i3wm's default
|
|
close=['<Super>q', '<Super><Shift>q', '<Alt>F4']
|
|
|
|
maximize=@as []
|
|
unmaximize=@as []
|
|
toggle-maximized=['<Super>f', 'F11']
|
|
minimize=@as []
|
|
|
|
switch-applications=@as []
|
|
switch-applications-backward=@as []
|
|
|
|
switch-input-source=@as []
|
|
switch-input-source-backward=@as []
|
|
|
|
switch-group=@as []
|
|
switch-group-backward=@as []
|
|
switch-panels=@as []
|
|
switch-panels-backward=@as []
|
|
|
|
cycle-group=@as []
|
|
cycle-group-backward=@as []
|
|
cycle-panels=@as []
|
|
cycle-panels-backward=@as []
|
|
cycle-windows=@as []
|
|
cycle-windows-backward=@as []
|
|
|
|
begin-move=@as []
|
|
begin-resize=@as []
|
|
|
|
# <Super>1-5 is i3wm's default
|
|
switch-to-workspace-1=['<Super>1']
|
|
switch-to-workspace-2=['<Super>2']
|
|
switch-to-workspace-3=['<Super>3']
|
|
switch-to-workspace-4=['<Super>4']
|
|
switch-to-workspace-5=['<Super>5']
|
|
switch-to-workspace-6=['<Super>6']
|
|
switch-to-workspace-7=['<Super>7']
|
|
switch-to-workspace-8=['<Super>8']
|
|
switch-to-workspace-9=['<Super>9']
|
|
switch-to-workspace-10=['<Super>0']
|
|
switch-to-workspace-last=@as []
|
|
switch-to-workspace-up=@as []
|
|
switch-to-workspace-down=@as []
|
|
switch-to-workspace-left=['<Super>comma']
|
|
# In [org/freedesktop/ibus/panel/emoji], "hotkey" must be "@as []"
|
|
# to turn GNOME's Emoji picker off, which also uses <Super>period
|
|
switch-to-workspace-right=['<Super>period']
|
|
|
|
# <Super><Shift>1-5 is i3wm's default
|
|
move-to-workspace-1=['<Super><Shift>1']
|
|
move-to-workspace-2=['<Super><Shift>2']
|
|
move-to-workspace-3=['<Super><Shift>3']
|
|
move-to-workspace-4=['<Super><Shift>4']
|
|
move-to-workspace-5=['<Super><Shift>5']
|
|
move-to-workspace-6=['<Super><Shift>6']
|
|
move-to-workspace-7=['<Super><Shift>7']
|
|
move-to-workspace-8=['<Super><Shift>8']
|
|
move-to-workspace-9=['<Super><Shift>9']
|
|
move-to-workspace-10=['<Super><Shift>0']
|
|
move-to-workspace-last=@as []
|
|
move-to-workspace-up=@as []
|
|
move-to-workspace-down=@as []
|
|
move-to-workspace-left=['<Super><Shift>comma']
|
|
move-to-workspace-right=['<Super><Shift>period']
|
|
|
|
|
|
|
|
[org/gnome/mutter/keybindings]
|
|
|
|
toggle-tiled-left=@as []
|
|
toggle-tiled-right=@as []
|
|
|
|
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys]
|
|
|
|
email=@as []
|
|
help=@as []
|
|
home=@as []
|
|
search=['<Super>slash']
|
|
terminal=@as []
|
|
www=@as []
|
|
|
|
screensaver=@as []
|
|
logout=@as []
|
|
|
|
# Besides the numkeys, we use "/", ".", and "," to control the media
|
|
play=['<Control><Alt>slash']
|
|
next=['<Control><Alt>Right']
|
|
previous=['<Control><Alt>Left']
|
|
|
|
# I often type "m" for "mute" intuitively
|
|
volume-mute=['<Control><Alt>m']
|
|
|
|
volume-up=['<Control><Alt>Up']
|
|
volume-down=['<Control><Alt>Down']
|
|
|
|
magnifier=@as []
|
|
magnifier-zoom-in=@as []
|
|
magnifier-zoom-out=@as []
|
|
|
|
on-screen-keyboard=@as []
|
|
screenreader=@as []
|
|
|
|
custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom9/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom10/']
|
|
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
|
|
binding='<Control><Alt>Home'
|
|
command='gnome-session-quit --reboot'
|
|
name='Reboot Machine'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1]
|
|
binding='<Control><Alt>End'
|
|
command='gnome-session-quit --power-off'
|
|
name='Shutdown Machine'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2]
|
|
binding='<Control><Alt>BackSpace'
|
|
command='gnome-session-quit --logout'
|
|
name='Log out (1)'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3]
|
|
binding='<Control><Alt>Delete'
|
|
command='gnome-session-quit --logout'
|
|
name='Log out (2)'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4]
|
|
binding='<Control><Alt>l'
|
|
command='loginctl lock-session'
|
|
name='Lock Screen'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5]
|
|
binding='<Control><Alt>s'
|
|
command='systemctl suspend'
|
|
name='Suspend'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6]
|
|
binding='<Super>Tab'
|
|
command='rofi -show window'
|
|
name='Windows'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7]
|
|
binding='<Super>space'
|
|
command='rofi -show drun'
|
|
name='Launcher (1)'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8]
|
|
# i3wm's default
|
|
binding='<Super>d'
|
|
command='rofi -show drun'
|
|
name='Launcher (2)'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom9]
|
|
# i3wm's default, used for our "primary" terminal with `zsh`
|
|
binding='<Super>Return'
|
|
command='/usr/bin/alacritty'
|
|
name='Terminal (alacritty)'
|
|
|
|
[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom10]
|
|
# Gnome's actual default, used for our "secondary" terminal with `bash`
|
|
binding='<Control><Alt>t'
|
|
command='/usr/bin/gnome-terminal'
|
|
name='Terminal (gnome-terminal)'
|
|
|
|
|
|
|
|
[org/gnome/shell/extensions/forge/keybindings]
|
|
|
|
prefs-open=['<Control><Alt>p']
|
|
|
|
focus-border-toggle=@as []
|
|
prefs-tiling-toggle=@as []
|
|
|
|
# Changing the gap size dynamically is not needed
|
|
window-gap-size-decrease=@as []
|
|
window-gap-size-increase=@as []
|
|
|
|
workspace-active-tile-toggle=['<Super><Shift>y']
|
|
|
|
window-toggle-float=['<Super><Shift>space']
|
|
window-toggle-always-float=@as []
|
|
|
|
window-focus-up=['<Super>k', '<Super>Up']
|
|
window-focus-down=['<Super>j', '<Super>Down']
|
|
window-focus-left=['<Super>h', '<Super>Left']
|
|
window-focus-right=['<Super>l', '<Super>Right']
|
|
|
|
window-move-up=['<Super><Shift>k', '<Super><Shift>Up']
|
|
window-move-down=['<Super><Shift>j', '<Super><Shift>Down']
|
|
window-move-left=['<Super><Shift>h', '<Super><Shift>Left']
|
|
window-move-right=['<Super><Shift>l', '<Super><Shift>Right']
|
|
|
|
window-swap-up=['<Super><Control>k', '<Super><Control>Up']
|
|
window-swap-down=['<Super><Control>j', '<Super><Control>Down']
|
|
window-swap-left=['<Super><Control>h', '<Super><Control>Left']
|
|
window-swap-right=['<Super><Control>l', '<Super><Control>Right']
|
|
|
|
window-swap-last-active=['<Super><Control>Return']
|
|
|
|
# <Super><Alt> + hjkl grows the edge in that direction,
|
|
# whereas <Super><Alt><Shift> + hjkl shrinks the same edge, mirroring i3's resize mode
|
|
window-resize-top-increase=['<Super><Alt>k', '<Super><Alt>Up']
|
|
window-resize-top-decrease=['<Super><Alt><Shift>j', '<Super><Alt><Shift>Down']
|
|
window-resize-bottom-increase=['<Super><Alt>j', '<Super><Alt>Down']
|
|
window-resize-bottom-decrease=['<Super><Alt><Shift>k', '<Super><Alt><Shift>Up']
|
|
window-resize-left-increase=['<Super><Alt>h', '<Super><Alt>Left']
|
|
window-resize-left-decrease=['<Super><Alt><Shift>l', '<Super><Alt><Shift>Right']
|
|
window-resize-right-increase=['<Super><Alt>l', '<Super><Alt>Right']
|
|
window-resize-right-decrease=['<Super><Alt><Shift>h', '<Super><Alt><Shift>Left']
|
|
|
|
window-snap-center=@as []
|
|
window-snap-one-third-left=@as []
|
|
window-snap-one-third-right=@as []
|
|
window-snap-two-third-left=@as []
|
|
window-snap-two-third-right=@as []
|
|
|
|
# Container stuff
|
|
con-split-horizontal=['<Super>b']
|
|
con-split-vertical=['<Super>v']
|
|
con-split-layout-toggle=['<Super>e']
|
|
con-stacked-layout-toggle=['<Super>s']
|
|
con-tabbed-layout-toggle=['<Super>w']
|
|
con-tabbed-showtab-decoration-toggle=@as []
|
|
|
|
|
|
|
|
[org/gnome/shell/extensions/nightthemeswitcher/time]
|
|
|
|
nightthemeswitcher-ondemand-keybinding=['<Control><Alt>d']
|
|
|
|
|
|
|
|
[org/gnome/shell/extensions/project-hamster]
|
|
|
|
show-hamster-dropdown=['<Control><Alt>h']
|
|
|
|
|
|
|
|
[org/gnome/shell/keybindings]
|
|
|
|
focus-active-notification=@as []
|
|
open-application-menu=@as []
|
|
|
|
# Disable Gnome's default behavior of opening "favorite" apps
|
|
# with <Super>1-10 and instead switch workspaces
|
|
switch-to-application-1=@as []
|
|
switch-to-application-2=@as []
|
|
switch-to-application-3=@as []
|
|
switch-to-application-4=@as []
|
|
switch-to-application-5=@as []
|
|
switch-to-application-6=@as []
|
|
switch-to-application-7=@as []
|
|
switch-to-application-8=@as []
|
|
switch-to-application-9=@as []
|
|
switch-to-application-10=@as []
|
|
|
|
toggle-message-tray=['<Control><Alt>n']
|
|
toggle-overview=@as []
|
|
|
|
|
|
|
|
[org/gnome/terminal/legacy/keybindings]
|
|
|
|
close-tab='<Control>w'
|
|
close-window='<Control>q'
|
|
|
|
find='<Control>f'
|
|
find-clear=''
|
|
find-next='<Control>g'
|
|
find-previous='<Control><Shift>g'
|
|
|
|
new-tab='<Control>t'
|
|
new-window='<Control>n'
|
|
|
|
# "equal" because it is below "plus" on a US keyboard
|
|
zoom-in='<Control>equal'
|
|
zoom-out='<Control>minus'
|
|
|
|
|
|
|
|
# To avoid conflict with "switch-to-workspace-right" in [org/gnome/desktop/wm/keybindings]
|
|
[org/freedesktop/ibus/panel/emoji]
|
|
hotkey=@as []
|