This is actually a small proof of concept for the much larger project that is Arcan or Arcan-fe. Did a fair amount of research into it. Its philosophy is to move away from the traditional desktop experience and create fundamentally unique, new interfaces. More on its founding principles can be found on this site: https://www.divergent-desktop.org/blog/2020/08/10/principles.... The core of Arcan is written in C with a little Lua and takes inspiration from game engines, display servers, and streaming multimedia processors. It combines similar functionality of these traditionally seperate low level graphics to create an all-in-one graphical display engine. According to this slideshow (https://speakerdeck.com/letoram/arcan), the "last mile" for making any gui/tui can be as little as simple scripts. Writing scripts(mostly lua as of right now) can get you a tiling wm, audio/video playback, a libretro-based emulator running a game, and as this post shows a dynamic new command line shell. An interesting project overall to keep an eye on. Can see it used as another modern alternative to the aging X/X11/Xorg on GNU+Linux and BSDs.
A very interesting project. Utterly irrelevant, but that blog page is my dream web page. The text centering, the layout, and above all, the background color. It is for me the most pleasant and comfortable color to read text on. Stealing it!
I did this for an internal project - the system controller of an embedded system.
The main CPU booted into a Lua shell, had a VFS implementation so it could read "files" from disk (areas on the flash chip) and had the same io interface to "/tmp" (which was RAM). It looked in /boot to find 00-<whatever>, 01-<whatever> etc. and executed those Lua scripts in numerical order at boot, and it provided stdio redirection over a PCIe link (via thunderbolt, actually) to the host.
Once the boot process was finished, all the peripherals were booted, and the state was quiescent, it fell back into an interactive Lua shell (using the stdio redirection). I could (on the host) run an application that made it look as though I was "logged in".
Since we exposed all the peripherals as Lua classes, and we could interactively call methods on those classes, it was really easy to reconfigure the thing on-the-fly, reset a peripheral with different values, or tune things in the actual working environment. A fair amount of initial work, but it really paid off over the lifetime of the project.
Basically I wrote a very simple OS :) Lots of fun was had.
I have thought about long running jobs just being available right away with whole log in very similar manner as here. I never thought much about Arcan, but now I'm much more intrigued.
>The last flavour covers the no-man’s land of everything in between, the multi-million lines of UI toolkits. They come with much of the complexity of the VMs and about as much barren legacy as the terminals.
TCL/TK was like that.
>Authenticate against the device, not a dynamic ‘user’. Then, allow safe, ephemeral, secure sharing of the smallest, innermost compartment or an interactively defined aggregation thereof. This compartment is ‘the window’, not ‘the desktop’.
From plan9 and the upgraded 9front: Factotum, namespaces.
>The core of the matter is the opaque and unpredictable ‘opt-out’ nature of the automated system responses to user initiated actions, no matter if it is plugging in a USB device, a network cable or downloading a file. You only see the fire after you feel the burns.
OpenBSD, enable and set hotplugd for lots of devices, just return "true". Also, by default (I think) DHCP is not called upon plugging in a cable.
Useful links related to Arcan: Website(https://arcan-fe.com/), Creator's Github (https://github.com/letoram), Arcan's Github Repo(https://github.com/letoram/arcan), Creator's youtube channel (https://redirect.invidious.io/user/arcanfrontend).