9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: hiro <23hiro@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Someone made a Wayland compositor based on Rio, Wio
Date: Thu,  2 May 2019 13:10:02 +0200	[thread overview]
Message-ID: <CAFSF3XOSkq9RPz4wmo-+ipfRG270OEvfH5NBcvSxOGqjbXeZ-Q@mail.gmail.com> (raw)
In-Reply-To: <CAJSxfmJGk3CKes24U8Wtq2ENaabYWWhdVV=BHm2eAfk2Yi0FoA@mail.gmail.com>

> Broadly speaking, that's [rio running inside rio] the essence of Rio.

i have lately investigated the code of rio, devdraw and memlayer and
understood a bit the historic connection to bitblt, etc., and i've
been wondering lately where statements like above, which i have heard
before, come from.

they makes no sense to me, that rio nesting feature seems like an
afterthought and involves a lot of back and forth which isn't just
inefficient, but extremely inflexible!

there isn't just a perceived lack of symmetry, direction of
information flow is unordered and opposing the common need.
there are lots of layer violations and no actually transparent
understandable interface.
the documentation is thus also scattered all over those components
that are divided into non-obvious non-coherent layers.
if you knew bitblit it makes more sense, but if you just start (like
me) with modern plan9 proper, consuming the documentation is hard
unless you accidentally stumbled over some descriptions of the
historic progressions, which did seem like a viable excuse for this
clutch that is rio. this old stuff (before rio) must have been the
most latency-sensitive, and bandwidth-constrained piece that had
obvious immediately experienced effects for user interactions. it
makes total sense that bitblit protocol is quite powerful (for the
time) and a lot of stuff is done efficiently in hardware.

i can only assume that the developers knew about the historic debt and
why rio can never be truly elegant as many people (still) advertise,
and that seems to me to be the reason why both sam and rio include
their own incomplete window management that isn't integrated with
anything else in the system in any meaningful way.

other reasons might have been that the system suddenly included
drawterms on windows NT, unixes, macbooks, etc., and inferno, and
nowadays especially plan9port seems to be more important to most 9fans
people than the underlying operating system itself. so why make
another window manager for plan9 if you can make a new theme for
windows95 or ubuntu or whatever instead...

please contest me on my ranty points above, i really would like to see
the real reasons, i'm sure i cannot imagine most of the historic
progression and reasoning. i'm a small kid and i grew up with very
high bandwidth hardware, so... enlighten me please.

and definitely stop this myth about rio being so elegantly nested.
(ask yourself: why does rio need to read the mouse file in order to be
informed about resize events in order to ask for a new window name in
order to attach to the new resize image's window in order to redraw to
the correct size?)



  parent reply	other threads:[~2019-05-02 11:10 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-02  4:12 Ryan Gonzalez
2019-05-02  4:17 ` Rodrigo G. López
2019-05-02  4:36 ` Skip Tavakkolian
2019-05-02  4:56   ` David Arnold
2019-05-02  7:13   ` Fazlul Shahriar
2019-05-02 11:15     ` hiro
2019-05-02 11:10   ` hiro [this message]
2019-05-02 14:07     ` hiro
2019-05-03  0:47     ` Skip Tavakkolian
2019-05-03  1:27       ` Dan Cross
2019-05-03  7:59         ` hiro
2019-05-03  8:20           ` hiro
2019-05-03 11:52             ` Lucio De Re
2019-05-03 12:32               ` hiro
2019-05-03 12:35                 ` hiro
2019-05-03 17:01                 ` Lucio De Re
2019-05-04 20:53                   ` hiro
2019-05-05  3:19                     ` Lucio De Re
2019-05-05  7:51                       ` hiro
2019-05-05  8:34                         ` Lucio De Re
2019-05-03 23:08                 ` Ethan Gardener
2019-05-04  5:55                   ` Jens Staal
2019-05-04  7:04                     ` hiro
2019-05-07  3:48       ` 岡本健二
2019-05-03  2:06     ` Bakul Shah
2019-05-04 22:47 umbraticus
2019-05-05  7:53 ` hiro
2019-05-05  9:33   ` Lucio De Re
2019-05-05 10:01     ` hiro
2019-05-05 10:15       ` Lucio De Re
2019-05-05 11:09         ` hiro
2019-05-04 22:53 umbraticus
2019-05-05 12:32 cinap_lenrek
2019-05-05 13:50 ` Jens Staal
2019-05-05 17:16   ` hiro
2019-05-05 13:53 ` Lucio De Re
2019-05-05 15:14 ` Lucio De Re
2019-05-07  4:15 ` Lucio De Re
2019-05-08 12:32   ` Ethan Gardener
2019-05-09  7:39     ` Lucio De Re
2019-05-09  9:37       ` hiro
2019-05-05 14:14 cinap_lenrek
2019-05-05 15:59 ` Jens Staal
2019-05-05 15:11 cinap_lenrek
2019-05-05 15:22 cinap_lenrek
2019-05-05 15:32 ` Lucio De Re
2019-05-07  5:40 cinap_lenrek
2019-05-07 14:15 ` Lucio De Re

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFSF3XOSkq9RPz4wmo-+ipfRG270OEvfH5NBcvSxOGqjbXeZ-Q@mail.gmail.com \
    --to=23hiro@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).