feat(display): per-profile workspace→output pins (item 15c)
A display profile can now pin workspaces to outputs:
docked = {
monitors = [ … ];
workspaces = { "1" = "DP-3"; "9" = "eDP-1"; };
};
The bare list-of-monitors shape still works (either-type; hyprland.nix
normalizes — coercedTo refuses list-of-submodule sources). Pins bake as
Hyprland `workspace` rules from the active profile and apply instantly
on `nomarchy-display-profile apply`: keyword sets the session rule,
moveworkspacetomonitor moves open workspaces over. Pins from a
previously applied profile linger in-session until reload/rebuild
(hyprctl can only add) — inert if the output is absent, noted in the
applier.
V1: flake check green (checks.display-profiles now asserts
workspaceRule) + scratch-downstream eval: baked settings carry both
rule sets, the generated applier has the keyword+dispatch pairs
(bash -n), match/list correct with mixed shapes. V3 queued in
HARDWARE-QUEUE (rides the dock test). Item 15 complete — deleted.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -40,12 +40,15 @@
|
||||
# ]; # (class from `hyprctl clients`)
|
||||
#
|
||||
# nomarchy.displayProfiles = { # named layouts for the SAME outputs —
|
||||
# docked = [ # switch: System › Display › Profiles
|
||||
# { name = "eDP-1"; resolution = "disable"; }
|
||||
# { name = "DP-3"; position = "0x0"; }
|
||||
# { name = "DP-4"; position = "auto-right"; }
|
||||
# ];
|
||||
# undocked = [ { name = "eDP-1"; position = "0x0"; } ];
|
||||
# docked = { # switch: System › Display › Profiles
|
||||
# monitors = [
|
||||
# { name = "eDP-1"; resolution = "disable"; }
|
||||
# { name = "DP-3"; position = "0x0"; }
|
||||
# { name = "DP-4"; position = "auto-right"; }
|
||||
# ];
|
||||
# workspaces = { "1" = "DP-3"; "9" = "DP-4"; }; # optional ws→output pins
|
||||
# };
|
||||
# undocked = [ { name = "eDP-1"; position = "0x0"; } ]; # bare list = monitors only
|
||||
# }; # applied instantly + remembered in the
|
||||
# # flake state (settings.displayProfile);
|
||||
# # the menu's Auto-switch row makes dock/
|
||||
|
||||
Reference in New Issue
Block a user