macos_hackarounds: spurious hacks to support macos (@goodboy's re-work/base) #78

Closed
goodboy wants to merge 5 commits from macos_hackarounds into main

Replacement for #65 but without yet including any (required) patches from #64.

I’m putting this up as a draft because ideally we get the base set of actually required changes into both tractor (see ongoing work for full CI support) and piker sin all the extra fixins from @dnks.

That will final patch will come in the form of some kinda macos_support PR more then likely, and then we’ll bring in the various fixins by scope/use-case from both #64 and #65 via separate downstream PRs later.

Replacement for #65 but **without** yet including any (required) patches from #64. I'm putting this up as a draft because ideally we get the base set of **actually required** changes into both `tractor` (see ongoing work for [full CI support](https://github.com/goodboy/tractor/pull/342)) and `piker` sin all the extra fixins from @dnks. That will final patch will come in the form of some kinda `macos_support` PR more then likely, and then we'll bring in the various fixins by scope/use-case from both #64 and #65 via separate downstream PRs later.
goodboy added 4 commits 2026-03-02 23:16:28 +00:00
8352d89e43 Various patches for macOS (orig from @dnks)
Generally hackarounds to various modules to cope with either
linux-specific runtime incompats, file-name-len limits on macos, or
oddly specific to @dnks' setup config template hardcodings XD

(Obvi this commit msg was edited/reformated by @goodboy, who's also
tossed in interleaved todo bullets around each "change")

Hi-level summary,
- config/conf.toml for updated UI font size and graphics throttle.
  - [ ] remove this since it's a project template.
- piker/cli/__init__.py -> Changed transport from UDP to TCP in service
  manager.
  - [ ] this should be the default anyway, likely it was left that way
    on a dev-testing branch this history was clone from..
- piker/data/_symcache.py -> Added recursive dict cleaning for TOML
  serialization.
- piker/fsp/_api.py -> Hash-based key for shared memory buffers (macOS
  compatibility).
- piker/tsp/__init__.py -> Hash-based key for history buffers for macOS
  compatibility.
  * conflict-reso-note: was adjusted by @goodboy in new code location
    `.tsp._history` mod and keeps the orig keying for linux, only
    shortens on mac.
- piker/ui/_display.py -> Modified SHM name assertion for macOS
  compatibility.

Unmentioned changes noticed by @goodboy,
- adds a new `piker.sh` which should be unnecessary pending proper macos
  support in `tractor` via `platformdirs`,
  * 474f1dc4a7
4fff348f9e 🔴 No files deleted.
🟢 a/piker/ui/_exec.py for adding global keyboard shortcuts for UI zoom.

🛠️ a/piker/ui/_forms.py -> Added methods to update fonts and sizes dynamically.

🛠️ a/piker/ui/_label.py -> Added method to update font and color after zoom.

🛠️ a/piker/ui/_position.py -> Included update_fonts method for labels and bars.

🛠️ a/piker/ui/_search.py -> Added update_fonts method for search view components.

🛠️ a/piker/ui/_style.py -> Enhanced configure_to_dpi() to support zoom level multipliers.

🛠️ a/piker/ui/_window.py -> Implemented application-wide zoom with event filter and zoom methods, including signals to update UI elements' font sizes and styles.

🔴 No files deleted.
73633531c1 🟢 .gitignore
🛠️ piker/ui/_axes.py -> Enhance axis font and size handling
🛠️ piker/ui/_window.py -> Improve zoom key detection and event handling
🛠️ piker/ui/_window.py -> Update axes fonts and layout after zoom events
1b70658909 Revert to checking a `.hist` suffix in shm file name
That is, in-mem history buffer files should have a `.hist` suffix (which
was added back instead of the weird `.h` change from the rebased
8352d89e).

I'm pretty sure we can afford the 3 extra chars if we're already
truncating to a max 16 char `key: str = f'{uuid[:8]}_{fqme_hash}'`, per
@goodboy's edit from the original key-truncation approach in the
original original @dnks patch: 75d8582b).
goodboy force-pushed macos_hackarounds from 1b70658909 to d87956d081 2026-03-04 23:29:29 +00:00 Compare
goodboy force-pushed macos_hackarounds from d87956d081 to 4cfc2b695f 2026-03-05 03:24:24 +00:00 Compare
Poster
Owner

Yeah so we’re likely going to land these macOS specific fixes separate from the new font-driven-scaling controls which will land via @momo’s #48.

As such i will be replacing this PR with another including basically the same history minus those commits.

Yeah so we're likely going to land these macOS specific fixes separate from the new font-driven-scaling controls which will land via @momo's #48. As such i will be replacing this PR with another including basically the same history minus those commits.
Poster
Owner

Bah, turns out we did need the geo-settings saving commit for macos..

was originally (7624239f) on the gitea/macos_dnks_vibed_fixes branch.

i’ve now cherried and re-commit-msged it in #82 as 45f688cbe6.

Bah, turns out we **did need** the geo-settings saving commit for macos.. was originally (7624239f) on the `gitea/macos_dnks_vibed_fixes` branch. i've now cherried and re-commit-msged it in #82 as 45f688cbe659f790733c1132eeef2f76a9718efb.
Poster
Owner

Closed in favor of the already merged #82.

Closed in favor of the already merged #82.
goodboy closed this pull request 2026-03-12 02:48:01 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 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: pikers/piker#78
There is no content yet.