mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
`bind = SUPER, D, exec, rofi -show drun` is the most recognisable line in a hyprland.conf, and the hyprcosmic profile makes it necessary rather than just idiomatic: with cosmic-launcher and cosmic-app-library not running, COSMIC's stock Super, Super+/ and Super+A bindings point at nothing. Binds are the one repeatable key in the language -- many lines fold into a single map instead of the last one winning -- so they bypass the schema, which is built around one conf key naming one value. They land in the Shortcuts `custom` key, which cosmic-comp merges over `defaults`, so the system file is untouched and reverting means deleting the lines and re-applying. Actions are rendered as RON text rather than modelled as an enum: COSMIC's Action has forty-odd variants, this crate deliberately does not link the cosmic crates, and the mapping table only ever needs a handful. Dispatchers without a genuine equivalent are refused rather than approximated, since a keybinding that silently does the wrong thing is worse than one that fails to compile. Verified the emitted file deserializes into cosmic-settings-config's own `Shortcuts` type: five bindings, keysyms XK_a/XK_slash/XK_Return, Spawn actions.
29 lines
1.3 KiB
Plaintext
29 lines
1.3 KiB
Plaintext
# HyprCosmic configuration, in Hyprland's idiom.
|
|
#
|
|
# Compiled into COSMIC's config tree by `cosmic-conf apply`. The file wins:
|
|
# every key here overwrites whatever COSMIC's own settings UI last stored, so
|
|
# edit this rather than the GUI for anything it covers.
|
|
|
|
$mainMod = SUPER
|
|
|
|
# --- Launcher -----------------------------------------------------------
|
|
#
|
|
# The hyprcosmic profile does not start cosmic-launcher or cosmic-app-library,
|
|
# which leaves COSMIC's stock Super, Super+/ and Super+A bindings pointing at
|
|
# nothing. These take them over with rofi. Written to the Shortcuts `custom`
|
|
# key, which cosmic-comp merges over `defaults`, so the system file is not
|
|
# touched and reverting is a matter of deleting these lines and re-applying.
|
|
|
|
# Bare Super, exactly where stock COSMIC puts its launcher.
|
|
bind = $mainMod, , exec, rofi -show drun
|
|
bind = $mainMod, slash, exec, rofi -show drun
|
|
bind = $mainMod, A, exec, rofi -show drun
|
|
|
|
# Was System(WorkspaceOverview); cosmic-workspaces is not running either.
|
|
# rofi's window mode is the nearest thing that still shows every open window.
|
|
bind = $mainMod, W, exec, rofi -show window
|
|
|
|
# Terminal, in the Hyprland idiom. Super+T also still works — cosmic-comp
|
|
# handles System(Terminal) itself, so that binding never went dead.
|
|
bind = $mainMod, Return, exec, cosmic-term
|