Skip to main content

Global shortcuts

Shortcuts

Customize hyprbaric’s built-in global actions without maintaining compositor binds by hand.

hyprbaric owns a fixed vocabulary of global actions. At startup it registers each enabled action with the XDG Global Shortcuts portal and reconciles the corresponding Hyprland global bind. You do not need to add separate Hyprland binds for these actions.

Open hyprbaric’s Settings → Keybinds panel to edit a binding interactively, or declare it in TOML. The GUI persists to the same user config.toml, so a manual configuration and GUI changes compose normally.

Customize a binding​

Each action has a table inside [shortcuts]. A bound mapping needs a key. Its modifiers list is optional and its phase defaults to "press". Omit an action table entirely to keep that action’s built-in binding.

config.toml
[shortcuts.controls]
modifiers = ["logo", "shift"]
key = "O"
phase = "press"

phase is "press" by default. Use "release" when the action should run on key release. The default app launcher uses "release" with the standalone Super key so modifier chords can still begin normally.

Supported modifiers are logo, ctrl, shift, alt, and num. super and meta are aliases for logo, and control is an alias for ctrl. Key names are normalized: ordinary keys are uppercased, Print and PrintScreen resolve to Print, and XF86… hardware key names keep their spelling. Key names cannot be empty or contain ,, +, <, or >.

To turn off a built-in action without changing any others:

config.toml
[shortcuts.toggle_caffeine]
state = "disabled"

Configuration is partial. Any shortcut you do not mention keeps its built-in mapping.

Default shortcut reference​

ActionDefault chordPhaseWhat it doesConfig name
App launcherSuperreleaseOpens or closes the app launcher.app_launcher
ControlsSuper + SpressOpens or closes the controls popup.controls
Bar settingsSuper + Shift + CpressOpens the settings window.bar_settings
Session launcherSuper + EscapepressOpens or closes the session launcher.session_launcher
Lock sessionSuper + LpressLocks the current session.lock_session
Screenshot regionSuper + Shift + SpressStarts interactive region capture.capture_region
Screenshot windowSuper + PrintpressCaptures the focused window.capture_window
Screenshot full screenPrintpressCaptures the full screen.capture_full_screen
Color pickerSuper + Shift + PpressStarts interactive color picking.color_pick
Toggle recordingSuper + Shift + RpressStarts or stops interactive recording.toggle_recording
Toggle DNDSuper + Shift + DpressToggles notification do-not-disturb mode.toggle_do_not_disturb
Toggle Night lightSuper + Shift + NpressToggles night light.toggle_night_light
Toggle CaffeineSuper + Shift + F12pressToggles caffeine mode.toggle_caffeine
Volume upXF86AudioRaiseVolumepressRaises output volume.volume_up
Volume downXF86AudioLowerVolumepressLowers output volume.volume_down
Toggle muteXF86AudioMutepressToggles output mute.toggle_mute
Brightness upXF86MonBrightnessUppressRaises display brightness.brightness_up
Brightness downXF86MonBrightnessDownpressLowers display brightness.brightness_down

A complete override example​

config.toml
[shortcuts.app_launcher]
modifiers = ["logo"]
key = "SPACE"

[shortcuts.capture_region]
modifiers = ["logo", "shift"]
key = "R"
phase = "release"

[shortcuts.toggle_caffeine]
state = "disabled"

The two bound mappings above activate normally. Only caffeine is omitted from portal registration and Hyprland bind reconciliation.

Avoid conflicts​

hyprbaric can reconcile its own global binds, but it will not overwrite a conflicting non-hyprbaric bind. Pick a different chord in the Keybindings panel or configuration file if a mapping is already owned by your Hyprland setup. Restart hyprbaric after manual TOML edits to reconcile the new mapping.