Skip to content

fix(window): inhibit compositor idle during video playback - #98

Merged
TheRealShek merged 2 commits into
mainfrom
fix/omarchy-compatibility
Sep 27, 2026
Merged

TheRealShek merged 2 commits into
mainfrom
fix/omarchy-compatibility

Conversation

@TheRealShek

Copy link
Copy Markdown
Owner

Problem:
GTK reports a successful idle-inhibit request on Omarchy, but Hyprland still reports inhibitingIdle=false while video plays. Natural end and seeking also need a consistent playback state before the inhibitor is released.

Solution:
Use the Wayland idle-inhibit protocol for the video window when available, with GTK's session inhibit as a fallback. Keep protocol discovery off the GTK blocking path and release inhibition on pause, natural end, navigation, failure and close. Pause the GStreamer pipeline at end of stream, preserve an accepted post-end seek for Play, and add a live Hyprland check. Declare the Wayland build/runtime dependencies and update the relevant documentation.

Tests:

  • Passed: cargo fmt --check, cargo clippy --locked --all-targets -- -D warnings, cargo test --locked (195 passed, 16 ignored), and cargo build --release --locked.
  • Passed on Omarchy/Hyprland: play, pause, resume, natural end, post-end seek, looping, and forced avdec_h264 software playback.
  • Passed: targeted GTK video-sink recovery test with a generated fixture; ShellCheck, shell syntax, desktop entry and AppStream validation.
  • Passed: Arch package build from the changed checkout; package build and tests passed (195 tests), and the final source snapshot built with its binary and desktop metadata present.
  • Fedora RPM spec validation was unavailable on Arch. Of 29 packaging tests, 28 passed; the Fedora release-order test requires Python's rpm module.

Note:
Fedora GNOME/Wayland remains the reference environment and needs its CI and real-session checks before a support claim. The checked-in Arch recipe still fetches published v0.1.4, so the fix enters that package only when a new release updates its tag and checksum. Hyprland's inhibitingIdle flag was checked; a real Omarchy lock/blank timeout and the remaining manual and performance checks are still needed for full compatibility.

@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: b67e84d0-d08d-4efe-9d09-4caebe9c789d


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@TheRealShek
TheRealShek merged commit ca4b9c5 into main Sep 27, 2026
4 checks passed
@TheRealShek
TheRealShek deleted the fix/omarchy-compatibility branch September 27, 2026 09:10
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