From mboxrd@z Thu Jan 1 00:00:00 1970 User-Agent: Cyrus-JMAP/3.1.6-448-g5cc1c91-fmstable-20190429v1 Mime-Version: 1.0 Message-Id: <8840a821-564e-4ccf-ac73-fcff58ef8767@www.fastmail.com> In-Reply-To: References: Date: Mon, 29 Apr 2019 07:20:25 -0400 From: "Ethan Gardener" To: 9fans@9fans.net Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] user interface questions Topicbox-Message-UUID: fddda47a-ead9-11e9-9d60-3106f5b1d025 On Thu, Apr 25, 2019, at 7:57 PM, LM wrote: >=20 > Also wondering what user interfaces are typically used with Plan 9 > programs (programs not designed for the command line). Is there > anything on the roadmap for user interface development? I've looked > at several GUI and TUI libraries on a variety of operating systems > (over a long period of time) and I've yet to find one I really like. > I do like working with command line programs, but some programs just > don't lend themselves to that format. Was wondering what design ideas= > Plan 9 developers might have for user interface development. >=20 I'm not up to writing much at the moment, (and I think I might have not = received some messages in this thread,) but just to say the filesystem i= nterfaces of Plan 9 programs make a fascinating extension to their UI an= d functionality. I once cropped an image interactively using page, rio,= topng of course, and crop -i 4 to trim off rio's border. Smoothing off= the rough edges of that process and making it a little more powerful wo= uld be interesting. The plumber is a powerful tool too, as are namespac= es and the ability to nest rios. =20 What I don't like is the use of spaces to separate tokens in all the fil= esystem interfaces. While it means you can hypothetically type into the= m with con, or just use echo or any other shell utilities to control the= m, in some circumstances quoting gets hairy. Also, splitting tasks betw= een multiple small languages gets annoying because the only means of com= munication between them is text, which means you have to write translati= on between different syntaxes as well as the task you want. (Personally= , I also have problems with the C source I'd need to work with to extend= and improve these interfaces.) I've started on my own system with one = language embracing all the DSLs, and suitably structured data -- a-lists= and tagged tables -- to ease the job of interfacing them, but it's a lo= ng job and not top priority in my life right now. Plan 9 shell and envi= ronment support lists, but they're 1-dimensional, null-separated, and I = don't think any of the filesystem interfaces even try to support them. = You can't echo them with the nulls anyway.