Custom Applets
Custom applets are user-owned panel items. Use them when the built-in applets do not show exactly what you want, or when you want a personal launcher, menu, script, or live widget in the panel.
Choose A Path
| You want to | Use | Start here |
|---|---|---|
| Open an app, URL, folder, script, screenshot tool, or power menu | command | Command Applet |
| Show changing text, icons, state, or custom popover content | exec | Getting Started |
If the applet only needs to run something when you click it, start with a command applet. If it needs to stay alive, update itself, or react to panel events, use an exec applet.
How The Pieces Fit
Custom applets are package files. A package file gives the applet an id, selects its type, and stores the applet-specific options.
For linked and distributed applets, package files live in:
~/.config/glimpse/appletsA command package runs commands directly from the panel. It is best for launchers and small menus.
An exec package starts a program that controls the panel item. The program can send status updates, render popovers, and receive click or scroll events.
Development Flow
For exec applets, the usual flow is:
- Create a project with Applet Tooling.
- Run it in development mode.
- Use the
__dev__panel slot while you iterate. - Link the applet when it is ready for local use.
The dev slot shows applets started by the development command. The default panel keeps __dev__ at the end of the left section:
[[panels]]
left = ["pager", "mpris", "__dev__"]If you replace the default panel layout, keep or add __dev__ wherever you want active development applets to appear.
Recommended Reading
| Page | Use it for |
|---|---|
| Command Applet | Launchers, menus, one-shot actions, and shell examples. |
| Getting Started | Your first live exec applet. |
| Applet Tooling | Creating, running, linking local projects, distribution shape, and diagnostics. |
| Exec Applet | Exec package config, lifecycle, restart behavior, and environment handling. |
| Exec SDK | Building exec applets in supported languages. |
| Line Protocol | The raw protocol used by exec applets. |
| Components | Built-in status and popover component reference. |