Skip to content

Add support for Hyprland, Omarchy, and Arch Linux - #2

Open
zackkitzmiller wants to merge 11 commits into
infamous-pattern:mainfrom
zackkitzmiller:main
Open

zackkitzmiller wants to merge 11 commits into
infamous-pattern:mainfrom
zackkitzmiller:main

Conversation

@zackkitzmiller

Copy link
Copy Markdown

No description provided.

zackkitzmiller and others added 5 commits November 9, 2026 00:36
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.
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.

@infamous-pattern infamous-pattern left a comment •

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@zackkitzmiller

Copy link
Copy Markdown
Author

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.

@infamous-pattern
infamous-pattern dismissed their stale review November 10, 2026 14:06

Dismissing my earlier change request after clarifying the review findings and the contributor testing.

@infamous-pattern

Copy link
Copy Markdown
Owner

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.

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.

2 participants