Closed adaszko closed 5 years ago
I believe MacOS uses X11. Recent versions of MacOS are based on Linux.
[EDIT: I was wrong about this.] X11 is a dependency because the project uses Brick. Brick is implemented using Vty, which includes a note that it does not support Windows, which leads me to suspect it supports Mac.
Can you run terminfo
in your terminal? If not, do you have another terminal app in which it does run? (terminfo
is what Vty uses to figure out how to talk to the terminal.)
Can you run any of the example programs from Brick or Vty?
The GUI is a small fraction of the entire codebase. In the worst case you could remove all the GUI code and the Brick and Vty dependencies, and use it from GHCI. I wouldn't recommend that as a regular application experience -- too slow --- but it might be useful if you're just trying to get a sense for what's possible in Hode.
I just realized there's a much better worst-case possibility: using Docker we can create a portable Linux that runs on your Mac, with Hode already installed. If you find yourself without terminals that respond to terminfo
let me know and I'll make one and put it on DockerHub.
This has nothing to do with terminal capabilities. The problem is the dependency on Clipboard
, which in turn, depends on X11
. See left hand side of (sorry, GitHub doesn't support SVG):
That's great news! (And accompanied by an outstanding picture! What did you use to draw that?)
Tonight I'll make a branch where UI.Clipboard doesn't do anything. Later, if someone finds a way to make that module platform-agnostic, I'll join the two branches again. In the meantime I'll be able to keep the no-Clipboard version in sync easily, but I might forget to do it until prompted.
It turns out I wasn't even using the Clipboard library! I've removed the dependency. Please let me know whether it works for you now.
Great. I can confirm now that stack run
builds the project successfully!
The dependency graph was produced by stack dot
command.
The GUI is a small fraction of the entire codebase. In the worst case you could remove all the GUI code and the Brick and Vty dependencies, and use it from GHCI. I wouldn't recommend that as a regular application experience -- too slow --- but it might be useful if you're just trying to get a sense for what's possible in Hode.
I think there's a usable middle ground: a REPL with autocompletion. It is very hard to interface the ncurses interface with other apps, like a text editor such as Vim.
Great. I can confirm now that stack run builds the project successfully!
Sweet!
I think there's a usable middle ground: a REPL with autocompletion. It is very hard to interface the ncurses interface with other apps, like a text editor such as Vim.
Interesting. Can you point me at some model (Haskell) code that does that?
Thank you!
The UI just got formally (in the sense that stack understands the change) divided from the rest of the code.
Hi, this is an amazing project. I was trying to build it on macOS and failed due to a dependency on a X11 library:
Can the dependency be made optional so that the project is usable on macOS too?