Add Omarchy actions to the Apple Silicon Touch Bar - #363
austindixson wants to merge 4 commits into
Conversation
tiny-dfr already owns the DSI strip on M-series MacBooks with a Touch Bar, but the stock layout is F1–F12 until Fn is held. Ship a media-layer default with brightness, the Omarchy menu, terminal, lock, screenshot, and transport/volume, plus F13/F14/Search Hyprland binds so those keys do something. Hardware setup is aarch64 + Apple device-tree only (T2 keeps the kernel Boot Camp bar). Users override the strip with ~/.config/omarchy/touchbar.json.
|
Saving touchbar.json runs sudo from a detached Quickshell process with no terminal or pkexec, so it will usually fail silently once sudo credentials are cold. Route install/restart through a real privilege prompt and report failures; test this on an existing install too. |
Saving ~/.config/omarchy/touchbar.json ran sudo from a detached Quickshell process, so a cold ticket failed with no prompt and no error. Use pkexec when there is no TTY, keep sudo for a real terminal, restart tiny-dfr without swallowing errors, and notify on apply failure.
|
Addressed in 815aefc. Saving Tests cover the detached |
tiny-dfr emits KEY_F13/KEY_F14, but the default us keymap has no F13/F14
keysyms, so Hyprland never matches o.bind("F13"). Use X11 codes 191/192
(evdev + 8) so term and lock fire on the virtual function row.
|
Thank you for the feedback. It is a big accomplishment to be accepted on Omarchy on mac, so i took a look at everything again and discovered some opportunities for meaningful improvement and submitted an update. |
Summary
On M-series MacBooks with a Touch Bar,
tiny-dfralready paints the DSI strip, but the stock layout is F1–F12 until you hold Fn. This puts useful Omarchy actions on the default (no-Fn) row and lets users customize it.Default strip (no Fn): brightness, Omarchy menu, terminal, lock, screenshot, mic mute, media transport, volume.
Fn: F1–F12.
Hardware setup is aarch64 + Apple device-tree only. T2 Macs keep the kernel Boot Camp Touch Bar and do not get
tiny-dfrfrom this leaf.Customize
Copy
shell/plugins/touchbar/layout.jsonto~/.config/omarchy/touchbar.jsonand save. Theomarchy.touchbarservice regenerates/etc/tiny-dfr/config.toml. Hand-written configs that are not Omarchy-generated are left alone.Test plan
./test/shell.d/apple-touchbar-test.sh./test/shell.d/hyprland-binding-conflicts-test.shNotes
tiny-dfr can only inject keycodes, not shell commands. Menu/terminal/lock are F13/F14/Search plus Hyprland binds in
default/hypr/bindings/touchbar.lua.