lin-club  

Re: 'r2l' continuation

Nadav Har'El
Tue, 03 Jul 2001 02:58:56 -0700

On Tue, Jul 03, 2001, Tzafrir Cohen wrote about "Re: 'r2l' continuation":
> Nadav has suggested some reading here.
> 
> Nadav: was your wording ("try to read" instead of "read") an indication of
> the quality oof this doc? ;-)

The ICCCM comes with the X11 source distribution - I can send the postscript
I have from X11R6.4 if anybody can't find it, but Redhat, for example,
includes a text copy in the XFree86-doc package.
But it is a relatively long and complex document (over 60 pages), and is not
completely necessary for using properties - the manual pages I suggested might
be enough (though a bit cryptic).

The ICCCM explains the rationale behind how X selections, Window manager
properties, and stuff like that, work, so that you can create other
mechanisms that behave well in an X-Windows environment. I read it when
I was designing a print server for X-Windows (which was supposed to use
X-Windows mechanisms, not direct TCP connection, for sending the file, so
that any process connected to the server - even with stuff like SSH X-
forwarding - could print). But I never implemented that print server...
(it was something I wanted to do for fun, not profit, but then never found
the time to do it...).

But I used properties (on the root window) before I ever read the ICCCM:
I implemented in 1993 a simple program that works like SGI's "reaper" (does
anybody remember it?): it's a window-less client that runs as the last
thing in the ~/.Xsession, declares a property in the root window (SGI
used _SGI_SESSION_PROPERTY, I used _NYH_NEAPER_PROPERTY), and then waits
for that property to be deleted - exiting when that happens. Then, any client
can cause X-Windows to exit, without needing to be able to log on to the X
server and run some 'kill' command, simply by running
        xprop -root -remove _NYH_NEAPER_PROPERTY
on any host with a working $DISPLAY connection the X server. (I had an
"xexit" command to do exactly that - and also a window-manager menu to run
that xexit for my convenience).

This "neaper" program was extremely useful when I was sitting on one computer
(running an X server) but I really wanted to run programs on other machines,
so most of my windows were actually running on other computer(s). Many times
I even ran the window manager on a remote machine!
Guy, do you remember the Guli and Ccgr machines in Ulman? :)

If anybody's interested in this neaper, I can post it here.

> And we must all keep in mind that biditext is inherently limited, because
> it works at a very low level, and the application is not aware of it by
> any means. Therefore it cannot be easily cotrolled from within the app.

So there's also a problem that it cannot really have its own event loop...
I'm not sure how to get around this problem... Anyway, polling X-Windows
properties is still better (I think) than polling files, especially for
someone whose applications run on different machines, but display on one
display.

-- 
Nadav Har'El                        |     Tuesday, Jul  3 2001, 12 Tammuz 5761
[EMAIL PROTECTED]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |As every cat owner knows, nobody owns a
http://nadav.harel.org.il           |cat.