next up previous contents
Nästa: 4.3 X över nätverk Upp: 4. Fönstersystemet X Förra: 4.1 Introduktion till X

4.2 Standardflaggor

Det finns ett antal standardflaggor som många, om än inte alla, X-klienter kan ta emot. En förteckning över dem finns i tabell 4.1. Med deras hjälp kan man till exempel ange storlek och position för klientens fönster samt välja färg på text och bakgrund. Vi ska i detta avsnitt ge en inledande beskrivning av hur standardflaggorna kan användas.


 
Tabell 4.1: Standardflaggor
 
Flagga Funktion Resursnamn
-display display Välj display att visa fönstren i .display
-geometry geometristräng Bestäm storlek och position .geometry
-background färg Sätt bakgrundsfärgen till färg *background
-bg färg Sätt bakgrundsfärgen till färg *background
-foreground färg Sätt förgrundsfärgen till färg *foreground
-fg färg Sätt förgrundsfärgen till färg *foreground
-font fontsträng Välj typsnitt för text *font
-fn fontsträng Välj typsnitt för text *font
-reverse Växla för- och bakgrundsfärg .reverseVideo: on
-rv Växla för- och bakgrundsfärg .reverseVideo: on
+rv Växla inte för- och bakgrundsfärg .reverseVideo: off
-title titel Välj titel .title
-iconic Starta som ikon .iconic: True
-borderwidth bredd Sätt rambredden till bredd punkter .borderWidth
-bw bredd Sätt rambredden till bredd punkter .borderWidth
-bordercolor färg Sätt ramens färg till färg *borderColor
-bd färg Sätt ramens färg till färg *borderColor
-name namn Ge klienten namnet namn .name
-xrm resurssträng Läs in resurs  
-xnlLanguage lokal Välj lokal .xnlLanguage
-selectionTimeout tid Sätt timeout till tid millisekunder .selectionTimeout
-synchronous Sätt på synkront debug-läge .synchronous: on
+synchronous Stäng av synkront debug-läge .synchronous: off
-xtsessionID id Sätt ID .sessionID

Grafiken i X är baserad på punkter. Detta är något som kan vålla problem eftersom punkterna är olika stora på olika bildskärmar. Om antalet punkter är stort i förhållande till skärmens storlek, så säger man att skärmen är högupplösande. Antal punkter som visas på skärmen kan till exempel vara 1024x768, dvs 1024 punkter horisontalt och 768 punkter vertikalt. En högupplösande skärm kan visa 1600x1200 eller fler punkter, medan en lågupplösande kan visa 640x480 eller tom ännu färre punkter. Punkterna på en högupplösande skärm är mindre än punkterna på en lågupplösande skärm, så ett fönster som är tex 600 punkter brett och 400 punkter högt blir mindre på en högupplösande skärm än på en lågupplösande. Ett tolvpunkters typsnitt blir också mindre på en högupplösande skärm.

Lyckligtvis tillåter de flesta X-klienter att man ändrar storleken på fönstren. Därigenom kan man välja ett utseende som passar den egna bildskärmen. För att ändra fönsterstorleken tar man hjälp av fönsterhanteraren. Men man kan ofta också ange önskad storlek med flaggan -geometry redan när klienten startas. Fönstrets storlek specificeras som breddxhöjd. Vilken enhet som används för bredd respektive höjd avgör den enskilda klienten. Oftast anges de i antal punkter, men för vissa textbaserade program som Emacs och X-skalet xterm anges de i antal rader respektive kolumner text.

Standardstorleken för klockan xclock är 164x164 punkter. För att få storleken 150x100 punkter startar vi programmet i stället med kommandot xclock -geometry 150x100 &. Det går också att ange fönstrets position på skärmen. Först anger man horisontalt läge. För att placera fönstret tex 210 punkter från vänster skriver man +210. Detta innebär att avståndet mellan bildens vänstra kant och fönstrets vänsterkant är 210 punkter. Om man i stället skriver -175, så placeras fönstret 175 punkter från höger, dvs antalet punkter från fönstrets högerkant till bildens högra kant blir 175. På motsvarande sätt anges det vertikala läget. Tex betyder -50 att fönstrets nedre kant ska vara 50 punkter från bildens nedre kant. Kommandot xclock -geometry -20+10 & placerar klockfönstret nära det övre högra hörnet av bildskärmen, 20 punkter till vänster och 10 punkter ner. Naturligtvis kan man ange både storlek och position för en klient. Tex ger kommandot$ xclock -geometry 100x100+0-0 &
$
en klocka av storlek 100x100 i det nedre vänstra hörnet.

Ofta tillåter X-klienterna att man använder förkortningar i flaggorna ifall det inte ger upphov till tvetydigheter. Förutom geometry finns det ingen flagga som xclock använder och som börjar på ''g'', så kommandot ovan kan också skrivas xclock -g 100x100+0-0 &. Om det tex hade funnits en flagga med namnet getstr, så skulle man kunna förkorta -geometry till -geo men inte till -g eller -ge.

Med förgrunden i ett fönster menas vanligtvis texten. Vissa utritade detaljer som tex tim- och minutstrecken i xclock kan också höra till förgrunden. Det som inte är förgrund kallas för bakgrund. Många X-program tillåter att man anger för- och bakgrundsfärg med flaggorna -fg respektive -bg. Prova tex$ xclock -fg DeepSkyBlue -bg Yellow &
$
Flaggan -rv växlar förgrundsfärg mot bakgrundsfärg och omvänt. Som exempel rekommenderas återigen xclock, dvs prova kommandot xclock -rv. När du fått för många klockor på skärmen kan det vara lämpligt att ge kommandot killall xclock.

Programmet xsetroot är till för att ändra rotfönstrets egenskaper - inte enbart dess färg. Man kan också använda det för att byta utseende samt för- och bakgrundsfärg på pekaren. Prova tex$ xsetroot -cursor_name pirate -bg Black -fg Yellow
$
Flytta sedan pekaren till rotfönstret, så ser du pekaren ''Pirate'' i gult med svart ram. Namnen på alla tillgängliga pekare räknas up i tabell 4.2. Kommandot xfd -fn cursor ger ett fönster med bilder av samtliga dessa markörer.

 
Tabell: Namnen på alla pekare.
 
X_cursor arrow based_arrow_down based_arrow_up
boat bogosity bottom_left_corner bottom_right_corner
bottom_side bottom_tee box_spiral center_ptr
circle clock coffee_mug cross
cross_reverse crosshair diamond_cross dot
dotbox double_arrow draft_large draft_small
draped_box exchange fleur gobbler
gumby hand1 hand2 heart
icon iron_cross left_ptr left_side
left_tee leftbutton ll_angle lr_angle
man middlebutton mouse pencil
pirate plus question_arrow right_ptr
right_side right_tee rightbutton rtl_logo
sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow
sb_right_arrow sb_up_arrow sb_v_double_arrow shuttle
sizing spider spraycan star
target tcross top_left_arrow top_left_corner
top_right_corner top_side top_tee trek
ul_angle umbrella ur_angle watch
xterm      

Med hjälp av flaggan -fn kan man välja fonter (eller typsnitt) för den text som skrivs ut av X-klienterna. Man kan också välja fonternas storlek, lutning och tjocklek etc.

Programmet xlsfonts skriver ut vilka fonter som finns tillgängliga. Som synes nedan finns det 1403 stycken fonter på min dator. Därför tar jag bara med de första 10 raderna av utskriften från xlsfonts.$ xlsfonts | wc
1403 1643 77534
$ xlsfonts | head
-adobe-courier-bold-i-normal-0-0-0-0-m-0-iso8859-1
-adobe-courier-bold-o-normal-0-0-100-100-m-0-iso8859-1
-adobe-courier-bold-o-normal-0-0-75-75-m-0-iso8859-1
-adobe-courier-bold-o-normal-10-100-75-75-m-60-iso8859-1
-adobe-courier-bold-o-normal-10-100-75-75-m-60-iso8859-1
-adobe-courier-bold-o-normal-11-80-100-100-m-60-iso8859-1
-adobe-courier-bold-o-normal-11-80-100-100-m-60-iso8859-1
-adobe-courier-bold-o-normal-12-120-75-75-m-70-iso8859-1
-adobe-courier-bold-o-normal-12-120-75-75-m-70-iso8859-1
-adobe-courier-bold-o-normal-14-100-100-100-m-90-iso8859-1
Brutet rör
$
Varje rad ovan är namnet på ett typsnitt. För att se hur typsnittet font ser ut kan man ge kommandot xfd -fn font. Som exempel på hur fonter används tar vi programmet xclock, men med digital tidsvisning i stället för analog. Kommandot xclock -digital & startar en digitalklocka som uppdateras en gång i minuten. (Flaggan kan, som nedan, förkortas till -d.) Prova det kommandot, och jämför sedan tex med följande kommando:

xclock -d -fn -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1
Naturligtvis är det är otympligt att skriva så långa kommandon. Ett enklare sätt är att använda resurser, något vi berättar om i avsnitt 4.4. Men vad betyder de olika fälten i fontnamnet? Man kan skriva jokertecknet * i ett fält om det inte spelar någon roll vilket värde det blir. I så fall får man den första fonten som X hittar och som matchar den fontsträng man angett.

Många av fälten hänger ihop, värdena i vissa fält beror på värdena i andra. Därför kan man inte bara dikta upp en fontsträng och tro att det ska finnas en sådan font. I stället kan man försöka finna en font men hjälp av xlsfont. Men det finns ett annat, bättre sätt: programmet xfontsel, se figur 4.4. Programmet startas med kommandot xfontsel &. Inne i programmet får man via menyer välja värden i de olika fälten, och så fort något värde ändrats får man se ett smakprov av tecken från den font man valt. Man får bara välja bland existerande fonter. När man funnit en font man är nöjd med kan man klicka på knappen ''Select'' i xfontsel-fönstret. Då kopieras fontsträngen in i X-klippbufferten, så att man kan klippa in den tex i ett X-skal eller i en textredigerare.

Några flaggor gäller fönstrens dekoration. Vilken effekt dessa har beror på hur fönsterhanteraren väljer att hantera dem. Tex är flaggan -bd Green en önskan om att ramen kring fönstret ska vara grön, och -bw 10 att ramen ska vara 10 punkter bred. Men de flesta fönsterhanterare struntar i denna anvisning och ritar sin egen ram i stället. (Prova att köra utan någon fönsterhanterare, och ge tex kommandot xterm -bd Green -bw 10 &.) Flaggan -title ger fönstret en ny titel, som fönsterhanteraren skriver ut i titelraden på vissa av fönstren. Som exempel kan man ta xterm -title X-skal &.

Flaggan -iconic uttrycker en önskan om att fönstret ska startas som en ikon. Vilken effekt denna flagga får beror på fönsterhanteraren. Ett exempel är xterm -iconic &.

Vad flaggan -display används till berättar vi i avsnitt 4.3. Flaggorna -xrm och -name återkommer vi till i avsnitt 4.5.


next up previous contents
Nästa: 4.3 X över nätverk Upp: 4. Fönstersystemet X Förra: 4.1 Introduktion till X
Goran Andersson
1999-03-08