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

Open
goodboy wants to merge 4 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).
This Pull Request doesn't have enough approvals yet. 0 of 1 approvals granted.
You are not authorized to merge this pull request.
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.