Repository navigation
Add support for Hyprland, Omarchy, and Arch Linux - #2
zackkitzmiller wants to merge 11 commits into
Conversation
Decksmith assumed GNOME for focus tracking and system actions, and the installer refused any distribution outside Fedora/Debian/Ubuntu/Pop. - Track the focused app from Hyprland's event socket and map its window class to a desktop entry, so app pages switch without the GNOME extension. - Route Lock through logind, Do Not Disturb through the Omarchy shell or mako, and Night Light through omarchy-toggle-nightlight or hyprsunset when running under Hyprland. - Add Arch package names to the runtime dependency map. - Let install.sh handle the Arch family: install packages with pacman, then clone this fork, build a bundle and install it per-user. There is no signed Arch download, so trust rests on the HTTPS clone. - Fall back to BUILD_ID when a rolling release has no VERSION_ID.
Support Hyprland, Omarchy and Arch
Every Python file changed for Hyprland and Arch support is now fully formatted with black at 80 columns. Strings, comments and docstrings that black cannot split are wrapped by hand without changing any user-facing message. The Hyprland additions to system_controls.py are standalone blocks (an early return and new methods) instead of edits inside the existing elif chain, and their tests move to a separate class with module-level environment isolation. foreground.rs extracts event_class and timed_out so its lines stay within 80 columns under rustfmt; event_class has its own test.
There was a problem hiding this comment.
Thanks for the contribution and for clarifying your testing and Omarchy's current notification setup. My earlier review overstated the Mako issue and treated source pinning and experimental status as established requirements. Those were my recommendations, and I should have described them as project decisions. I also should have acknowledged that you tested on stock Omarchy and stock Arch.
Two narrower points are worth discussing:
- The Mako fallback mismatch I reproduced was a mocked case where the Omarchy executable is installed, its notification service is unavailable, and Mako is running. I haven't demonstrated that on your stock Omarchy setup. Since the PR also supports Mako on Hyprland, could we discuss whether that fallback configuration is intended to be supported?
- The existing authorization mechanism is already in main. The new direct Hyprsunset path calls it once before two external commands. I only verified that sequence with a mock, not a live failure. Could we discuss whether a second authorization before the identity command would be appropriate for this path?
For the Arch source installer, pinning and an experimental opt-in are project policy choices for us to decide separately. I am withdrawing those as requirements of this review.
Thanks again for testing and for taking the time to point this out. I appreciate the work you've put into adding support for these desktops.
|
Omarchy doesn't use mako anymore. Not pinning the version exists in main. I did test locally on stock omarchy and stock arch installs. The authorization check also exists in main. These are unrelated. AI reviews are wild sometimes. |
Dismissing my earlier change request after clarifying the review findings and the contributor testing.
|
Hi Zack, thanks for the clarification and for testing on stock Omarchy and Arch. I’ve corrected my review and dismissed the earlier change request. I overstated the Mako concern for your Omarchy setup and presented source pinning and experimental status as requirements when those are project decisions. I also should have acknowledged the testing you had already done. Could you let me know which scenarios you covered on each system? In particular, I’m interested in installation and starting Background controls, signing out and back in with startup enabled, switching between apps with assigned pages, and locking and unlocking with Decksmith’s lock protection enabled. If you have them handy, the distribution and Hyprland/Omarchy versions and whether you used a physical or virtual Stream Deck would help put the results in context. It’s fine if some of those checks weren’t part of your testing. Thanks again for the contribution and for helping us get the review right. |
# Conflicts: # README.md # scripts/bootstrap-install.py # scripts/install.sh # scripts/test_bootstrap_install.py
No description provided.