29.1.2004

NOVY DESKTOP: XFCE4

Filed under: Uncategorized — nax @ 17:19

Dnes jsem se rozhodl pustit se konecne do nalezeni a odladeni noveho pokud mozno co nejvicee lightweight windows managera. Jde o to, ze posledni pulrok co jsem delal v KDE3 to pro me bylo cim dal vetsi utrpeni. Tak predne – po prihlaseni cekat nekolik minut nez se laskave inicializuji vsechny komponenty, ktere stejne nepouzivam a pak taky bylo skoro porad videt jak si KDE desne ukusuje ze systemovych prostredku. Uplne nejvic me doziralo to, ze system byl tak pomaly, ze pri kliku prostredniho tlacidla mysi se misto jednoho tab v mozille otevrely treba ctyri!

No a chvili jsem hledal a nakonec jsem nasel vyborny dektop xfce4, ktery se snazi s minimalnim moznym vytizenim co nejvic priblizit vzhledu a chovani KDE.

Moje hlavni pozadavky jsou:
– hodiny vpravo nahore (no pravda neni to to nejdulezitejsi, ale preci jen sem si na to uz za ty roky co tam ty hodiny mam sakra zvykl).
– pod hodinama par rychlospoustecu
– zadne ikony na plose (ani jednou jsem je v Kde nepouzil a jediny na co meli vliv bylo na spotrebu systemovych prostredku).
– 4 virtualni plochy a jejich prepinac a moznost predefinovani klavesovych zkratek pro prepinani mezi nimi
– task manager, aneb co mam zrovna spusteno a prepinani mezi tim.

Tohle vsechno xface4 podporuje.

Navic stacilo pustit xfce4_setup a vygenerovalo to dokonce i .xsession (coz je soubor kterej obsahuje co vsechno se ma spustit po prihlaseni do systemu treba pres xdm). Ja vzhledem ke svejm dvema monitorum jsem to jeste kapku poupravil na nasledujici tvar:

$ cat .xsession
#/usr/bin/startkde
DISPLAY=:0.1
/usr/bin/xfce-mcs-manager
/usr/bin/xfwm4 –daemon
/usr/bin/xftaskbar4 &
/usr/bin/xfdesktop &
/usr/bin/gkrellm –geometry -0+0 &
/usr/bin/Eterm –exec=’ssh 10.27.72.1 -l icq’ &
/usr/bin/lineakd &> /home/nax/.lineak/lineak.log &
DISPLAY=:0.0
/usr/bin/xfce-mcs-manager
/usr/bin/xfwm4 –daemon
/usr/bin/xftaskbar4 &
/usr/bin/xfdesktop &
/usr/bin/Eterm &
/usr/bin/Eterm &
exec /usr/bin/xfce4-panel

Nejvic jsem se asi zapotil pri redefinovani tech klavesovych zkratek. Nejdriv jsem vygooglil tuhle odpoved na podobny dotaz jaky jsem zrovna resil a presne podle neho (jen s drobnou upravou cesty na tu Debianovskou) jsem jsem udelal:

mkdir ~/.themes/xfwm4/custom.keys/
cp /usr/share/xfwm4/themes/default.keys/keythemerc ~/.themes/xfwm4/custom.keys/
vim ~/.themes/xfwm4/custom.keys/keythemerc

Skutecne se pak v nabidce Spravce Oken/Klavesnice a zamereni a tam vybrat tu custom.

Trochu problem byl ze ty klavesovy kombinace, ktery mi to generovalo v KDE nefungovali. Ale pomohla utilitka xev, ktera vam ukaze uplne vsechno mozny o pohybu kurzoru a zmacknutych klavesach a z toho sem poznal ze najednou je tam treba navic Shift a tak.

Pak jsem si jeste trosku pohral s XF86Config aby mi fungovalo prepinani na ceskou klavesnici (XFce nic vlastniho na tenhle ukol nema a uprimne receno ono to ani neni potreba). Relevantni cast meho Configu ted vypada takhle:

Section “InputDevice”
Identifier “Keyboard1”
Driver “Keyboard”
Option “CoreKeyboard”
Option “AutoRepeat” “500 30”
Option “XkbRules” “xfree86”
Option “XkbModel” “pc104”
Option “XkbLayout” “czsk(us_cz_qwerty)”
Option “XkbOptions” “grp_led:scroll”
Option “XkbCompat” “group_led”
EndSection

Konkretne tohle nastaveni zpusobi, ze prepinani se bude provadet pres ScrollLock a stejne tak i indikace ceske klavesnice bude zajistena svitici led diodou.

No a kdyz uz jsem byl u te led diody, tak jsem si vsimnul, ze se po prihlaseni nezapina NumLock (pamatuju si ze KDE na to ma jedno zaskrtavatko kdesi v konfiguraci). Chvili jsem hledal, jestli se to zase neda nejak zadefinovat v XF86Config, ale tentokrat jsem narazil na tuhle zpravu z nejakeho fora a tak jsem udelal:

$ echo “//numlock.c
#include
#include

int main(void) {
Display* disp = XOpenDisplay( NULL );
if( disp == NULL )
return 1;
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock),
True,
CurrentTime );
XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock),
False,
CurrentTime );
XCloseDisplay( disp );
return 0;
}” > Numlock.c
$ gcc -I/usr/X11R6/include -L/usr/X11R6/lib -o setnumlock Numlock.c -lX11 -lXtst

A vzniklou binarku sem dal na zacatek .xsession

Comments are closed.

Powered by WordPress