49 lines
1.3 KiB
Nix
49 lines
1.3 KiB
Nix
{ hyprLib, mainMod, ... }:
|
|
|
|
let
|
|
inherit (hyprLib)
|
|
bind
|
|
muldsp
|
|
focusWorkspace
|
|
moveWorkspace
|
|
submap
|
|
makeSubmap
|
|
;
|
|
|
|
mod = a: b: a - (b * (builtins.div a b));
|
|
in
|
|
{
|
|
home-manager.users."djai".wayland.windowManager.hyprland.settings = {
|
|
bind = [
|
|
(bind "${mainMod} + SHIFT + W" (submap "H") "")
|
|
] ++ builtins.concatLists (builtins.genList (i:
|
|
let
|
|
ws = i+1;
|
|
k = toString (mod ws 10);
|
|
in [
|
|
(bind "${mainMod} +${k}" (focusWorkspace ws) "Switch to workspace ${toString ws}")
|
|
(bind "${mainMod} + SHIFT + ${k} " (moveWorkspace ws false) "Move window to workspace ${toString ws}")
|
|
]
|
|
) 10);
|
|
|
|
define_submap = [
|
|
(makeSubmap "H" ([
|
|
["ESCAPE" (submap "reset")]
|
|
] ++ builtins.concatLists (builtins.genList (i:
|
|
let
|
|
ws = i+11;
|
|
k = (mod (i+1) 10);
|
|
in [
|
|
[(toString k) (muldsp [(focusWorkspace ws) (submap "reset")])]
|
|
["SHIFT + ${toString k}" (moveWorkspace ws false)]
|
|
]) 10)))];
|
|
|
|
window_rule = [
|
|
{ match.class = ".*hideme.*"; workspace = "11 silent";}
|
|
{ match.title = ".*hideme.*"; workspace = "11 silent";}
|
|
{ match.class = ".*hideme.*"; no_screen_share = true;}
|
|
{ match.title = ".*hideme.*"; no_screen_share = true;}
|
|
];
|
|
};
|
|
}
|