Systranything
Create a system tray menu from a YAML file with shell commands
Install / Use
/learn @jecaro/SystranythingREADME
Systranything
systranything lets you put anything in your system tray. It is supported by
all destop environment that implements the StatusNotifierHost
specification from freedesktop.org
(KDE, XFCE, ...).
It uses a YAML file which describes the icon to put in the system tray along a context menu and callbacks to be executed in a shell.
The menu can contain labels, separators, submenus, checkboxes and radiobuttons. Scroll events can be triggered on the main icon.
Among other things, I use it to change my VPN settings. The icon shows its current status:

What you can do with it:
- a custom launcher menu
- a volume icon
- a menu to turn on or off your VPN
- a menu to toggle dual monitor setups
- anything that requires a status icon and scriptable actions
See the example file to get started.
Run it with:
$ systranything -f ./tests/data/example.yaml
It has a verbose mode which can be turned on with -v. It writes on stdout
the commands executed along their outputs.
Hacking
The project can be built with nix.
Install with:
$ nix profile install
Build with:
$ nix build
The binary is then created in ./result/bin/systranything
Hack with:
$ nix develop
You will be dropped in a shell with all the needed tools in scope: cabal to
build the project and haskell-language-server for a better developer
experience.
Related Skills
node-connect
334.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.1kCommit, push, and open a PR
