Open RibalGZ opened 7 years ago
Vis may get client-server design at some point. Maybe a FIFO could be the way to do this.
This can be relevant too: https://github.com/martanne/vis/issues/59
For starters FIFOs are unidirectional, we probably want to use Unix domain sockets for bidirectional communication.
I tend to think that a language agnostic RPC API is the the right way to tackle this. It could then be used to implement a textual protocol (as you seem to propose?), a FUSE or 9P based file system interface or whatever craziness you come up with.
Prerequisite for that is a global main loop and a sound model (or a conscious decision to ignore the problem) on how to handle concurrent changes. This was recently also touched on in #537. I'm not sure what yet another issue, besides those already linked, accomplishes?
I Would like to see some kind of support to send and receive messages through a FIFO file, like the dwmfifo patch does for DWM: http://dwm.suckless.org/patches/dwmfifo
This would allow us to script the vis behavior using any language in a simpler way.
I think that a possible behavior could be like this one: