Fix macOS rbw packaging and shortcut display #1

Merged
oitsjustjose merged 2 commits from Omer-Bera/rbw-quick-access:fix/macos-quick-access into main 2026-10-07 23:49:46 +00:00
Contributor

This PR fixes several macOS-specific issues I encountered while building and using rbw-quick-access from source.
Changes:

  • Resolve the bundled rbw binary relative to the PyInstaller executable, so packaged macOS builds can find it correctly.
  • Add a separate user-facing keybind representation for macOS, so shortcuts are shown using native symbols like ⌘ and ⇧ without changing the Qt matching logic.
  • Keep the existing shortcut display behavior on non-macOS platforms.
  • Use Helvetica for shortcut badges on macOS for more consistent rendering of modifier symbols.
  • Add the missing quickmachotkey dependency for macOS builds.

Tested on Apple Silicon macOS with Python 3.13 and rbw 1.15.0.
This is my first contribution to an open-source project, so I hope I’m following the expected workflow correctly. I used AI assistance while working through these changes. Since the changes are relatively small and I tested them locally, I thought they would still be useful to submit. If AI-assisted contributions are not a good fit for the project, or if any part of this PR does not meet your contribution standards, please feel free to reject or request changes.

This PR fixes several macOS-specific issues I encountered while building and using rbw-quick-access from source. Changes: - Resolve the bundled rbw binary relative to the PyInstaller executable, so packaged macOS builds can find it correctly. - Add a separate user-facing keybind representation for macOS, so shortcuts are shown using native symbols like ⌘ and ⇧ without changing the Qt matching logic. - Keep the existing shortcut display behavior on non-macOS platforms. - Use Helvetica for shortcut badges on macOS for more consistent rendering of modifier symbols. - Add the missing quickmachotkey dependency for macOS builds. Tested on Apple Silicon macOS with Python 3.13 and rbw 1.15.0. This is my first contribution to an open-source project, so I hope I’m following the expected workflow correctly. I used AI assistance while working through these changes. Since the changes are relatively small and I tested them locally, I thought they would still be useful to submit. If AI-assisted contributions are not a good fit for the project, or if any part of this PR does not meet your contribution standards, please feel free to reject or request changes.
Owner

This is fantastic, thank you! Generally speaking I don't care for AI style when it's writing the code, but this looks great! This is pretty much exactly what I was going to do for the requirements.txt and macos.py changes, but Keybind::display is clever! This looks good to me, I'll probably make a few changes before pushing out a release, mostly to dev builds of rbw which probably don't need to exist anymore now that my fork of rbw has a Homebrew release :)

This is fantastic, thank you! Generally speaking I don't care for AI style when it's _writing_ the code, but this looks great! This is pretty much exactly what I was going to do for the `requirements.txt` and `macos.py` changes, but `Keybind::display` is clever! This looks good to me, I'll probably make a few changes before pushing out a release, mostly to `dev` builds of `rbw` which probably don't need to exist anymore now that my fork of `rbw` has a Homebrew release :)
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
oitsjustjose/rbw-quick-access!1
No description provided.