feat: add mouse actions

Refs: 302185f6a873209ea51a26b314faa24c45cd03ac
This commit is contained in:
lightly-toasted 2025-08-11 11:45:21 +09:00
parent b88d00fe40
commit 45a49b1529
12 changed files with 186 additions and 6 deletions

View file

@ -0,0 +1,29 @@
{ pkgs }:
let
script = pkgs.writeShellScriptBin "cycle-mouse-action" ''
STATE_FILE="$HOME/.config/mouse-actions/state"
mkdir -p "$(dirname "$STATE_FILE")"
if [ -f "$STATE_FILE" ]; then
CURRENT_ACTION=$(cat "$STATE_FILE")
else
CURRENT_ACTION="deafen"
fi
case "$CURRENT_ACTION" in
"deafen") NEW_ACTION="sober-lag" ;;
"sober-lag") NEW_ACTION="autoclick" ;;
*) NEW_ACTION="deafen"
esac
echo "$NEW_ACTION" > "$STATE_FILE.tmp"
mv "$STATE_FILE.tmp" "$STATE_FILE"
'';
in
{
package = pkgs.symlinkJoin {
name = "cycle-mouse-action";
paths = [ script pkgs.libnotify ];
};
}