# Unify all key bindings to conveniently keep them consistent # Target: `i3wm` defaults are the rough spec, # but with "hjkl" for direction instead of "jkl;" # and arrows mapped differently than "hjkl" # => We make GNOME/forge bend to match # #-------------------------------------------------------------------------------------------------- # Modifier Layers #-------------------------------------------------------------------------------------------------- # # - Everything bound globally lives on # # + ... Navigate windows and workspaces, # which includes launching the app we want to get to # # + ... Move windows within or to another workspace # # + ... Swap and float windows (GNOME/forge only) # + primary system layer, including # media, devices, session, power, and some more # # + ... Grow windows # + secondary system layer, including # lights, brightness, and overflow from primary # # + ... Shrink windows # + tertiary layer # # Each group may contain a few self-explanatory exceptions # # - These layers are never bound globally and stay free for the active app: # # + ... # # + ... Browser extension shortcuts # # + ... # # + ... Browser extension shortcuts # # - F1-F12 are deliberately not bound globally, with a few exceptions, # # F1 to show these key bindings # # F4 to close windows # # F11 to (un-)maximize a window # # F1-F12 are claimed by the X11 server for switching virtual terminals # # - A few exceptions to the layers above are kept on purpose, # either because a binding is so common that people expect it, # or because a key already says on its own what it does # # - Note that "compose:ralt" in ~/.config/gnome-settings/misc.ini # turns the right key into # => Every binding must be pressed with the LEFT # #------------------------------------------------------------------------------------------------------------------------------------------------ # Layers #------------------------------------------------------------------------------------------------------------------------------------------------ # # - "hjkl" act on windows in the tree # - arrows act on the "machine" # - "WS" => "workspace" # - Rows read from window navigation over launchers to system control, # with the destructive session & power rows last # # | Navigation | Window Management | Primary System | Secondary System | Tertiary System # | | | | | # Key(s) | | | | | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # | Jump to window ... | Move window ... | Swap window with ... | Grow window at ... | Shrink window at ... # k | ... up | ... up | ... window above | ... top edge | ... bottom edge # j | ... down | ... down | ... window below | ... bottom edge | ... top edge # h | ... left | ... left | ... window left | ... left edge | ... right edge # l | ... right | ... right | ... window right | ... right edge | ... left edge # | | | | | # | | | Adjust volume ... | Adjust brightness ... | # Up | | | ... up | ... up | # Down | | | ... down | ... down | # | | | | | # | | | Play ... | Seek ... | # Left | | | ... previous track | ... backward | # Right | | | ... next track | ... forward | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # m | Evolution | Maximize the window | Mute the volume | Mute the microphone | # | | | | | # f | Files (nautilus) | Toggle fullscreen | Toggle float ... | Toggle float ... | Toggle float ... # | | | ... for the window | ... for the app | ... for entire WS # | | | | | # q | | Close the window | | | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # b | Split beside | | Toggle bluetooth | Randomize wallpaper | # v | Split below | | (Un-)Mount the ~/Vault | | # e | Split toggle | | Show battery load | | # s | Stacked layout | | | | # w | Tabbed layout | | Toggle WiFi | Toggle airplane mode | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # grave ~ ` | Toggle last two WS | | Swap last two windows | | # | | | | | # n | Jump to first ... | Move window to ... | | | # | ... empty WS | ... first empty WS | | | # | | | | | # | Jump to WS ... | Move window to WS ... | | | # 1 to 0 | ... No. 1 to 0 | ... No. 1 to 0 | | | # | | | | Adjust key lights ... | # comma < , | ... on the left | ... on the left | | ... down | # period > . | ... on the right | ... on the right | | ... up | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # slash / ? | GNOME's app drawer | GNOME's search | GNOME's message tray | Toggle key lights | Open quick settings # | | | | | # Tab | Show open windows | | | | # | | | | | # space | Open the launcher | Run a command | Toggle media playback | | # | | | | | # d | Open the launcher | Run a command | | Toggle dark scheme | # | | | | | # Return t | Alacritty (zsh) | GNOME Terminal (bash) | | | # | | | | | # semicolon : ; | Type an emoji | Copy an emoji | | | # | | | | | # i | Firefox | Chromium | Google Chrome | Toggle touchpad | # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # | | | | Make night light ... | # bracketleft [ | | | | ... cooler | # bracketright ] | | | | ... warmer | # | | | | | # backslash \ | | | | Force night light ... | Turn night light ... # | | | | ... on/off | ... on/off # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # p | | | Open screenshot UI (1) | Capture the window (1) | Capture the screen (1) # | | | | | # r | | | Start screen recording | | Restart GNOME shell # ------------------+------------------------+------------------------+------------------------+------------------------+------------------------ # Escape | | | Lock screen | Suspend with lock (2) | Hibernate with lock (2) # | | | | | # BackSpace Delete | | | Log out | Reboot the machine | Shutdown the machine # | | | | | # Home | | | Reboot the machine | | # | | | | | # End | | | Shutdown the machine | | # # (1) If a machine has a Print key, # pressing Print (UI), Print (Window), and Print (Screen) # also works # (2) Bound in local/*.ini only, on machines that support it # #-------------------------------------------------------------------------------------------------- # Browser extension shortcuts #-------------------------------------------------------------------------------------------------- # # - Two in-app layers are used because no single layer is conflict-free: # + dodges Firefox's menu accelerators # and Vimium, which treats letter as the plain shifted letter # + keeps the c/d mnemonics for Dark Reader # # - Set manually, NOT managed by `dconf`: # + Chrome => chrome://extensions/shortcuts (use scope: "In Chrome") # + Firefox => about:addons -> gear icon -> "Manage Extension Shortcuts" # # - Notes: # + "compose:ralt" applies here too => Must press with the left # + b toggles the bookmarks toolbar in Firefox # + v shadows the browsers' "paste without formatting" # # Key | Extension | Action # ------------------------+----------------+----------------------------------------------------------------------- # l | Bitwarden | Open Bitwarden popup # comma | Bitwarden | Generate & copy password # period | Bitwarden | Autofill last login (i.e., "password") # | | # d | Dark Reader | Toggle extension for all sites # c | Dark Reader | Toggle extension for current site only # [org/gnome/desktop/wm/keybindings] activate-window-menu=@as [] always-on-top=@as [] # F4 is an exception to the F-key rule, # because everyone expects it close=['q', 'F4'] # F11 is an exception to the F-key rule, # because everyone expects it toggle-fullscreen=['f', 'F11'] toggle-maximized=['m'] maximize=@as [] unmaximize=@as [] 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 [] switch-windows=@as [] switch-windows-backward=@as [] cycle-group=@as [] cycle-group-backward=@as [] cycle-panels=@as [] cycle-panels-backward=@as [] # Kept mainly because other people may expect this; # otherwise, redundant because of Tab cycle-windows=['Tab'] cycle-windows-backward=['Tab'] begin-move=@as [] begin-resize=@as [] # Deprecated and ignored, listed only for completeness panel-main-menu=@as [] # GNOME's own run prompt on F2, # replaced by `rofi` on space panel-run-dialog=@as [] toggle-above=@as [] toggle-on-all-workspaces=@as [] show-desktop=@as [] # The following could also be populated automatically # in [org/gnome/shell/extensions/space-bar/shortcuts] # but we use the more deterministic configuration here 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-11=@as [] switch-to-workspace-12=@as [] switch-to-workspace-last=@as [] switch-to-workspace-up=@as [] switch-to-workspace-down=@as [] switch-to-workspace-left=[ 'comma'] switch-to-workspace-right=['period'] # "hotkey" in [desktop/ibus/panel/emoji] # must remove period from its (default) binding; # otherwise it contradicts "switch-to-workspace-right" # The following could also be populated automatically # in [org/gnome/shell/extensions/space-bar/shortcuts] # but we use the more deterministic configuration here 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-11=@as [] move-to-workspace-12=@as [] 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'] move-to-monitor-up=@as [] move-to-monitor-down=@as [] move-to-monitor-left=@as [] move-to-monitor-right=@as [] [org/gnome/shell/extensions/forge/keybindings] # The latest `forge` on https://extensions.gnome.org/extension/4481/forge/ # may break "window-toggle-float", and is currently not maintained # => Build from source with `gnome-shell-extension-forge-install` window-toggle-float=['f'] window-toggle-always-float=['f'] window-focus-up=[ 'k'] window-focus-down=[ 'j'] window-focus-left=[ 'h'] window-focus-right=['l'] window-move-up=[ 'k'] window-move-down=[ 'j'] window-move-left=[ 'h'] window-move-right=['l'] window-swap-up=[ 'k'] window-swap-down=[ 'j'] window-swap-left=[ 'h'] window-swap-right=['l'] window-swap-last-active=['grave'] # + hjkl pushes an edge outward (i.e., "grow") # while + hjkl pulls the opposite edge inward (i.e., "shrink") window-resize-top-increase=[ 'k'] window-resize-top-decrease=[ 'j'] window-resize-bottom-increase=['j'] window-resize-bottom-decrease=['k'] window-resize-left-increase=[ 'h'] window-resize-left-decrease=[ 'l'] window-resize-right-increase=[ 'l'] window-resize-right-decrease=[ 'h'] 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 [] window-gap-size-decrease=@as [] window-gap-size-increase=@as [] # Split direction is the container's axis, not the divider drawn # - b => "beside"/"horizontal" => new window opens "beside", to the right # - v => "vertical" => new window opens below 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 [] workspace-active-tile-toggle=['f'] prefs-open=@as [] # Allow tiling via drag-and-drop with the mouse mod-mask-mouse-tile='None' focus-border-toggle=@as [] prefs-tiling-toggle=@as [] [org/gnome/mutter/keybindings] cancel-input-capture=@as [] # We must set the XF86 key here explicitly # because by default p is also bound with it # and we want to disable this switch-monitor=['XF86Display'] toggle-tiled-left=@as [] toggle-tiled-right=@as [] [org/gnome/settings-daemon/plugins/media-keys] search=['slash'] calculator=@as [] control-center=@as [] email=@as [] help=@as [] home=@as [] media=@as [] www=@as [] # Session & Power related # "Escape" means "step away" while the session survives, # and "the deeper the layer, the deeper the sleep" # # `suspend` and `hibernate` are bound per machine in local/*.ini # because not every machine supports them: # - `mem` and `disk` must appear in /sys/power/state # - `hibernate` additionally needs more swap than RAM, # with swap inside the LUKS container # screensaver=['Escape'] # # Reserved: Escape suspend=@as [] # # Reserved: Escape hibernate=@as [] # "BackSpace" means "end the session", # and "the deeper the layer, the further the machine goes" # # "Delete" mirrors it because on many keyboards it sits in the top right corner # while "BackSpace" is the one key guaranteed to exist # # "Home" and "End" say what they do on their own # (i.e., "back to the start" and "the end"); # so, they need no layer to express severity # and serve as intuitive shortcuts logout=[ 'BackSpace', 'Delete'] reboot=[ 'BackSpace', 'Delete', 'Home'] shutdown=['BackSpace', 'Delete', 'End'] # The physical power button # is disarmed by "power-button-action" in ~/.config/gnome-settings/misc.ini # => A binding here would do "nothing" anyways power=@as [] # Devices # Shows an OSD message only if a machine has a battery battery-status=['e'] touchpad-toggle=['i'] touchpad-on=@as [] touchpad-off=@as [] # "Airplane mode", i.e., all radios at once # (for WiFi only see w below) rfkill=['w'] rfkill-bluetooth=['b'] # Audio related # `play` toggles, so `pause` and `stop` are not needed play=['space'] pause=@as [] stop=@as [] eject=@as [] next=[ 'Right'] previous=['Left'] playback-forward=['Right'] playback-rewind=[ 'Left'] playback-random=@as [] playback-repeat=@as [] volume-up=['Up'] volume-up-precise=@as [] volume-up-quiet=@as [] volume-down=['Down'] volume-down-precise=@as [] volume-down-quiet=@as [] volume-mute=['m'] volume-mute-quiet=@as [] mic-mute=['m'] # Screen and light related # "Auto rotate" rotate-video-lock=@as [] toggle-contrast=@as [] screen-brightness-up=[ 'Up'] screen-brightness-down=['Down'] screen-brightness-cycle=@as [] magnifier=@as [] magnifier-zoom-in=@as [] magnifier-zoom-out=@as [] decrease-text-size=@as [] increase-text-size=@as [] screenreader=@as [] on-screen-keyboard=@as [] keyboard-brightness-up=[ 'period'] keyboard-brightness-down=[ 'comma'] keyboard-brightness-toggle=['slash'] # Non-default or "custom" GNOME bindings # Due to the structure of the below groups, # we must duplicate some of them to allow multiple bindings custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_key_bindings/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/move_window_to_empty_workspace/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/list_windows/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_launcher_1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_launcher_2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_run_1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_run_2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_primary_terminal_1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_primary_terminal_2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_secondary_terminal_1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_secondary_terminal_2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_file_manager/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_firefox/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_chromium/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_google_chrome/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_evolution/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/dark_scheme_toggle/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_force/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_toggle/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_make_cooler/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_make_warmer/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/randomize_background/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wifi_toggle/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/restart_gnome_shell/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emoji_picker_type/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emoji_picker_copy/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/vault_toggle/'] [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_key_bindings] binding='F1' command='/home/user/.local/bin/key-bindings' name='Show the key bindings' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/move_window_to_empty_workspace] binding='n' command='/home/user/.local/bin/move-window-to-empty-workspace' name='Move window to first empty workspace' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/list_windows] binding='Tab' command='rofi -show window' name='Show open windows' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_launcher_1] binding='space' command='rofi -show drun' name='Open the launcher [1/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_launcher_2] # i3wm's default binding='d' command='rofi -show drun' name='Open the launcher [2/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_run_1] binding='space' command='rofi -show run' name='Run a command [1/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/show_run_2] binding='d' command='rofi -show run' name='Run a command [2/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_primary_terminal_1] # i3wm's default, used for our primary terminal with `zsh` binding='Return' command='alacritty' name='Alacritty (zsh) [1/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_primary_terminal_2] binding='t' command='alacritty' name='Alacritty (zsh) [2/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_secondary_terminal_1] # Our secondary terminal with `bash` binding='Return' command='gnome-terminal' name='GNOME Terminal (bash) [1/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_secondary_terminal_2] binding='t' command='gnome-terminal' name='GNOME Terminal (bash) [2/2]' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_file_manager] binding='f' command='nautilus' name='Files' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_firefox] binding='i' command='firefox-esr' name='Firefox' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_chromium] binding='i' command='chromium' name='Chromium' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_google_chrome] binding='i' command='google-chrome' name='Google Chrome' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/launch_evolution] binding='m' command='/home/user/.local/bin/evolution-on-workspace-0' name='Evolution' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/dark_scheme_toggle] binding='d' command='/home/user/.local/bin/dark-scheme-toggle' name='Toggle dark scheme' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_force] binding='backslash' command='/home/user/.local/bin/night-light-toggle-schedule' name='Force night light on/off (i.e., override the automatic schedule)' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_toggle] binding='backslash' command='/home/user/.local/bin/night-light-toggle-enabled' name='Turn night light on/off (i.e., the feature as a whole)' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_make_cooler] binding='bracketleft' command='/home/user/.local/bin/night-light-make-cooler' name='Make night light cooler' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/night_light_make_warmer] binding='bracketright' command='/home/user/.local/bin/night-light-make-warmer' name='Make night light warmer' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/randomize_background] binding='b' command='/home/user/.local/bin/randomize-background' name='Randomize wallpaper' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wifi_toggle] binding='w' command='/home/user/.local/bin/wifi-toggle' name='Toggle WiFi' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/restart_gnome_shell] binding='r' command='/home/user/.local/bin/gnome-shell-restart' name='Restart GNOME shell (X11 only)' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emoji_picker_type] binding='semicolon' command='/home/user/.local/bin/rofimoji --action type' name='Type an emoji' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emoji_picker_copy] binding='semicolon' command='/home/user/.local/bin/rofimoji --action copy' name='Copy an emoji' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/vault_toggle] binding='v' command='/home/user/.local/bin/vault-toggle' name='(Un-)Mount the vault' [org/gnome/shell/keybindings] # Overview is still reachable indirectly but turned off on purpose toggle-application-view=[ 'slash'] toggle-message-tray=[ 'slash'] toggle-overview=@as [] toggle-quick-settings=['slash'] # Take fast screenshots without manual selection first, # as opposed to the interactive UI below screenshot=[ 'Print', 'p'] screenshot-window=['Print', 'p'] # Manually select what to screenshot ... show-screenshot-ui=['Print', 'p'] # ... or what to record show-screen-recording-ui=['r'] focus-active-notification=@as [] # The defaults would collide with "screen-brightness-up/down" on + Up/Down shift-overview-up=@as [] shift-overview-down=@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 []` does not exist by default open-new-window-application-1=@as [] open-new-window-application-2=@as [] open-new-window-application-3=@as [] open-new-window-application-4=@as [] open-new-window-application-5=@as [] open-new-window-application-6=@as [] open-new-window-application-7=@as [] open-new-window-application-8=@as [] open-new-window-application-9=@as [] [org/gnome/shell/extensions/space-bar/shortcuts] # We use the `switch-to-workspace-N`s in [org/gnome/desktop/wm/keybindings] enable-activate-workspace-shortcuts=false # We use the `move-to-workspace-N`s in [org/gnome/desktop/wm/keybindings] enable-move-to-workspace-shortcuts=false # Jump back to the previous workspace, # also allowing toggling between two workspaces # (Note that "grave" is the formal word for "backtick") activate-previous-key=['grave'] # Jump to the first empty workspace activate-empty-key=['n'] # Use the mouse to move to the previous workspace # by clicking on the current one (again) back-and-forth=false move-workspace-left=@as [] move-workspace-right=@as [] # Preferences window open-menu=@as [] [org/gnome/terminal/legacy/keybindings] copy='c' paste='v' # Search in GNOME's terminal: # - terminal feature that belongs on the in-app layer # - the bare layer must stay free for the programs running inside, # for example, f forwards pages in `vi`, `less`, and others, # and g aborts or shows file info # - these bindings are also the default find='f' find-clear='j' find-next='g' find-previous='h' fullscreen='F11' # "equal" because it is below "plus" on a US keyboard zoom-in='equal' zoom-out='minus' zoom-normal='0' # Unset on purpose because with a tiling window manager # we don't want to have to manage tabs inside a window close-tab='disabled' close-window='disabled' new-tab='disabled' new-window='disabled' detach-tab='disabled' next-tab='disabled' prev-tab='disabled' move-tab-left='disabled' move-tab-right='disabled' switch-to-tab-1='disabled' switch-to-tab-2='disabled' switch-to-tab-3='disabled' switch-to-tab-4='disabled' switch-to-tab-5='disabled' switch-to-tab-6='disabled' switch-to-tab-7='disabled' switch-to-tab-8='disabled' switch-to-tab-9='disabled' switch-to-tab-10='disabled' switch-to-tab-11='disabled' switch-to-tab-12='disabled' switch-to-tab-13='disabled' switch-to-tab-14='disabled' switch-to-tab-15='disabled' switch-to-tab-16='disabled' switch-to-tab-17='disabled' switch-to-tab-18='disabled' switch-to-tab-19='disabled' switch-to-tab-20='disabled' switch-to-tab-21='disabled' switch-to-tab-22='disabled' switch-to-tab-23='disabled' switch-to-tab-24='disabled' switch-to-tab-25='disabled' switch-to-tab-26='disabled' switch-to-tab-27='disabled' switch-to-tab-28='disabled' switch-to-tab-29='disabled' switch-to-tab-30='disabled' switch-to-tab-31='disabled' switch-to-tab-32='disabled' switch-to-tab-33='disabled' switch-to-tab-34='disabled' switch-to-tab-35='disabled' switch-to-tab-last='disabled' [desktop/ibus/panel/emoji] # period is the default "hotkey", but it conflicts with # "switch-to-workspace-right" in [org/gnome/desktop/wm/keybindings] # # Instead of GNOME's `ibus emoji` we use `rofimoji` # in [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/emoji_picker_*] # hotkey=@as []