<a href="https://github.com/dagimg-dot/veil/releases/latest">
<img src="https://img.shields.io/github/v/release/dagimg-dot/veil?label=Download&style=for-the-badge" alt="Download">
</a>
<a href="https://github.com/dagimg-dot/veil/releases">
<img src="https://img.shields.io/github/downloads/dagimg-dot/veil/total?label=Downloads&style=for-the-badge" alt="Downloads">
</a>

Veil is a GNOME shell extension that allows you to hide items on your GNOME panel.
It is a modern successor to Hide Items, and is designed to make your GNOME panel cleaner and quieter.
.shell-extension.zip file from the latest releasegnome-extensions install --force <filename>See DEVELOPMENT.md for development instructions.
Status-area horizontal spacing is adapted from Status Area Horizontal Spacing (original extension by Amy Chan / mathematical.coffee@gmail.com; maintained on GitLab by p91paul).
Panel icons shown in the preview come from these extensions:
Tray applets usually live in a container on the panel. Other extensions typically hide their icon in one of two ways:
container.visible to false (or equivalent), so the slot still exists but nothing is drawn.Veil shows and hides panel items by changing container.visible (and related presentation like opacity/animation) on tray entries it already knows about. It also records whether an item was already hidden when Veil last reconciled the tray (originalVisible), so it does not force icons back on that their own extension meant to hide.
Some extensions hide their icon in a way Veil does not see as “already hidden” at the moment Veil builds its list (for example, if the ordering or lifecycle differs from a simple visible = false on the container Veil tracks).
Workaround: Turn Veil off, use the other extension’s own settings to hide its panel icon, then turn Veil on again. Veil will then treat that item as externally hidden and will not reveal it when Veil expands the tray.