Skip to content

Make Aether Wayland-first while preserving Omarchy support#107

Open
greenm01 wants to merge 6 commits into
bjarneo:mainfrom
greenm01:triad-template
Open

Make Aether Wayland-first while preserving Omarchy support#107
greenm01 wants to merge 6 commits into
bjarneo:mainfrom
greenm01:triad-template

Conversation

@greenm01
Copy link
Copy Markdown

Summary

First: thank you for Aether. The UI is beautiful, and the app already does a lot of hard things well: palette extraction, wallpaper editing, app templates, live preview, and exportable themes. It is one of the more polished theming tools I have used on Wayland.

I’m the author of Triad, a programmable Wayland window manager for River. Its docs live in the Triad wiki. I opened this PR because I wanted to help make Aether more Wayland-first while keeping Omarchy a first-class target.

I also created aether-themes as a companion repo for portable Wayland theme packs. It currently includes Aura as an example pack adapted for Aether outside an Omarchy install.

The goal here is not to remove or weaken Omarchy support. It is to make the non-Omarchy path behave like a real supported path, rather than an accidental fallback.

What Changed

  • Added a Triad theme template.
  • Added portable Aether theme-pack export/import metadata.
  • Added support for discovering portable packs from ~/.config/themes.
  • Changed the System Themes picker so portable Aether packs apply through Aether’s normal template and wallpaper path.
  • Kept omarchy-theme-set for real Omarchy themes.
  • Hid Aether’s generated output from the picker so it does not shadow a real aether pack.
  • Added explicit wallpaper backend settings: auto, omarchy, awww, swaybg, and none.
  • Made auto prefer Omarchy when present, then awww, then swaybg.
  • Stopped killing every swaybg process. Aether now tracks and stops only the one it started.
  • Replaced unsafe symlink replacement with a helper that refuses to overwrite real files or directories.
  • Fixed Linux window size hints so the app opens like a normal resizable desktop app.
  • Updated docs and UI copy to describe Aether as Wayland-first and Omarchy-compatible.

Why

A few paths still assumed Omarchy even when the UI was showing portable themes. That made theme packs look installed but fail or apply through the wrong mechanism.

The main example was the System Themes picker. A portable pack in ~/.config/themes could show up next to Omarchy themes, but pressing Apply still called omarchy-theme-set <name>. This PR makes parsed Aether packs use Aether’s own apply path. Omarchy themes still use Omarchy.

There were also a couple of desktop footguns:

  • the generated ~/.config/aether/theme entry could appear as if it were a real installed theme;
  • symlink creation could remove user-owned paths;
  • static wallpaper apply used broad pkill behavior against swaybg.

Those are now tightened up.

Tests

Passed locally:

GOCACHE=/tmp/aether-go-build go test ./...
npm --prefix frontend run check

I also moved the Go tests into external _test packages where practical, so they test exported behavior instead of package internals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant