Linux - Friheden til at vælge grafisk brugergrænseflade: Version 1.2.20050118 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 3. Rene WM'er | næste |
Ctwm (Claude's Tab Window Manager) er en viderebygning på twm som kan alt det man savner i twm.
Sådan ser ctwm ud:
Man kan hente ctwm fra http://ctwm.dl.nu/. Den nyeste version er 3.6. Først forsøgte jeg mig med kildeteksten, men den gav lidt problemer, derfor anbefales det at man bruger kildetekst-RPM-filen i stedet.
Kildetekst-RPM-filen, ctwm-3.6-2jv.src.rpm, kan på Red Hat bygges og installeres med kommandoerne:
rpm --rebuild ctwm-3.6-2jv.src.rpm rpm -Uvh /usr/src/redhat/RPMS/i386/ctwm-3.6-2jv.i386.rpm
I filen "$HOME/.xsession" indsættes:
exec /usr/X11R6/bin/ctwm
Kildeteksten: ctwm-3.6.tar.gz
tar xvzf ctwm-3.6.tar.gz
Hvis man har hentet den oprindelige kildetekst, kan man ikke oversætte før man indsætter et manglende semikolon i filen gram.y i linje 686.
wingeom_entry : string string { AddToList (&Scr->WindowGeometries, $1, $2) }rettes til
wingeom_entry : string string { AddToList (&Scr->WindowGeometries, $1, $2); }
Herefter køres kommandoerne:
cd ctwm-3.6 xmkmf make
Kører man make install så er der brok over at No rule to make target `xpm'. Der står heller ikke noget om make install i README filen. Så jeg har valgt at beholde den i mit hjemmekatalog.
Dvs. at der i "$HOME/.xsession" kommer til at stå:
exec ctwm-3.6/ctwm
Filen $HOME/.ctwmrc styrer opsætningen
Start med at kopiere systemopsætningsfilen til dit hjemmekatalog:
cp /usr/X11R6/lib/X11/twm/system.ctwmrc ~/.ctwmrc(eller cp ctwm-3.6/system.ctwmrc ~/.ctwmrc, hvis du har installeret i dit hjemmekatalog). Derefter kan du redigere i den.
Ved at venstreklikke på baggrunden kommer der en menu. Med default opsætningsfilen er der mulighed for at starte en xterm, genstarte ctwm, afslutte ctwm, og nogle få andre ting.
Man kan indsætte ting i menuen i .ctwmrc:
menu "defops" { "Min menu" f.title "Xterm" !"xterm&" "Netscape" !"/usr/bin/netscape&" "Xmag" !"xmag&" "" f.nop "Restart" f.restart "Exit" f.quit }
Genvejstaster sætte let op i .ctwmrc:
"Insert" = c | m : all : f.exec "xterm&" "n" = c | m : all : f.exec "netscape&"
Her sættes ctrl+alt+Insert til at starte en xterm imens ctrl+alt+n sættes til at starte en netscape.
Se i øvrigt man ctwm. Hvis make install ikke lykkes, så prøv
man ./ctwm-3.6/ctwm._man
eller se http://ctwm.dl.nu/manpage.html.
Som ved twm er default, at man placerer vinduerne selv med venstre museknap. Man kan med det samme ændre størrelse på et vindue, ved at holde midterste museknap nede og trække den udenfor vinduet, og derefter trække vinduet til den ønskede størrelse.
Hvis man vil have vinduerne til at placere sig automatisk, sættes RandomPlacement.
Man kan default ikke skifte mellem vinduerne med alt+tab, men dette kan sættes op i .ctwmrc filen:
WindowRing WarpRingOnScreen "Tab" = m : all : f.warpring "next"
Default er Focus follows mouse. Sloppy Focus - dvs. at fokus følger musen men at et vindue ikke mister fokus, når musen ryger ud på baggrunden - sættes med
SloppyFocus
Man kan tilsyneladende ikke sætte click to focus.
Som default er der hverkan auto raise eller click to raise. Men man kan sænke et vindue ved at midterklikke på titelbaren. Hvis et vindue automatisk skal komme forrest når det får fokus sættes AutoRaise. Og evt.
RaiseDelay 100 #100 ms
Hvis man ikke bryder sig om auto raise kan man sætte
RaiseOnClick
i stedet for.
Prøv også "AutoSqueeze":
AutoSqueeze # Auto Squeeze/Unsqueeze these wins { "xterm" "emacs" }
Advarsel: Denne feature er rigtig irriterende :-)
Der er per default 8 workspaces, som man skifter mellem ved at klikke i workspace manageren. Dette kan laves om i opsætningsfilen, ligesom man kan sætte genvejstaster op til at skifte workspace. Desuden kan man kan stille på baggrundsfarver, farver i workspace manageren etc.
Definition af antal workspaces og disses farver mm:
WorkSpaces { "One" {"white" "black" "DeepSkyBlue3" "white" "plaid"} "Two" {"white" "black" "firebrick"} "Three" {"white" "black" "brown" "white" "xpm:~/horse_20l.xpm"} "Four" {"white" "black" "MidnightBlue"} "Five" {"white" "black" "firebrick"} "Six" {"white" "black" "DeepSkyBlue3"} "Seven" {"white" "black" "chartreuse4"} "Eight" {"white" "black" "MidnightBlue"} }
Genvejstaster til at skifte mellem workspaces:
"F1" = m : all : f.gotoworkspace "One" "F2" = m : all : f.gotoworkspace "Two" "F3" = m : all : f.gotoworkspace "Three" "F4" = m : all : f.gotoworkspace "Four" "F5" = m : all : f.gotoworkspace "Five" "F6" = m : all : f.gotoworkspace "Six" "F7" = m : all : f.gotoworkspace "Seven" "F8" = m : all : f.gotoworkspace "Eight"
Lad os tage én linje fra forrige afsnit som eksempel:
"One" {"white" "black" "DeepSkyBlue3" "white" "plaid"}
Det første "white" og "black" angiver at workspace "One" skal vises som hvid med sort tekst i workspace manageren.
"DeepSkyBlue3" angiver baggrundsfarven i selve workspacet. Derefter kan man skrive en farve (e.g "white") efterfulgt af en mønster (e.g plaid) eller et billede (e.g. xpm:~/horse_20l.xpm). I tilfælde af et mønster bruges farven som den anden farve i mønsteret. Hvad "white" gør i sammenhæng med et billede har jeg ikke forstået, men det skal være der.
Størrelse og placering kan angives med
workspacemanagergeometry "360x60+60-0" 4
"4" fortæller at der skal være 4 workspaces i hver række.
Workspace manageren kan sættes til at vise de vinduer der er i de forskellige workspaces, i stedet for at vise den farve og tekst de er defineret til. Prøv at trykke ctrl imens workspace manageren har fokus. Hvis man holder ctrl nede imens man trækker musen udenfor workspace manageren (helt over i et andet vindue hvis man bruger sloppy focus), så bliver det i "map state" som det kaldes. Gentag proceduren med ctrl for at få det tilbage til det oprindelige udseende.
Sæt StartInMapState ind i din .ctwmrc for at starte workspace manageren i map state.
Der findes en håndfuld temaer til ctwm der kan hentes på: http://ctwm.dl.nu/#themes.
Dokumentation kan findes på http://ctwm.dl.nu/#docs
Det virker. Ikke så meget overflødig grafik. Det er twm plus alle de ting man savnede (undtagen click to focus.)