nix-configs/scripts/desktop/desktopctl.nix

35 lines
1.1 KiB
Nix

{ pkgs, ... }:
pkgs.writeShellScriptBin "desktopctl" ''
case $@ in
"Lock Screen")
nohup sh -c "i3lock-fancy" > /dev/null &
exit 0
;;
"Log Out")
pkill i3
exit 0
;;
"Shut Down")
shutdown now
exit 0
;;
"Reboot")
systemctl reboot
exit 0
;;
esac
# resizes grid
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
# resizes window, moves it to top of screen, adjusts rounded corners
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
# swaps grid and input bar
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
# fixes brown line below input bar
echo -en "\0theme\x1finputbar{margin:0;}\n"
echo -en "Lock Screen\0icon\x1f${../../other/assets/desktopctl/lock-screen.svg}\n"
echo -en "Log Out\0icon\x1f${../../other/assets/desktopctl/logout.svg}\n"
echo -en "Shut Down\0icon\x1f${../../other/assets/desktopctl/shutdown.svg}\n"
echo -en "Reboot\0icon\x1f${../../other/assets/desktopctl/reboot.svg}\n"
''