|
1 | 1 | # MacHelix |
2 | 2 |
|
3 | | -A GUI wrapper around the terminal based editor [Helix](https://helix-editor.com/) |
| 3 | +A proof-of-concept GUI wrapper around the terminal based editor [Helix](https://helix-editor.com/) |
4 | 4 |
|
5 | 5 |  |
6 | 6 |
|
7 | | -## Features |
| 7 | +## Background |
| 8 | + |
| 9 | +I became interested in Helix while searching for alternatives to JetBrains' AppCode after it was |
| 10 | +announced that it would be no longer be developed. There's a lot to like, but personally I |
| 11 | +prefer my editor to support standard operating system affordances such as access to the system |
| 12 | +clipboard, drag-and-drop (including a draggable proxy icon), etc. I have been using vim for |
| 13 | +years on the Mac - mainly through the excellent MacVim. I wanted the same thing for Helix. |
| 14 | +Discussions on developing a gui wrapper for Helix are ongoing, but so far, afaik, development |
| 15 | +has not yet started. |
| 16 | + |
| 17 | +So I had the idea that maybe I could do a sort of poor-man's wrapper by embedding a terminal |
| 18 | +in a Mac app to run Helix in, and communicating between the wrapper app and Helix via some sort |
| 19 | +of IPC. MacHelix is the result. |
| 20 | + |
| 21 | +## Current Features |
8 | 22 |
|
9 | 23 | - Drag and drop |
10 | 24 | - Titlebar shows filename and draggable proxy icon for the file in the active view |
11 | 25 | - Copy/Paste with ⌘C and ⌘V |
| 26 | +- Select All with ⌘A |
| 27 | +- Window background changes with helix theme changes |
| 28 | + |
| 29 | +## Status |
| 30 | + |
| 31 | +The project is prototype quality. It exists mainly to satisfy my curiosity that such an app is |
| 32 | +possible/practical. It will take quite a bit of work to bring this to production quality. It |
| 33 | +includes an embedded custom build of `hx` with rudimentary IPC implemented via named pipes. |
| 34 | + |
| 35 | +The terminal layer comes from my fork of [SwiftTerm](https://github.com/humblehacker/SwiftTerm), |
| 36 | +with some really rough fixes for sgr mouse support (with code borrowed from |
| 37 | +[iTerm](https://github.com/gnachman/iTerm2)). |
0 commit comments