Skip to content

Choosing an applet kind ​

Use a built-in applet for desktop controls, a command applet for a button that runs a program, or an exec applet for your own changing display and popover.

KindWhat it can doWhen to choose it
Built-inShow desktop state and control services, with a ready-made indicator and popover.An existing applet already covers the job.
CommandShow an icon or label and run a different program for each click or scroll gesture.You want a screenshot button, launcher, or shortcut without writing code.
ExecRun a separate program that supplies indicators and a popover, keeps data, and reacts to events. SDKs exist for TypeScript, Python, Go and Rust.You need your own interface or behavior.

A command applet has a fixed display. Its command's output does not become the label. Start with a screenshot button.

An exec applet runs as a systemd user unit with your full session access and a 256 MiB memory limit. The panel draws what it describes, and systemd restarts it when it exits. Start with the todo tutorial in TypeScript, or start in Python, Go or Rust.

Both custom kinds use panel zones and applet configuration. The command and exec settings reference lists their settings.

Released under the BSD 3-Clause license.