[Xquartz-dev] 1.5.3_apple5

robert delius royar x11 at frinabulax.org
Tue Apr 7 04:14:25 PDT 2009


Mon, 6 Apr 2009 (01:33 -0700 UTC) Jeremy Huddleston wrote:

> Oh, and if anyone is interested in testing out the 1.5 server branch, you can 
> grab the build here:
>
> http://static.macosforge.org/xquartz/downloads/X11.bin-1.5.3-apple5.bz2
>
> Just download, decompress, and replace 
> /Applications/Utilities/X11.app/Contents/MacOS/X11.bin with it (you'll want 
> to install 2.3.3_rc4 first).
>
> --Jeremy

Jeremy,

I downloaded and installed both the new X11 2.3.3_rc4 and 
X11.bin-1.5.3-apple5.bz2.  The race condition you hypothesized involving 
xmodmap shows up in this combination but did not in the 4.x server that 
came with rc3.  What I see is that the key assignments that I load at 
the end of my startx_script do not get assigned.  After trying various 
places (early, middle, last) in the script to include the command 
'/usr/X11/bin/xmodmap /Users/royar/.Xmodmap' and adding some 
redirections to an error file for the command '/usr/X11/bin/xmodmap', I 
found that from the script the modmap query showed
xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):

shift
lock
control
mod1
mod2
mod3
mod4
mod5

But it was supposed to show
xmodmap:  up to 2 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x40),  Shift_R (0x44)
lock        Caps_Lock (0x41)
control     Control_L (0x43)
mod1        Alt_L (0x42)
mod2        Meta_L (0x3f)
mod3        Mode_switch (0x47)
mod4        Super_R (0x45)
mod5        Hyper_R (0x46)

I also discovered that I could get reasonable response (or reliable, at 
least) if I added the following to the end of my XEmacs startup file:
(sleep-for 15)
(call-process "/usr/X11/bin/xmodmap" nil nil nil "/Users/royar/.Xmodmap")

I experimented with the sleep length; 15 was the lowest I could get to 
work.  I load XEmacs at the end of the script.

I also found that when my xterm starts from the start script (just 
before XEmacs), running the command '/usr/X11/bin/xmodmap' gives me a 
blank list of shifts and mods.  After a few seconds (because of the 
'sleep-for') I do see the correct assignments.

Is there a different way I can load my modmap without using the sleep 
workaround (and preferably withou running the command from an elisp 
program) that will assure I get my preferred mappings for all programs 
that start when the server first comes up?

I know you have a new way of loading multiple files from a directory of 
scripts (similar to inetd).  Would that be a way to handle this instead 
of the start script?  If so, where should I look for instructions?

Machine: 2.1 GHz PowerPC G5
Memory:  2.5 GB
OS:      10.5.6

-- 
Dr. Robert Delius Royar                   Associate Professor of English
Morehead State University                             Morehead, Kentucky



More information about the Xquartz-dev mailing list