
Wio: A Clone of Plan 9’s Rio for Wayland - ddevault
https://drewdevault.com/2019/05/01/Announcing-wio.html
======
cnasc
This is really cool! I've always wanted to use a Rio-like WM but my chronic
lack of gumption kept me from installing one. Wio looks sufficiently neat that
I think I should get around to trying it.

For people who like new window manager things and also Rio, it's worth also
checking out this piece of the Arcan Project: [https://arcan-
fe.com/2017/04/17/one-night-in-rio-vacation-ph...](https://arcan-
fe.com/2017/04/17/one-night-in-rio-vacation-photos-from-plan9/)

------
Avi-D-coder
This is very cool, but I have to ask, why would I want new windows to take
over their root? Most things launch asynchronously, leaving their parent
usable.

Did plan 9 use this model because blocking launchers were the norm not the
exception?

~~~
Sir_Cmpwn
It's just a different model. It's hard to explain exactly why, but it works -
though it's definitely not what most people are used to. Give it a shot!
Though I'd recommend trying it out on Plan 9 itself, where the applications
are designed around it, before settling your doubts for good.

~~~
theoh
Isn't it more or less a case of usually launching an application into a newly
created window? It's been a long time.

The Plan 9 emphasis on per-process namespaces corresponds to the idea that a
new graphical application is given a handle for a framebuffer that corresponds
to the size of the window it can draw in. The Rio idiom has every window start
by default as a textual terminal, so it's natural to be able to take over that
framebuffer to run a graphical app.

It's a bit like the situation on older systems, like Sun workstations, where
the textual console and the graphical display were only informally separated:
sometimes the X server's display would be interrupted by lines of text printed
onto the screen by the kernel's console driver.

------
jimjimjim
This looks like a really interesting project.

Im always looking for new window interaction styles. And this seems refreshing
after years of minor tweaks on win95’s style.

I really should have tried plan9 years ago instead of always procrastinating.

------
mncharity
Can anyone suggest interesting work that is kind of the opposite of this? Vast
real estate, rich HIDs, dynamic autonomous presentation?

So focused on many/big screens, with an eye towards future high-res AR/VR 3D,
rather than a single "space is precious" small screen. Rich human interface
devices, like multitouch and 3D hand pose and stylus and head position and
gaze, rather than a single mouse. Display as a dynamic ecosystem of
presentations, under the influence of multiple agents, rather than detailed
manual control. UI as collaborative improv dance, rather than as
micromanagement.

Punchcards and console toggles; teletype printer; VT100 terminal; small
bitmapped monitor and mouse; larger monitor; largerer monitor; largererer;
multiple monitors; with multitouch and stylus tablet; future high-res AR/VR...
as tech so very slowly becomes less crippling, the UIs do too...

Hmm, though for _current_ VR, with its 1980's VGA-like non-blurry pixels are
more precious than they've been for decades, fine-grained control and space
sharing might be quite nice?

~~~
boomlinde
As far as I'm concerned I already have a multi-touch hand pose interface, one
that's seen more than a century of improvements. Not sure what 3D would add to
it. Perhaps just a larger attack vector for tennis elbow, i.e. _literally_
crippling.

When I see movies with 3D projected interfaces and people interacting by
waving their hands around them I can't help laughing about the ergonomics of
it. I have similar thoughts about the general applicability of VR. For as long
as VR means focusing on a screen a couple of centimeters from your eyes, it's
not going to be a generally useful productivity tool because of the eye
strain. With a monitor I can easily turn my chair and focus on something else
for a few minutes.

Overall, it's my opinion that the goal of designing human interfaces should be
to minimize cognitive load, eye strain and arm strain. Window management "as
collaborative improv dance" with "3D hand poses" sounds like the exact
opposite of that. The future of human computer interfaces IMO lies in things
like replacing the mouse with something that requires less hand movement,
technology like e-ink to improve legibility and minimize eye strain, mouseless
window management, ergonomic keyboards...at least generally.

I can still see how VR and 3D gesturing can be immensely useful for things
like CAD and video games, but in general I use my computer to read and write
documents (maybe a specialized use case in itself). Whether those documents
fly around in a 3D space or are projected in thin air in front of me is
uninteresting to that end.

That said, to sort of answer your question, here is an interesting paper:
[https://our.oakland.edu/bitstream/handle/10323/4785/An%20Inf...](https://our.oakland.edu/bitstream/handle/10323/4785/An%20Infinite-
Pane%2C%20Zooming%20User%20Interface%20Window%20Manager%20and%20Survey%20of%20X%20Window%20Managers.pdf?sequence=1&isAllowed=y)

~~~
mncharity
> one that's seen more than a century of improvements

Ah, I have tried quills a couple of times. And dip pens. It was interesting.
;)

> movies [...] can't help laughing about the ergonomics of it

Yes. Though they do seem to have an "outreach" role, raising awareness and
interest that improvement over the familiar is possible.

And moving while working, like shifting from sitting to standing desk and
back, and walking, can be nice.

> minimize cognitive load, eye strain and arm strain

Nod.

> focusing on a screen a couple of centimeters [...] eye strain

The focus distance is usually either around 1 m, or infinity. Downsides
include being fixed, creating vergence-accommodation conflict. Prototypes, and
the new Microsoft Hololens 2 (which paints the retina), variously improve on
this.

> minimize cognitive load

One thing I've played with, is taking a downward keyboard-cam of hands on
keyboard, and overlaying it on a 3D monitor. Raising it slightly in Z seemed
to allow focusing past it, making it merely bothersome, rather than untenable.
Upside is it reminded me of an old Lisp Machine, with the screen telling you
what various keystrokes would do in your current context, so I don't have to
remember them all.

> less hand movement

Yes. I really like the idea of keyboard as multitouch surface. Stroke a
keycap, rather than moving to a touchpad. Touch a modifier key keycap, rather
than having to actually press and hold it. And optical finger tracking
allowing subtle hand gestures to be commands.

> read and write documents [...] 3D space or are projected in thin air in
> front of me is uninteresting to that end

Hmm. Sometimes it's useful to print out a document, and put it up on a wall,
so you can see the big picture, or talk with someone about it. If one has a
task which fills the available monitor space, it's easy and common to remember
what it was like with a smaller monitor, and not want to go back, but harder
to imagine whether the same might happen again with further expansion.

More generally, one thing that cheaper real estate might do is lower the
barrier for tooling to provide speculative assistance. You're writing for an
audience including someone from Great Britain, using a phrase that has
different meaning there than in the US... checking that with a keystroke, or
as part of a "I'm done, check it now" report, seems less attractive than
"comments are available off to your side - glance if you care". Grammarly
meets VR.

For myself, writing documents is often preceded by a lot of graph drawing, as
I figure out the structure of the domain, concept space, and presentation
alternatives. I very much look forward to moving that into direct-manipulation
3D.

------
tambourine_man
Video doesn’t play on iOS

~~~
naikrovek
It might if you wait. It shows a gray screen for a good while before you see
something that indicates that the video is actually working.

~~~
Crestwave
It really does not play on iOS, as in it's replaced by a crossed-out play
symbol.

------
ubercow13
In what way is this not possible with X11? Don't for example tabbed containers
in i3 kind of work like this?

~~~
hawski
This project is very cool, but I also think it was kinda possible on X11.
However not as easy and that's why this project is exciting for me.

I tried to hack on tabbed from suckless [0] with a little utility to achieve a
similar behavior. An X11 proxy that would rewrite window creation so that the
parent window would be tabbed xid and not root window [1]. It kinda worked,
but I never finished this for transient windows.

So you would start with a terminal inside tabbed instance with tabs hidden.
The terminal would be behind chrwin proxy. Then when you launch anything
inside, it would become a new tab and tabbed would switch immediately to it.
There could be a possibility to kill the terminal after spawning a new client.
But I intended to just leave it by default so you would go back to it.

Edit: that was my first approach. I wanted then to not rewrite window
creation, but to reparent it afterwards. Something like this. It was supposed
to simplify transient window handling, because the client would take care for
it. At least that's what I remember.

[0] [https://tools.suckless.org/tabbed/](https://tools.suckless.org/tabbed/)

[1] [https://github.com/hadrianw/chrwin](https://github.com/hadrianw/chrwin)

------
abrowne
I was wondering recently if I could tell Sway to use floating mode for all
windows as a kind of first step to something like this. This is obviously much
better, though!

------
boomlinde
Interesting project! For X11 users there's 9wm. I wonder how it compares to
Wio.

