Shortcuts you invent, rules you write, gestures you own - all still just data
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -1059,6 +1059,23 @@ Singleton {
|
||||
detail: "How much darker unfocused windows are",
|
||||
hypr: { path: ["decoration", "dim_strength"], option: "decoration:dim_strength", readAs: "float" }
|
||||
},
|
||||
{
|
||||
key: "colorFilter", type: "enum", def: "none", group: "accessibility",
|
||||
label: "Color filter",
|
||||
detail: "A whole-screen filter rendered by the compositor — grayscale, or a correction for one kind of color blindness. Costs nothing when off.",
|
||||
// No hypr mapping, deliberately: hyprctl stores decoration:screen_shader
|
||||
// as a shader *path*, not this enum, so a hypr: block would fail the
|
||||
// shape and sweep contracts on read-back. hypr/looks.lua maps the enum
|
||||
// to a shipped shader for reloads; SystemSettings.applyColorFilter does
|
||||
// the same mapping live.
|
||||
options: [
|
||||
{ value: "none", label: "None" },
|
||||
{ value: "grayscale", label: "Grayscale" },
|
||||
{ value: "protanopia", label: "Protanopia" },
|
||||
{ value: "deuteranopia", label: "Deuteranopia" },
|
||||
{ value: "tritanopia", label: "Tritanopia" }
|
||||
]
|
||||
},
|
||||
{
|
||||
key: "visualAlerts", type: "bool", def: false, group: "accessibility",
|
||||
label: "Flash the screen for notifications",
|
||||
@@ -1757,6 +1774,63 @@ Singleton {
|
||||
detail: "Shortcuts you have moved from their shipped chord"
|
||||
},
|
||||
|
||||
// ── Custom shortcuts ────────────────────────────────────────────────
|
||||
// [ { chord, kind, target, label } ]. Data, never code: `kind` is one of
|
||||
// app | shell | window, `target` is a validated id resolved through the
|
||||
// whitelist tables in hypr/actions.lua, and an entry that fails any check
|
||||
// is silently not emitted. This is what keeps a user-editable file from
|
||||
// being executable even though it now describes shortcuts the user
|
||||
// invented. Edited through the Keyboard page, hence internal.
|
||||
{
|
||||
key: "customBinds", type: "json", def: [], group: "input",
|
||||
internal: true,
|
||||
label: "Custom shortcuts",
|
||||
detail: "Shortcuts you invented: each one launches an application, triggers a shell action, or moves a window"
|
||||
},
|
||||
|
||||
// ── Per-application window rules ────────────────────────────────────
|
||||
// [ { class, label, float, center, size, workspace, noAnim, game,
|
||||
// noDim, pin } ]. `class` is matched literally (hypr/rules.lua escapes
|
||||
// it before Hyprland's RE2 sees it); `size` is [w, h] or null;
|
||||
// `workspace` is 1..10 or null; everything else is a boolean. Rules
|
||||
// matching the shell's own surfaces are refused at both ends. Edited
|
||||
// through the Windows page, hence internal.
|
||||
{
|
||||
key: "windowRules", type: "json", def: [], group: "multitasking",
|
||||
internal: true,
|
||||
label: "Application window rules",
|
||||
detail: "How specific applications behave when they open: floating, size, workspace, animations"
|
||||
},
|
||||
|
||||
// ── Four-finger gestures ────────────────────────────────────────────
|
||||
// Each holds {} (unassigned) or a named action { kind, target, label },
|
||||
// the same shape customBinds stores and the same whitelists resolve.
|
||||
// Registered at compositor config time, so assigning one reloads.
|
||||
{
|
||||
key: "gestureFourUp", type: "json", def: ({}), group: "touchpad",
|
||||
internal: true,
|
||||
label: "Four-finger swipe up",
|
||||
detail: "What a four-finger upward swipe does"
|
||||
},
|
||||
{
|
||||
key: "gestureFourDown", type: "json", def: ({}), group: "touchpad",
|
||||
internal: true,
|
||||
label: "Four-finger swipe down",
|
||||
detail: "What a four-finger downward swipe does"
|
||||
},
|
||||
{
|
||||
key: "gestureFourLeft", type: "json", def: ({}), group: "touchpad",
|
||||
internal: true,
|
||||
label: "Four-finger swipe left",
|
||||
detail: "What a four-finger leftward swipe does"
|
||||
},
|
||||
{
|
||||
key: "gestureFourRight", type: "json", def: ({}), group: "touchpad",
|
||||
internal: true,
|
||||
label: "Four-finger swipe right",
|
||||
detail: "What a four-finger rightward swipe does"
|
||||
},
|
||||
|
||||
// ── Display configuration ───────────────────────────────────────────
|
||||
// { "<output>": { mode, scale, transform, x, y, primary, vrrMode,
|
||||
// colorProfile, bitdepth, sdrBrightness, sdrSaturation, mirrorOf } },
|
||||
|
||||
Reference in New Issue
Block a user