lehitoskin / ivy

Ivy, the Taggable Image Viewer
GNU General Public License v3.0
16 stars 3 forks source link

macOS TouchBar support #102

Open IonoclastBrigham opened 5 years ago

IonoclastBrigham commented 5 years ago

This is a proposal to support the macOS TouchBar, as found on recent generation MacBooks. The most straight-forward approach would simply be to reproduce some or all of the toolbar buttons, which would allow for quicker access without having to move one's hands from the keyboard or mouse around to move the pointer.

The really cool thing about such a feature is that, like the Mac menu bar, the TouchBar is context-sensitive, so there could be different configurations for the main window, the search window, the tab browser, etc. You could even have different options depending on whether you were just looking at things in the main window, or actively editing your tags. For example, you could activate an emoji widget, auto-complete suggestions for tags, or anything else you could imagine.

Technical Challenges

It is dubious whether racket-gui will ever support this. And if it doesn't, the only alternative would be to write some Cocoa code in Swift and access it via FFI (perhaps with some C glue code). The Cocoa code itself looks like it'd be pretty simple, but I have no idea how hard it'd be to integrate it so it plays nicely with the existing windows and racket-gui's internal message dispatching.