Skip to content

Latest commit

History

63 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

snackdaemon

這個程式是以管理用eww寫的snackbar為目的設計的

Example

demo.webm

Install

Linux

git pull https://github.com/Shiphan/snackdaemon.git
cd snackdaemon
go install

NixOS

目前尚未加入nixpkgs,但可以直接使用nix-init生成的檔案,類似這樣的用法:

Install on NixOS
environment.systemPackages=withpkgs;[(buildGoModulerec{pname="snackdaemon";version="unstable-2024-06-26";src=fetchFromGitHub{owner="Shiphan";repo="snackdaemon";rev="1b7679f5ee5b8ffd923273a84891845dd20b1c81";hash="sha256-IRGErIPlr5CEoR96S+k/ARaogewlOfc+PNklRe8s+lc=";};vendorHash=null;ldflags=["-s""-w"];meta=withlib;{description="Daemon for snackbar";homepage="https://github.com/Shiphan/snackdaemon/";license=licenses.mit;maintainers=withmaintainers;[];mainProgram="snackdaemon";};})];

Features

有幾個指令可以使用

snackdaemon daemon
snackdaemon reload
snackdaemon kill
snackdaemon ping
snackdaemon update <option>
snackdaemon close
snackdaemon help

使用json格式進行設定
可以參考以下範例:

{
"timeout": "2s",
"openCommand": "eww open snackbar",
"updateCommand": "eww update snackbarIndex=%d",
"closeCommand": "eww close snackbar",
"options": [
"volume",
"player",
"screenbrightness",
"powerprofiles"
]
}

運作邏輯

第一次使用snackdaemon update option時會執行openCommand,並試著在options尋找符合option的項目,如果有找到的話,則使用該項的index替換掉updateCommand中的{},然後執行。
之後的每次update都是像第一次一樣,只是不會執行openCommand。
當最後一次update後經過timeout(以ms計)設定的時間、或是執行了snackdaemon close後,closeCommand會被執行,並重新開始新的循環。

About

daemon for snackbar

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages