groups :D

This commit is contained in:
KoenDR06 2025-07-18 14:54:28 +02:00
parent d5ce93f871
commit f62f6ad376
3 changed files with 79 additions and 0 deletions

View file

@ -283,6 +283,24 @@ in {
workspaceSwipe = false;
};
group = {
autoGroup = false;
dragIntoGroup = 2;
col = {
borderActive = config.horseman.wm.hyprland.config.general.col.activeBorder; # I don't wanna believe this can't be done better :(
borderInactive = config.horseman.wm.hyprland.config.general.col.inactiveBorder;
borderLockedActive = config.horseman.wm.hyprland.config.general.col.activeBorder;
borderLockedInactive = config.horseman.wm.hyprland.config.general.col.inactiveBorder;
};
groupbar = {
fontSize = 14;
height = 26;
keepUpperGap = true;
};
};
monitors = {
defaultMonitor = true;
};

View file

@ -65,6 +65,21 @@ in {
dispatcher = "exec";
params = "hyprlock";
}
{
flags = ["e"];
mods = ["SUPER"];
key = "TAB";
dispatcher = "changegroupactive";
params = "f";
}
{
flags = ["e"];
mods = ["SUPER" "SHIFT"];
key = "TAB";
dispatcher = "changegroupactive";
params = "b";
}
{
flags = [];
mods = ["SUPER"];
@ -72,6 +87,14 @@ in {
dispatcher = "togglefloating";
params = "";
}
{
flags = [];
mods = ["SUPER"];
key = "T";
dispatcher = "togglegroup";
params = "";
}
{
flags = [];
mods = ["SUPER"];

View file

@ -156,6 +156,22 @@ in {
workspaceSwipe = mkOption {type = types.bool;};
};
group = {
autoGroup = mkOption {type = types.bool;};
dragIntoGroup = mkOption {type = types.enum [0 1 2];};
col.borderActive = mkOption {type = types.str;};
col.borderInactive = mkOption {type = types.str;};
col.borderLockedActive = mkOption {type = types.str;};
col.borderLockedInactive = mkOption {type = types.str;};
groupbar = {
fontSize = mkOption {type = types.int;};
height = mkOption {type = types.int;};
keepUpperGap = mkOption {type = types.bool;};
};
};
monitors = {
defaultMonitor = mkOption {type = types.bool;};
bindWorkspaces = mkOption {
@ -366,6 +382,28 @@ in {
workspace_swipe = ${trivial.boolToString cfg.config.gestures.workspaceSwipe}
}
group {
auto_group = ${trivial.boolToString cfg.config.group.autoGroup}
drag_into_group = ${toString cfg.config.group.dragIntoGroup}
col.border_active = ${cfg.config.group.col.borderActive}
col.border_inactive = ${cfg.config.group.col.borderInactive}
col.border_locked_active = ${cfg.config.group.col.borderLockedActive}
col.border_locked_inactive = ${cfg.config.group.col.borderLockedInactive}
groupbar {
font_size = ${toString cfg.config.group.groupbar.fontSize}
height = ${toString cfg.config.group.groupbar.height}
keep_upper_gap = ${trivial.boolToString cfg.config.group.groupbar.keepUpperGap}
col.active = ${cfg.config.group.col.borderActive}
col.inactive = ${cfg.config.group.col.borderInactive}
col.locked_active = ${cfg.config.group.col.borderLockedActive}
col.locked_inactive = ${cfg.config.group.col.borderLockedInactive}
}
}
${concatStringsSep "\n" (map (mon: "monitor = ${mon.output}, ${mon.resolution}@${mon.refreshRate}, ${toString mon.x}x${toString mon.y}, ${strings.floatToString mon.scale}, transform, ${toString mon.transform}") cfg.config.monitors.displays)}
${