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