A small CLI for Omarchy that toggles and regulates the translucency of the current theme — Hyprland windows, shell surfaces (bar, popups, notifications, launcher, menus, polkit, lock), and terminals — with one command.
Despite the name, it works with any Omarchy theme: it reads the active theme
from ~/.local/state/omarchy/current/theme.name, writes opacity override
files into ~/.config/omarchy/themes/<theme>/, and re-applies the theme with
the wallpaper untouched.
omarchy theme install (a git clone) refuses Lua and terminal config files
from the theme for security, so a theme published to the gallery cannot ship
window or terminal translucency on its own. This plugin fills that gap:
- If the current theme dir still has
.git(a managed clone), it is converted to an editable local copy — otherwiseomarchy-theme-setignores the override files at every apply. - Missing override files are generated from the staged theme
(
~/.local/state/omarchy/current/theme/), so their colors always match the theme, and the opacity keys are added in each program's format. - Opacity values are written, the theme is re-applied, Hyprland is reloaded, and terminals are restarted.
The classic Aether flow (theme dir is a symlink to ~/.config/aether/theme,
no .git) works exactly as before.
- Omarchy with a theme set
bash,sed,awk,grep(all standard)hyprctlfor live window updates (optional — the script degrades with a warning outside Hyprland)
omarchy plugin add https://github.com/Linar46/aether-opacity.git
~/.config/omarchy/plugins/io.github.linar46.aether-opacity/installThe install script symlinks bin/aether-opacity into ~/.local/bin (an
existing real file there is backed up to aether-opacity.bak once). Run
aether-opacity from a shell afterwards.
The plugin's shell service (Service.qml) is a no-op — it exists only to
satisfy the plugin service contract. Everything lives in the CLI script.
aether-opacity on restore the designed translucent defaults
aether-opacity off make everything fully opaque (1.0)
aether-opacity toggle flip between on and off
aether-opacity set <v> uniform opacity level for all surfaces (0 < v <= 1)
aether-opacity status show current opacity values (default)
set <v> applies <v> everywhere, except inactive windows (v - 0.14) and
the lock input card (v - 0.15), both clamped for readability. on restores
the designed per-surface balance. Every command edits the theme files and
re-applies the theme via omarchy theme set (wallpaper skipped), so the
running shell, Hyprland, and terminals pick up the change immediately — foot
picks it up in new windows only.
AETHER_OPACITY_DRY_RUN=1 aether-opacity set 0.8 edits the files without
applying, for scripting or testing.
~/.config/omarchy/plugins/io.github.linar46.aether-opacity/uninstall
omarchy plugin remove io.github.linar46.aether-opacityRemoving the plugin does not reset the theme's opacity values; run
aether-opacity on (or edit the theme files) before uninstalling if you want
the designed defaults.
- A converted clone stops being recognized as a clone; re-install the theme from git to go back to a managed copy.
- Override files no longer track future template changes; if the theme's
colors.tomlis regenerated, re-run the script to regenerate the overrides.