38 lines
1.1 KiB
Nix
38 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
let
|
|
cfg = config.ringofstorms.dePlasma;
|
|
inherit (lib) mkIf;
|
|
workspaces = builtins.genList (i: i + 1) 9;
|
|
kwinWorkspace = builtins.listToAttrs (map (i: {
|
|
name = "Switch to Desktop ${toString i}";
|
|
value = "Meta+${toString i}";
|
|
}) workspaces);
|
|
kwinMoveWorkspace = builtins.listToAttrs (map (i: {
|
|
name = "Window to Desktop ${toString i}";
|
|
value = "Meta+Shift+${toString i}";
|
|
}) workspaces);
|
|
krunnerShortcut = if cfg.shortcuts.launcher == "krunner" then {
|
|
krunner = { "Run Command" = "Meta+Space"; };
|
|
} else { };
|
|
in
|
|
{
|
|
options = {};
|
|
config = mkIf (cfg.enable && cfg.shortcuts.useI3Like) {
|
|
programs.plasma.shortcuts =
|
|
({
|
|
kwin = ({ "Close Window" = cfg.shortcuts.closeWindow; } // kwinWorkspace // kwinMoveWorkspace);
|
|
} // krunnerShortcut);
|
|
|
|
programs.plasma.hotkeys.commands = {
|
|
ringofstorms_terminal = {
|
|
key = "Meta+Return";
|
|
command = cfg.shortcuts.terminal;
|
|
};
|
|
} // (if cfg.shortcuts.launcher == "rofi" then {
|
|
ringofstorms_launcher = {
|
|
key = "Meta+Space";
|
|
command = "rofi -show drun";
|
|
};
|
|
} else {});
|
|
};
|
|
}
|