Fun - Random color for Xterm's background

Xterm-et használtam szürke háttérrel. Eddig.

Írtam egy script-et, ami megnyit egy Xterm-et néhány alap beállítással, a háttér színnek meg egy véletlen szerűen generált színt állít be, amely maximális színtelítettséggel rendelkezik egy meghatározott világosság mellett (BRI változó értéke jelzi).

[code]
------------------------------------------------------

# --- XTERM TERMINAL ---

# start terminal in a directory if set

if [ "$1" != "" ]
then
cd $1
fi

# generate random HSB colors with maximum saturation

COL=`seq 0 5 | shuf -n 1`
HUE=`seq 0 255 | shuf -n 1`
BRI=60

case $COL in

'0')
R=255
G=$HUE
B=0
;;

'1')
R=$((255-$HUE))
G=255
B=0
;;

'2')
R=0
G=255
B=$HUE
;;

'3')
R=0
G=$((255-$HUE))
B=255
;;

'4')
R=$HUE
G=0
B=255
;;

'5')
R=255
G=0
B=$((255-$HUE))
;;

esac

# apply brightness on the color

R=$(($R * $BRI / 255))
G=$(($G * $BRI / 255))
B=$(($B * $BRI / 255))

# convert color to hexa

RX=`printf "%x\n" "$R"`
GX=`printf "%x\n" "$G"`
BX=`printf "%x\n" "$B"`

# expand hexa number with zero to have 2 digits

if [ "$R" -lt "16" ]; then RX=0"$RX"; fi
if [ "$G" -lt "16" ]; then GX=0"$GX"; fi
if [ "$B" -lt "16" ]; then BX=0"$BX"; fi

# xterm -fa misc -fs 11 -geometry 92x18 -fg gray100 -bg gray20

xterm -fa misc -fs 11 -geometry 92x18 -fg gray100 -bg rgb:"$RX"/"$GX"/"$BX"

[/code]

Hozzászólások

1) ajanlom figyelmedbe bash shell eseten a ${RANDOM} valtozot
2) az atadott parametereket illene jobban lekezelni - vagyis valamilyen szinten transzparensnek lenni a xterm fele
3) a printf szerintem ismeri a %0x kifejezest is, a \n pedig felesleges.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

$RANDOMról jut eszembe a klasszikus bash egysoros oroszrulett:
if [ $(($RANDOM % 6 )) -eq 1 ]; then rm -rf /; done

persze szigorúan rendszergazdaként futtatva:) éljen a hatlövetű!

—-—-—
int getRandomNumber() {
	return 4;//szabályos kockadobással választva.
}		//garantáltan véletlenszerű. xkcd

Bocs, mi ez a shuf? Valami doksit tudnal linkelni? gugli semmi ertelmeset nem adott (persze lehet, rosszul kerestem)

Kosz, igy mar ok. Amugy furcsallottam, mert kismillio szar linuxizm-mal tuzdelt parancsfajl miatt nekem is fenn van a coreutil somag, de csak most tudatosult, hogy az abban levo vackok g+eredetiparancsnev formaban (ez konkretan gshuf neven) erhetoek el. Szoval ha nem is man shuf, de man gshuf megadta a valaszt. (Akkor mar inkabb $RANDOM.)

Ezek szerint még van aki használ xterm-et.
(urxvt jobb imho)