Linux - Friheden til at vælge grafisk brugergrænseflade: Version 1.2.20050118 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 3. Rene WM'er | næste |
Ideen med Ion er at man ikke har overlappende vinduer og at vinduerne dækker hele skærmen (der er altså ingen flotte baggrundsbilleder nedenfor).
Der er vist endnu ikke andre Linux-distributioner end Debian, der har Ion med i udvalget af window managers. Jeg hentede RPM-pakken "ion-20020207-1.i386.rpm" fra hjemmesiden:
Alternativt kan man hente kildeteksten fra Ions hjemmeside og oversætte den selv.
Ion bruger filen "~/.ion/ion.conf" som opsætningsfil. Hvis filen ikke er der, vil Ion ikke starte. Du kan for eksempel bruge samme fil (plus tilbehør) som der er brugt her, som udgangspunkt for din egen opsætning.
Opret kataloget "~/.ion" og læg de tre opsætningsfiler nedenfor i det.
~/.ion/look-white-blue-green.conf (bruges af ~/.ion/ion.conf)
~/.ion/bindings-sparre.conf (bruges af ~/.ion/ion.conf)
Dernæst kan du oprette filen ~/.xsession med linjen:
exec ionså Ion starter næste gang du logger ind.
Når du så har logget ind og åbnet et par vinduer kan din skærm for eksempel se sådan ud:
Da hele ideen med Ion er at man skal kunne arbejde effektivt uden at bruge musen for meget, er det vigtigt at sætte nogle komfortable genvejstaster op. Genvejstasterne defineres i blokken bindings i opsætningsfilen (eller en af de filer opsætningsfilen inkluderer). Starten på blokken markeres med bindings{ og slutningen på blokken markeres med }.
Det er vigtigt at kunne starte en xterm. Det kan man for eksempel bruge Ctrl-Alt-T til:
bindings{ # set_mod "Control+Mod1" # kpress "T", "exec", "xterm" #
Vi kan også vælge at bruge Ctrl-Escape til at starte et program efter eget valg:
set_mod "Control" # kpress "Escape", "query_exec" #
Når du taster Ctrl-Escape dukker der en minikommandolinje op nederst i rammen, hvor du kan indtaste en kommando der køres i et nyt vindue.
Hvis vi starter flere xterm'er i samme ramme vil de blive til faneblade. Det vil være praktisk at kunne skifte mellem dem med Alt-Tab:
set_mod "Mod1" # kpress "Tab", "switch_next" #
Bemærk at det aktive faneblad er markeret med blå tekst på hvid baggrund (hvis du bruger opsætningsfilerne ovenfor), mens inaktive faneblade er markerede med hvid tekst på blå baggrund.
Det er lidt pjattet kun at have én ramme, hvor alle vinduerne er faneblade i. Vi kan for eksempel bruge Alt-O+V til at lave en vandret opdeling af en ramme og Alt-O+L til at lave en lodret opdeling af en ramme:
set_mod "Mod1" # submap "O" { # kpress "V", "split_horiz" # kpress "L", "split_vert" # } #
Med flere rammer vil du kunne se at de aktive faneblade i inaktive rammer markeres med sort tekst på grøn baggrund.
Men når vi nu har flere rammer, så er det også nødvendigt at kunne skifte mellem dem. Det kan vi for eksempel bruge Ctrl-Alt-(piletaster) til:
set_mod "Control+Mod1" # kpress "Left", "goto_left" # kpress "Right", "goto_right" # kpress "Up", "goto_above" # kpress "Down", "goto_below" #
Det kan også blive nødvendigt at lukke et vindue af og til. Det kan man for eksempel gøre med Alt-F4:
set_mod "Mod1" # kpress "F4", "closedestroy" #
Og når vi nu bruger Alt-O+... til at ændre rammernes størrelser, så kan vi jo passende bruge Alt-O+F4 til at lukke en ramme:
set_mod "Mod1" # submap "O" { # kpress "V", "split_horiz" # kpress "L", "split_vert" # kpress "F4", "destroy_frame" # } #
Det kan også være nyttigt at kunne ændre rammernes størrelser. I blokken "moveres_bindings" sætter man hvilke taster der gør rammen større ("S") eller mindre ("M"), aktiverer ændringen (enter) eller annullerer ændringen (escape):
moveres_bindings{ # set_mod "AnyModifier" # kpress "S", "grow" # kpress "M", "shrink" # kpress "Return", "end_resize" # kpress "Escape", "cancel_resize" # } #
Men vi har også brug for at fortælle at rammen skal ændre størrelse. Vi kan for eksempel bruge Alt-F8 til at ændre højden på rammen, og Ctrl-F8 til at ændre bredden på rammen:
set_mod "Mod1" # kpress "F8", "resize_vert" # set_mod "Control" # kpress "F8", "resize_horiz" #
Uanset hvor velorganiseret man er, kan man af og til få brug for at flytte et vindue til en anden ramme. Det kan man gøre ved at flytte til den ramme man vil have vinduet over i (med Ctrl-Alt-<pil>), taste Alt-F7, skrive noget af vinduets navn, trykke på Tab (for at få skrevet navnet færdigt) og Enter.
set_mod "Mod1" # kpress "F7", "query_attachclient" #
Svarende til Alt-F8 og Ctrl-F8 (ændring af en rammes højde og bredde) kan vi definere Alt-F2 og Ctrl-F2 til at maksimere henholdsvis rammens højde og bredde:
set_mod "Mod1" # kpress "F2", "maximize_vert" # set_mod "Control" # kpress "F2", "maximize_horiz" #
Brugsanvisning (man-side): F1
SSH til en anden maskine: F4
Redigér en fil: F5
Opret/skift til skrivebord: F9
Genstart Ion: F11
Log ud: F12
Jeg synes at det er vældig praktisk at bruge en window manager der hjælper mig med at sørge for at mine vinduer ikke overlapper. Og så er det rimeligt overkommeligt at styre en hel masse direkte fra tastaturet. Hvis xterm understøttede tastaturbaseret klippe-klistre, så ville jeg omgående fodre min mus til den nærmeste kat.