Commit graph

6 commits

Author SHA1 Message Date
f96246a90d README: catch up with theme-watcher, floating TUI, theme-aware UI
Doc drift since 48dd9b2:

- Intro now mentions the theme-watcher and that the TUI follows the
  active Omarchy theme + launches as a floating window.
- Files Created table adds motion-wallpaper-theme-watcher and the
  .desktop note now reflects xdg-terminal-exec --app-id=TUI.float
  instead of the old Terminal=true line.
- "From App Launcher" describes the floating-window behaviour and the
  colors.toml theme integration.
- "Toggle — already running" notes that Change video also picks the
  target monitor and that the menu loops back after each action; saved
  targets are validated against hyprctl monitors with All-monitors
  fallback if the saved monitor is gone.
- New "Theme change" subsection in How It Works, plus a note on the
  HYPRLAND_INSTANCE_SIGNATURE self-recovery in the auto-pause section.
- Uninstall removes motion-wallpaper-theme-watcher.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 15:46:28 +01:00
48dd9b2f0a README: catch up with watcher, autostart prompts, state parsing
Doc drift from the last two commits:

* Intro mentioned "--auto-pause" — replaced with the external watcher,
  so rewrite to describe that instead.
* Added socat to the deps table and the new motion-wallpaper-watcher
  binary + SVG icon to the Files Created table.
* State file description updated to include LAST_DIR; mentions the
  atomic write + safe KEY=VALUE parser.
* Autostart section replaced with the TUI-first flow (first-run
  prompt, menu toggle, stop-offers-disable, disable-offers-stop),
  with systemctl as an alternative.
* How It Works expanded with the setsid + uwsm-app spawn, the flock
  on the stop path, and a new "Auto-pause (the watcher)" subsection
  describing the Hyprland socket2 + mpv IPC bridge.
* Added a troubleshooting entry for auto-pause not firing
  (fullscreen vs full-width, watcher log check).
* Uninstall removes the new watcher binary; package remove line
  updated to the real deps (was still listing zenity).
2026-04-23 20:54:58 +01:00
f31ff2b152 v2: gum TUI, autostart, auto-pause watcher, Omarchy fixes
Major rewrite of the runtime so the entry point is a proper gum TUI
instead of zenity dialogs, plus a handful of correctness fixes that
make it work on real Omarchy setups.

Runtime (motion-wallpaper-toggle, extracted from the installer heredoc):
  * Full gum TUI: status header, monitor picker (with All monitors),
    library / filesystem pickers, change-video, autostart toggle.
  * State file at ~/.config/motion-wallpaper/state remembers last
    video, target monitor, and last-used directory so Browse reopens
    where the user was.
  * Actions: toggle | start | stop | change | status.

Autostart:
  * Ships a systemd user unit (motion-wallpaper.service).
  * First fresh start prompts the user via gum confirm to enable it.
  * Running-state menu offers a Turn autostart ON/OFF entry.
  * Header shows the current autostart state.

Auto-pause:
  * mpvpaper's -p is unreliable on Hyprland 0.54.x, so a small
    motion-wallpaper-watcher subscribes to Hyprland's socket2 and
    toggles mpv pause/resume via --input-ipc-server on fullscreen
    enter/exit. Started/stopped alongside mpvpaper.

Omarchy compatibility:
  * Stop path now respawns swaybg pointed at
    ~/.config/omarchy/current/background via setsid uwsm-app (the way
    Omarchy autostarts it), instead of execing hyprpaper which isn't
    present. Falls back to hyprpaper on non-Omarchy Hyprland setups.
  * mpvpaper is launched under setsid uwsm-app so it survives the
    Walker-spawned terminal closing.

Install / UX:
  * Installer only invokes sudo/yay when packages are actually
    missing, so reinstall is quiet.
  * Dropped zenity; added gum + socat + libnotify.
  * Custom SVG icon in the hicolor theme so Walker shows a proper
    tile. Installer restarts elephant.service so the new entry/icon
    appear without logout.
  * .desktop flipped to Terminal=true so launchers spawn a terminal
    for the TUI.
  * Watcher lookup falls back to the script's own dir when PATH is
    minimal (launcher-spawned terminals).

Bug fixes:
  * Monitor picker was sending row-major data to zenity as one cell;
    fixed (kept the correct form for the new gum picker).
  * load_state / action_status no longer leak a non-zero exit code
    from trailing test expressions.
  * Stop path cleans up stray hyprpaper that would otherwise win the
    background layer.
2026-04-23 20:33:02 +01:00
nosignal
f25cef8780 Update links to Forgejo 2026-04-07 00:53:05 +01:00
3206f7b22f
Add video demo link and thumbnail to README
Added a video thumbnail and link to README.
2026-03-28 15:34:58 +00:00
4c2b5052e3 Add detailed comments to script and comprehensive README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 11:29:19 +00:00