nixers
GUI pipes - Printable Version
+- nixers (https://nixers.net)
+-- Forum: General (https://nixers.net/forumdisplay.php?fid=3)
+--- Forum: Psychology, Philosophy, and Licenses (https://nixers.net/forumdisplay.php?fid=28)
+--- Thread: GUI pipes (/showthread.php?tid=2292)
Pages: 1 2


GUI pipes - eduarch42 - 20-01-2020

How would one go to take the concept of unix piping into the GUI environment?
This is just a brainstorm thread, answer with ideas or leading questions.


RE: GUI pipes - jkl - 20-01-2020

Basically, that's how Plan 9 works: Piping into GUIs by exposing GUI elements as filesystems.


RE: GUI pipes - eduarch42 - 21-01-2020

Ok ok, and what about implementing it as a series of programs, that are necessary to work on a non-Plan9 OS. I mean how would the GUI implementation be? I was thinking maybe some drag and drop, where you drag an "anchor" into a desired program, where the output of that program will be piped into the one desired.


RE: GUI pipes - zge - 24-01-2020

(20-01-2020, 10:34 AM)jkl Wrote: Basically, that's how Plan 9 works: Piping into GUIs by exposing GUI elements as filesystems.

Are you sure? I've played around with Plan 9 a few times, but didn't see a way to trivially combine various existing GUI tools into new ones. I guess you could start a new rio session in a terminal, but I don't think that's really what eduarch42 means (?).


RE: GUI pipes - josuah - 25-01-2020

(24-01-2020, 05:43 AM)zge Wrote: Are you sure? I've played around with Plan 9 a few times, but didn't see a way to trivially combine various existing GUI tools into new ones. I guess you could start a new rio session in a terminal, but I don't think that's really what eduarch42 means (?).

Start a plan9 session, you end-up in a raw terminal without graphical ability.

Start acme, it opens as the root window.

Instead of acme, start rio, you can now open new windows in which start other programs, including acme.

That is how you can combine programs onto others on Plan9.

X11 has XEmbed [1], and tabbed [2] is an example that uses it for providing a "tab" feature to surf, st, and more.

[1]: https://en.wikipedia.org/wiki/XEmbed
[2]: http://tools.suckless.org/tabbed/


RE: GUI pipes - z3bra - 25-01-2020

This means that programs can be chained together, but it hardly compares to a pipe.

I think that plan9 shines with its plumbing system. Hilight something with the mouse, middle click in another program and the content is pasted/reused in an other window.
And in essence, a plumbing system is made of pipes ;)


RE: GUI pipes - eduarch42 - 25-01-2020

Yeah, i have tried 9plan (9front actually) because i want to take inspiration to a set of programs i'm trying to develop. A DAW (Digital Audio Workstation) that will consist of several independent programs. Meaning if i want to add distortion to a sound file, i'll need to first open the file opener program and then in a way chain it and pipe the output of the file to a distortion one. Having a "unix philosophy" based music creation suite.


RE: GUI pipes - z3bra - 26-01-2020

Another good way to send data from one program to another would be drag & drop.
This puts the "piping" mechanism onto the user though, but would be a cool way to send data between programs. For example, select an audio portion, then drag it onto the "distortion window to convert it.


RE: GUI pipes - eduarch42 - 27-01-2020

Yes, the drag & drop is already in a way a piping mechanisms, that i think could be ideal for GUI applications.


RE: GUI pipes - Halfwit - 28-01-2020

In plan9 there's control.h, which could be technically mangled into a file server for creating UI applications from say, a shell script. It's crazy cool. It uses channels internally (think Golang channels) but! Very important to state, it's unfinished, and a bit janky. The idea is there though.