add wlogout
@ -149,6 +149,7 @@ in with config.deviceSpecific; with lib; {
|
||||
bind=${modifier},f11,exec,sleep 1 && hyprctl dispatch dpms off
|
||||
bind=${modifier},f12,exec,sleep 1 && hyprctl dispatch dpms on
|
||||
|
||||
bind=${modifier},p,exec,${pkgs.wlogout}/bin/wlogout -b 5
|
||||
bind=${modifier},escape,exec,${apps.monitor.cmd}
|
||||
bind=${modifier},w,exec,${apps.dmenu.desktop} -show run
|
||||
bind=${modifier}CTRL,w,exec,${apps.dmenu.desktop} -show drun -modi drun -show-icons
|
||||
|
96
profiles/workspace/wlogout/default.nix
Normal file
@ -0,0 +1,96 @@
|
||||
{ config, lib, ... }: {
|
||||
home-manager.users.${config.mainuser} = let
|
||||
inherit (config.home-manager.users.${config.mainuser}.catppuccin) sources flavor accent;
|
||||
|
||||
thm = config.lib.base16.theme;
|
||||
palette = (lib.importJSON "${sources.palette}/palette.json").${flavor}.colors;
|
||||
in {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [{
|
||||
label = "lock";
|
||||
action = "";
|
||||
text = "Lock";
|
||||
} {
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
} {
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
} {
|
||||
label = "logout";
|
||||
action = "hyprctl dispatch exit 0";
|
||||
text = "Logout";
|
||||
} {
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
}];
|
||||
style = ''
|
||||
window {
|
||||
font-family: "${thm.fonts.mono.family}";
|
||||
font-size: 18pt;
|
||||
color: ${palette.text.hex};
|
||||
background-color: rgba(${toString palette.base.rgb.r}, ${toString palette.base.rgb.g}, ${toString palette.base.rgb.b}, 0.8);
|
||||
}
|
||||
button {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 25%;
|
||||
border: none;
|
||||
background-color: rgba(${toString palette.base.rgb.r}, ${toString palette.base.rgb.g}, ${toString palette.base.rgb.b}, 0);
|
||||
color: ${palette.${accent}.hex};
|
||||
}
|
||||
button:hover {
|
||||
background-color: rgba(${toString palette.surface0.rgb.r}, ${toString palette.surface0.rgb.g}, ${toString palette.surface0.rgb.b}, 0.1);
|
||||
}
|
||||
button:focus {
|
||||
background-color: ${palette.${accent}.hex};
|
||||
color: ${palette.base.hex};
|
||||
}
|
||||
#lock {
|
||||
background-image: image(url("${./lock.png}"));
|
||||
padding: 35px;
|
||||
}
|
||||
#lock:focus {
|
||||
background-image: image(url("${./lock-hover.png}"));
|
||||
padding: 35px;
|
||||
}
|
||||
#logout {
|
||||
background-image: image(url("${./logout.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#logout:focus {
|
||||
background-image: image(url("${./logout-hover.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#suspend {
|
||||
background-image: image(url("${./sleep.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#suspend:focus {
|
||||
background-image: image(url("${./sleep-hover.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#shutdown {
|
||||
background-image: image(url("${./power.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#shutdown:focus {
|
||||
background-image: image(url("${./power-hover.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#reboot {
|
||||
background-image: image(url("${./restart.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
#reboot:focus {
|
||||
background-image: image(url("${./restart-hover.png}"));
|
||||
padding: 30px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
BIN
profiles/workspace/wlogout/lock-hover.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
profiles/workspace/wlogout/lock.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
profiles/workspace/wlogout/logout-hover.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
profiles/workspace/wlogout/logout.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
profiles/workspace/wlogout/power-hover.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
profiles/workspace/wlogout/power.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
profiles/workspace/wlogout/restart-hover.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
profiles/workspace/wlogout/restart.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
profiles/workspace/wlogout/sleep-hover.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
profiles/workspace/wlogout/sleep.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
@ -40,6 +40,7 @@
|
||||
proxy
|
||||
hyprland
|
||||
waybar
|
||||
wlogout
|
||||
xdg
|
||||
vpn
|
||||
|
||||
|