Passing data between uxn roms via the emulated console device.
68 comments
@neauoire what do the lines do? Do they pipe output between subwindows? If so, then cool! I imagined something like that before, happy to see it actually existing. @bouncepaw yeah, that's what it does, in this example, I'm piping the hello world program in another program that just forwards each character, and the porporo.rom is just printing it to the terminal out. @neauoire would it be possible to run a host system's command? There are uxn terminals, right? @neauoire hot. With some clever routing, I can see how a simple web browser can be implemented. There's a loop: curl wrapper, html renderer, buttons (a very simple program). I wonder if control flow can be done somehow... @bouncepaw it can, once I'm done with mouse-picking with windows, I'll make you a little video demo! @stilla I use vanilla plan 9 from time to time, but this is all uxn, it definitely has a certain plan9 vibe. :glenda: @arbe well right now it's using an int, but I might make it loop around an unsigned short for good measure :) Built the stack-machine operating system(or, a kind of livecoding playground) of my dreams this afternoon. Where's that factor raptor with sunglasses emoji @ritualdust Once it's a bit more fleshed out, I'll make you a launcher that does exactly that ^^ @neauoire @ritualdust OMG please! I cannot seem to get it running on MacOS, but I also get lost at the terminal quite easily. @helveticablanc @ritualdust it's really not in a state that can be used easily, gimme a bit of time and it'll be usable. The advantage of this is that it's easier to use than uxnemu which expects that you give it a rom path, this, you open it, and start playing. @neauoire @ritualdust Oh yeah, I'm in no rush! Its so cool to watch you develop it tho! @neauoire Oh wait, the wm is uxn? how? Btw, have you seen sowm? Tiny X11 window manager written by the Neofetch guy. https://github.com/dylanaraps/sowm @unlkfp yeah I came across it a little while back :) What I'm going for is rio meets puredata The window manager's dropdown menu is its own little Uxn program connected to the main OS node, that will spawn new program nodes. I don't know why I didn't do all this sooner, I wasted so much time trying to contend with i3 and unix's bullshirt. @creitve having only stdin/stdout/stderr for program communication, and the pain of forking routing, and in this case, one thing I really like, is allowing one program to poke() at another program's running memory as a form of pipe. As well, as all this is stored as an image, recovering state is going to be really easy, it's not tangled into any parts of the subsystem. Routing the menu directly into Left makes Left work as a sort of debugger for message passing. @neauoire this really reminds me of some of the things @prahou was scripting in ratpoison, but ohmygod your ui looks elegant! crazy what you can come up with if you leave the constraints of existing software :) (side note: i've been thinking about a low-power portable computer system for ages now and this looks like the dream wm/os for it! do you know what the current state of running uxn close to metal is?)
[DATA EXPUNGED]
@jameschip yup, so you can connect one output to various programs to fork the stream.
[DATA EXPUNGED]
@jameschip yeah that was the idea. Data can go both ways, but it uses uxn's event flow, so there's 256 bi-directional named ports to communicate data with. Each can trigger various events in the next program, like a refresh, a resize, a note, etc..
[DATA EXPUNGED]
@jameschip not really, it just has to be a valid varvara rom(standard uxn program), they always have the same base API to draw pictures, and write files and so on. I can move the cursor of another application by writing to that application's Mouse/x port, and that, in turn, triggers a Mouse/vector, which the application will respond to because that's what roms do.
[DATA EXPUNGED]
@jameschip yup! That's how files, stdio, etc are passed around in Varvara. I should have to need the file's symbols to communicate with it. @neauoire You're doing something amazing now. I don't understand what it is but I like it and please don't stop. It's starting to be usable enough that I can build the OS from within itself. I no longer need to rely on unix pipes to route data between programs, I can just paint little lines between them. :mac: The linter rom is the little black dot, I currently don't have anything to draw roms that don't use the screen device. @neauoire i'm so excited watching you work on this :D @neauoire yay Display Postscript! I'm not sure if it worked anything like this but it's what this reminds me of. |
Each program loaded in the uxn system can draw its own pixels to the screen!