What's new
A meeting link in the description becomes a Join button. Google files a Meet link as structured data, and a Zoom or Teams link usually sits in location — but plenty of invites put the link only in the description text, and until now nothing looked there. Now the app, the Omarchy bar widget and the CLI all resolve the same way: structured data first, then location, then the description. The scan is safe over the HTML Google actually stores, tries every link rather than the first, and keeps location ahead of the description when both carry one. On one real calendar this lit 40 meetings that had no Join button anywhere. Thanks to @mattlibera, who wrote it (#35), the second half of his earlier fix.
The window frame is a choice, and Settings has an Appearance tab. omacal drew no title bar on any Linux desktop because on Hyprland, where it was built, the compositor tiles the window and closes or moves it from the keyboard — but on GNOME or KDE that left a window with nothing to grab. Settings → Appearance → Window frame: Follow the desktop (no frame under Hyprland, a frame everywhere else), Shown, or Hidden, taking effect as you pick. The new Appearance tab also holds the theme and the Week view control; General keeps what the app does — sync, defaults, clocks, the tray, login. Thanks to @xmha97 for the report (#36).
Dark dropdown menus and checkboxes in the AppImage. The AppImage's launch hook exported a light GTK theme into the process, which silently overrode the dark hint omacal has set since v0.18.0 — so the Week view menu opened white on a dark theme, and checkboxes came out white with a blue tick. omacal now drops that variable at startup and keeps the widget theme on Adwaita in the variant the palette asks for. Checkboxes are drawn by omacal itself, in your theme's accent, everywhere they appear. The two time-zone boxes in Settings, the last inputs there still wearing the engine's own look, match their neighbours now.
Install / update: on v0.4.0+, click Update in the header's notice. Or:
curl -fsSL https://extremelabs.io/omacal/install.sh | sh
omacal skill install