On Saturday 23 February 2013 20:33, crankypuss conveyed the following to
comp.os.linux.x...
> Suppose that, instead of requiring that an X Server always be running
> in order to support fullscreen applications, it was optional.
Well, X /is/ optional. On my systems, X does not start automatically at
boot time. I log into my user account on a virtual console and then
start X manually for my user account via "startx".
> That is to say, what if there was a fullscreen character-mode support
> layer that would allow pixel-mode windows to be created as part of its
> ongoing character-mode support?
I believe that it is already possible to use pixel mode graphics on non-
X11 terminals, provided that the system is using something like the vesa
console framebuffer driver, or the likes. You can see this effect if
you are running a distribution which, during the kernel bootstrap
process, shows you penguins at the top of the screen (or some
distribution-specific logo) to show you the number of (virtual) CPUs in
the system.
Of course, implementing this for (physical or emulated) terminals over
an ssh connection or connected to the machine via USB or RS-232 is
another thing, and so is the ability to map pixel-mode windows onto that
framebuffer when the framebuffer is primarily used for raster/character
mode output.
Ivan Shmakov mentioned Wayland, but while Wayland has some interesting
features, it also has some negative ones, such as the fact that it does
not support network transparency (which X11 does) and that it runs in
the kernel (as the display servers of Microsoft Windows and Apple OSX
do). And the latter is /not/ a good idea.
> No, I've never written an X Windows application; yes, I've written
> custom controls on MS-Windows that drew everything from the border in
> and handled all the mouse flyovers and so forth (and reading about X
> what I find is that Microsoft even used at least some of the same
> message names as X), and yes I've written a character-mode window
> manager during a previous life... so yes, I'm talking out of my ass,
> but not entirely, so turn the concept over in your head and see how it
> looks.
Character mode window managers do exist for UNIX-style systems, albeit
that their look & feel is a bit different from the ones running on DOS
at the time (such as Quarterdeck DesqView or IBM TopView). GNU screen
and tmux are both so-called terminal multiplexers, and thus character
mode window managers, if you will. They can also detach the session
from the active terminal, so that you can attach another terminal to the
session later and continue working from another physical location.
But of course, this does not address the ability to overlay pixel mode
graphics onto a character mode raster graphics terminal.
> Granted, today's "customers" think computers are portable (or not so
> portable) entertainment consoles for their enjoyment, and are hard
> pressed to simply poke a button on a touchscreen.
I think the term you are looking for is "household appliances". :p
> On the other hand, some few of us still persistently consider
> computers to be tools for working with information. And frankly we
> few seem to have been left in the dust by the pretty-icon crowd.
I agree with that. While I personally do like my shiny, themed KDE4
desktop - which I have completely customized to match /my/ preferences,
and not those of people who feel that everything should look like
Microsoft Windows - I also often find myself nostalgically logging into
a few pure character mode sessions. After all, that's where text is the
most readable, because that's what those terminals were designed for:
text (and other raster mode glyphs).
I used to do some programming back in the days of DOS, and I continued
doing that - albeit with slightly different tools - on OS/2, but always
in character mode. I used the OS/2-proper ReXX scripting language, but
I steered clear from anything GUI-related, so that my ReXX stuff would
run in full-screen character mode sessions only, or in "OS/2 prompt"
windows.
In fact, the whole Windows/GUI hype was one of the main reasons why I
stopped writing programs altogether - I was not a professional
developer, mind you - because all the code needed for that graphical
junk and buttons and mouse actions and whatever made me feel like I was
trying to write a database application in assembler: way too much code
and way too much bloat. Function became subordinate to form.
> Suppose you want to build an application that uses a fullscreen
> approach but doesn't need icons with pictures of padlocks and floppy
> disks. All it needs is characters... letters and words. And you want
> it to run no matter what else is running.
>
> If you run it from a GUI seat you need to bring up a terminal emulator
> because only terminal emulators don't think that icons are god. If
> you run it from a non-GUI seat you're still stuck running through a
> terminal emulator (type="linux" on this distro).
The terminal is not an evil concept, since we /are/ talking of a multi-
user operating system, and thus there has to be an abstraction layer
which makes multi-seat scenarios possible.
UNIX was designed as a multi-user operating system - unlike for instance
Microsoft Windows, which is an evolution of the DOS philosophy, where
every computer was used by one person only - and as such, I think it is
important to keep the concept of a (physical, virtual or emulated)
terminal alive.
> In either case, someone has trapped a bunch of the keys for Their Very
> Own control purposes. And in both cases, the option of using char-
> down and char-up events for the control key are out the window unless
> you start twiddling the user's settings at a minimum.
I'm afraid I don't follow here. What do you mean by "char-up and char-
down events for the control key"?
Remember that I am not a developer and I also don't have any degrees in
computer science, plus that there could (eventually but not necessarily)
also be some language barrier issue here.
> Then there are the umpteen layers of support libraries between the
> hardware and the application, and when X is in the picture there's
> some socket protocol involved. The amount of waste is enormous, the
> potential for mismatching libraries is huge, and the whole thing seems
> like a big mess.
X was primarily intended to be network-transparent. It allows one to
use things like thin clients, for instance. That's why it's so cool.
:-)
> Maybe I'm wishing for the good old days when the bulk of the
> computer's power wasn't being wasted by library after library,
> thinking how stoopid it is that the size specifications for
> character-mode terminal emulators have to be given in pixels instead
> of characters, and so on and so forth.
Well, Joe Sixpack wants pixels because he's now also using his computer
to watch DVDs on in High Definition. With Dolby Surround sound. And
those colored 3D goggles. :p
> Programs like installers and backup/restore utilities ought not need
> the whole pyramid in order to function.
True, but the users - who for most part these days all come from the
Windows world - want the shiny and pointy-clicky stuff, and so
distribution developers create their installers as shiny, pointy-clicky
things, and set up the system to boot up into a graphical display
manager and log-in, and people aren't even aware of the existence of the
character mode virtual consoles anymore.
It's the Microsoft Windows and Apple MacIntosh mentality. It has made
access to computer technology more democratic, but at the cost of
corrupting the expectations and instilling a completely erroneous view
on what computers are, how they behave and what you should use them for
into the minds of the grey, unwashed masses.
> So you few who inhabit this usenet group (golly it isn't a web forum
> with smiley-face icons), what do you think about going back to basics
> in a way that doesn't require all the X applications and all the
> applications that are built on top of the various libraries to make X
> applications easier to write be thrown away?
I would personally welcome more character mode-oriented applications and
interfaces again, but the point here is that I am by no means
representative for the vast hordes of ex-Windows-user GNUbies who demand
the pointy-clicky stuff.
On the other hand, I wouldn't want to dismiss X11 altogether either. As
a network-transparent display server, it is a fantastic thing to have,
and architecturally still a better solution than Wayland - which doesn't
support network transparency and runs in the kernel, which introduces a
significant vulnerability and instability factor - but alas, X11 has
been seriously abused by the Microsofties and the MacIntosh fans.
The former because they don't know any better - we mustn't forget that
many of today's developers have themselves already grown up in a world
where Windows was the established hegemony - and the latter because
Steve Jobs made a rip-off of Xerox PARC and the Apple snobs consider
themselves part of an artistic elite.
--
= Aragorn =
(registered GNU/Linux user #223157)