1. 58
  1. 14

    The behavior this allows for (each window taking over its parent’s window, rather than spawning a new window) has been something I wanted to demonstrate on Wayland for a very long time. This is a good demonstration of how Wayland’s fundamentally different and conservative design allows for some interesting use-cases which aren’t possible at all on X11.

    It’s not entirely impossible. I hacked together something with dwm to allow a terminals to swallow graphical programs: https://dwm.suckless.org/patches/swallow/

    It abuses the X Resource Extension for fun and profit.

    1. 6

      You can achieve the same effect and separation with Xorg, even on the lower levels (3d acceleration). Few distributions enable it by default, but build with ‘Xephyr’ and spawn that instead of Xserver through your outer WM (so dwm in this case) with a kiosk-like WM (ratpoison) that fullscreens the latest connected client. Unlink, randomise -display “number”, preload-interpose or otherwise namespace-out the socket path that DISPLAY=:xx would normally resolve to and there is your client isolation as well.

      1. 4

        Wow, very impressive. I was wondering if this was feasible with X11 after seeing Arcan do it. It seems much more useable than 9wm.

      2. 14

        hah, since the video starts with a plain gray background, I thought video decoding in firefox broke somehow :D

        1. 1

          Anyone know if sway supports the window replacement trick? That looks awesome, but I also love i3. I also still didn’t manag to get wayland to work on nixos with an amd vega 56, so can’t try it yet either :(.

          1. 1

            You should be able to get something similar working by using Cage directly.

          2. 1

            The appeal of rio in plan 9 is tightly integrated with the per process group name space. It is actually counter intuitive when spawning new windows with window -m (see http://man.cat-v.org/plan_9/1/rio), because soon you will lose sight of which window has what kind of file name space. On the other hand, when launching applications that replace the current window, you can keep the hierarchical file name space intact. A tree structure is easily done with nested rio by launching rio inside the current rio window after you change the name space (start a new plumber, bind resources from other cpu servers) in the current rio window.

            1. 1

              All of the same should also be possible with wio.

              1. 1

                So I can bind my passwd to /etc/passwd?

                1. 3