[Prev][Next][Index][Thread]
Re: selection color under executor
Mat Hostetter (mat@ardi.com) wrote:
: >>>>> "zinc" == zinc <zinc@zifi.genetics.utah.edu> writes:
: zinc> is it possible to change the color used by programs such as
: zinc> Word or KaleidaGraph for selected text? on my system the
: zinc> default is a bright yellow which isn't too bad but i usually
: zinc> like more mellow colors.
: zinc> this is with E/L 1.99q7 (ELF) Linux 1.3.70 X-Windows
: On a Mac the highlighting color is stored as a 6-byte RGB value at
: address 0xDA0. Executor sets that to R:G:B = 0xFFFF:0xFFFF:0x0000 by
: default (bright yellow).
: Someone could probably write a desk accessory to let you change this
: value. Since you're using Linux, I suppose you could change the value
: of the memory locations holding the highlight color in gdb. Heh.
*laugh* Okay, I tried it and it works.
Here's a script to run executor under Linux with a selection color
of your choice. :) GDB is pretty awesome.
Usage: ehigh [-svga] colorname
"colorname" can be any color that is recognized by X11 programs.
See ya!
-Sam Lantinga (slouken@cs.ucdavis.edu)
-----------------------------------------------------------------
-- Save the following script to a file named 'ehigh' and then run
chmod 755 ehigh
-- Note that this is just a hack, and isn't supported. :)
-----------------------------------------------------------------
#!/bin/sh
#
# This is a script to change the highlight color of executor, the
# Macintosh emulator from ARDI.
#
# Note that the Macintosh color palette differs greatly from that
# of the X11 standard colors, so the color you get might not be
# the color you expect. :-)
#
# It's a hack, and not supported in any way. :)
# Choose your executor!
binary=/usr/local/bin/executor
if [ "$1" = "-svga" ]; then
echo "WARNING!"
echo "-- Modifying executor-svga can cause your system to freeze!"
echo ""
echo -n "Press Ctrl-C to abort: "
read junk
binary=/usr/local/bin/executor-svga
shift
fi
# Get the color highlight value
rgbtxt=/usr/lib/X11/rgb.txt
if [ "$1" = "" ]; then
value1=0xFFFF
value2=0xFFFF
value3=0x0000
else
color=`egrep " $1$" $rgbtxt`
if [ "$color" = "" ]; then
(echo "Color '$1' not found!";
echo "Possible matches:"
fgrep -i "$1" $rgbtxt
) | less
exit
fi
value1=`echo "$color" |
awk '{printf("0x%2x%2x",\$1,\$1)}' | sed 's/ /0/g'`
value2=`echo "$color" |
awk '{printf("0x%2x%2x",\$2,\$2)}' | sed 's/ /0/g'`
value3=`echo "$color" |
awk '{printf("0x%2x%2x",\$3,\$3)}' | sed 's/ /0/g'`
fi
# Save our script...
cat >$HOME/Delete_ME <<__EOF__
file $binary
break mmap
run
c
x/3h 0xDA0
set variable *0xDA0 = $value1
set variable *0xDA2 = $value2
set variable *0xDA4 = $value3
x/3h 0xDA0
d 1
c
quit
__EOF__
# Run it. :-)
gdb --command=$HOME/Delete_ME
rm -f $HOME/Delete_ME
clear
echo "Thank you very much."
References: