# Priročnik za K Window Manager

KDE skupina
Različica 0.11.13-1, 24. junij 1998

Ta dokumentacija je bila zadnjič osvežena za kwm različico 0.11.13. Prosimo pošljite vse pripombe in pojasnila avtorjem.

KDE
Kwm
okenski upravljalnik
okna

## Uvod

Ta dokument vsebuje splošne informacije o kwm-u, napotilo k značilnostim in tehnične informacije uporabne za razvijalce kwm kontrolnih modulov in modulov sistemskega zvoka.

Za nadaljne informacije, kako spreminjati kwm na nižjem nivoju (zanimovo samo za kwinconfig razvijalce) prosimo poglejte na nastalo kwmrc in izvorno kodo.

Za vse programerje: preglejte kwm.h v libkdecore za informacije kako uporabljati kwm za vaše namene. Za module, je razred KWMModuleApplication dober primer kako pisati module.

### Značilnosti

Kwm je izbrani okenski urejevalec KDE-ja. Poleg drugih stvari, vam ponuja:

- Popolno integracijo v KDE.

- Popolno kontrolo tipkovnice.

- Moderen izgled in občutek z unikatnimi naslovi oken in ikonami, katere ni nujno, da so definirane v cryptic resource datotekah.

- Pripravno mini okno ukazne vrstice z zgodovino za hiter dostop do lupine.

- Sposobnost biti ponovno nastavljiv med zagonom brez ponovnega zagona.

- Drugo generacijo okenskih urejevalcev. KWM uporablja moderno GUI orodje za svoje naprave (gumbi, meniji, okvirji s seznami, itd.) namesto napihovanja kode z lastništvom ali navadno Xlib implementacijo.

- Izvrstno rokovanje z gorišči, čeprav lahko delate na različnih navideznih namizjih (nič več menjavanje namizij in izgubljanje gorišč, kot je to standardno pri drugih okenskih upravljalcih).

- Vključuje urejanje sej in delujočega namestnika urejanja sej za volilne aplikacije. Ta namestnik vam lahko obnovi vaše aplikacije njihovo prejšnje stanje, vključujoč lastnosti oken (maksimirano, prilepljeno, ikonizirano, itd.) in na pravem navideznem namizju.

- Moderni koncept za module, ki uporablja X Server kjer je mogoče. KWM moduli so zelo samostojni: lahko se zaženejo pred ali za kwm-om. KWM se lahko ponovno zažene, medtem ko moduli ostanejo še vedno zagnani in jih avtomatično ponovno poveže.

- Ponuja nekaj podaljškov X Serverju v kwm.h: Sedaj se lahko aplikacije maksimirajo same (ali prilepijo, ali dekorirajo/oddekorirajo ali karkoli) in definirajo mini ikone. To deluje tudi za mapirana (vidna) okna.

## Uporaba kwm-a

### Opcije ukazne vrstice

Kwm prinaša naslednje opcije ukazne vrstice:

-version

  Prikaže številko različice vključujoč patchlevel; ne zažene kwm-a

-nosession

  Zažene kwm brez obnovitve prejšnje seje

### Bližnjice

Alt-Esc ali Control-Esc

  "Trenutna seja"-urejevalnik z gumbom odjava

Alt-Tab in Alt-Shift-Tab

  Prepotuje okna trenutnega namizja

Ctrl-Tab in Ctrl-Shift-Tab

  Prepotuje navidezna namizja (lahko se izključi v Kwmrc)

Alt-F2

  Odpre mini okno ukazne vrstice

Alt-F3

  Okenski meni operacij

Alt-F4

  Zapre okno

Ctrl-F&lsqb;1..8&rsqb;

  Zamenja na navidezno namizje

Ctrl-Alt-Esc

  Uniči način okna (kurzor postane pirat)

### Kontrole miške

Kliknite na rob ali naslovno vrstico

- levi miškin gumb aktivira in poveča okno

- srednji miškin gumb aktivira in pomanjša okno

- desni miškin gumb prikaže okenski meni operacij če je okno aktivno, sicer ga aktivira brez povečanja

Dvojni-klik na naslovno vrstico prekliče maksimacijo

Vlečenje naslovne vrstice

- levi miškin gumb premakne okno in ga poveča

- srednji miškin gumb premakne okno brez povečanja

Vlečenje kotov ali robov

- levi miškin gumb obnovi okno in ga poveča

- srednji miškin gumb obnovi okno brez povečanja

Celotno okno

- Alt-levi miškin gumb premakne okno

- Alt-srednji miškin gumb pomanjša okno, če je že na vrhu

- Alt-desni miškin gumb obnovi okno

Gumbi naslovne vrstice (nastavljivi)

- Meni prikaže seznam operacij okna

- Prilepi preklopi prilepljiv način na on/off (okna ostanejo na zaslonu, ko se premikate iz namizja na namizje)

- Ikoniziraj ikonizira okno

- Maksimiraj

  - levi miškin gumb maksimira

  - srednji miškin gumb maksimira vertikalno

  - desni miškin gumb maksimira horizontalno

- Zapri zapre okno (aplikacije vas lahko vprašajo, če imate kaj za shraniti)

### Mini okno ukazne vrstice

Pritisnite Alt-F2, da prikažete majhno okno ukazne vrstice. Vnesite Unix lupinski ukaz (SHELL okoljna spremenljivka je uporabljena, da določa katera lupina izvrši ukaz), ali nekaj izmed naslednjega:

- Vnesite URL, da odprete kfm okno z določenim URL-jem. Lahko izpustite `http://` ali `ftp://`, če se ime strežnika začne z www. ali ftp..

- Vnesite `man:`ukaz, da odprete kfm okno s prikazom Unix man strani za ukaz.

Lahko uporabite smerno tipko s puščico gor, da prekličete prejšnje vnesen ukaz. Seveda lahko tudi uporabite tipko tab, da dokončate delno vnesena imen datotek, kot v veliko lupinah.

### Ukazi

Ukaze kwm-u lahko pošiljate z:

`Kwm::sendKwmCommand(QString)` (v KDE aplikacijah)

ali

`Kwmcom ukaz` (iz ukazne vrstice)

To je izredno pomembno za kglobalshortcut razvijalce.

Za sedaj kwm razume naslednje ukaze:

- refreshScreen osveži zaslon.

- darkenScreen spremeni v temni zaslon. Previdnost: ta ukaz naredi namizje neobčutljivo na ukaze tipkovnice/miške.

- logout prikaže odjavni dialog.

- commandLine odpre mini okno ukazne vrstice.

- taskManager prikaže urejevalec "Trenutna seja".

- configure ponovno zažene nastavitev iz Kwmrc.

  - winMove

  - winResize

  - winRestore

  - winIconify

  - winClose

  - winSticky

  - winOperations

  Ti ukazi vplivajo na trenutno odprta okna in naredijo precej več kot lahko pričakujete (`winOperations` prikaže meni za opreacije okna).

  - deskUnclutter

  - deskCascade

  Ti ukazi spoznajo okna na namizju.

- desktop&lsqb;1-8&rsqb; zamenja na določeno namizje

  - desktop+1

  - desktop+2

  - desktop-1

  - desktop-2

  - desktop&percnt;2

  Ti ukazi zamenjajo med namizji. `desktop&percnt;2` preklopi iz lihega na naslednje sodo številko namizja. To pomeni med 1 in 2 ali med 3 in 4. To je uporabno za emuliranje "Gor" in "Dol" v virtualni n*2 matrici, ki jo uporablja KDE pager. Podobno, `desktop+2` pomeni "Desno"; `desktop-1` pomeni "Levo".

## Nastavitve

kwm se lahko nastavi z uporabo Krmilnega centra KDE (Starter aplikacij > Krmilni center KDE). Odprite drevo Okna, za delo z različnimi nastavitvenimi opcijami. Za nastavitev navideznih namizij, odprite drevo Uporabniški programi in izberite Panel.

Za tiste, ki želite urejati nastavitveno datoteko, ta odstavek razlaga opcije v kwmrc datoteki, ki se nahaja v `˜/.kde/share/config`.

### kwmrc

kwmrc nastavitvena datoteka je razdeljena na naslednje odstavke:

- Buttons

- General

- Session

- Desktop

- Decoration

- Focus

- Sticky

#### &lsqb;Buttons&rsqb;

Ta odstavek nadzoruje postavitev kontrolnih gumbov oken v naslovni vrstici. Vsebuje vrstice v obliki

ButtonX=button-name

kjer je X črka od A-F, in button-name eden od: `Menu`, `Sticky`, `Iconify`, `Maximize`, `Close`, `Off`. Gumbi A, B in C se pojavijo na levi strani naslovne vrstice okna, D, E in F pa se pojavijo na desni strani.

#### &lsqb;General&rsqb;

Ta odstavek določa različne nastavitvene stvari:

- AltTabStyle=`KDE&verbar;CDE` (privzeto je KDE)

  CDE stil AltTab-Značilnost, ki naj bi se uporabljala s klasičnimi goriščnimi taktikami. CDE stil je privzet s klasičnimi goriščnimi taktikami, medtem ko KDE stil nima nobenega smisla pod temi pogoji. Za vse druge goriščne rede lahko izberete stil.

- AutoRaise=value (v milisekundah)

  Če `FocusPolicy` je `FocusFollowMouse`, določa ta predmet zastoj med časom, ko okno dobi gorišče, medtem, ko ga miška vnese in medtem, ko se okno poveča.

- BorderSnapZone=vrednost (v pixlih)

  Ko uporabnik ponastavlja okno in se en rob okna približa robu namizja, se bo okno zaprlo na rob namizja. vrednost določa, kako blizu mora biti okno robu namizja, da se zapre vanj.

- Button3Grab=`on&verbar;off`

  Ko je `off`, so operacije okna, ki vklučujejo desni miškin gumb onemogočene, da lahko okna aplikacij dobijo dogodke desnega miškinega gumba.

- ControlTab=`on&verbar;off`

  Ko je `on`, dovoljuje uporabniku pritisniti `Ctrl`+`Tab` za menjanje med navideznimi namizji.

- ElectricBorder=vrednost (v milisekundah)

  Ko imate več kot eno namizje, vam lastnost ElectricBorder omogoča premikanje med njimi s premikom miške na rob zaslona. vrednost določa čas v katerem morate držati miškin kurzor na robu, preden se zamenja namizje. Vrednost -1 onemogoči to lastnost.

- ElectricBorderPointerWarp=`NoWarp&verbar;MiddleWarp&verbar;FullWarp`

  Če je opcija `ElectricBorder` "on", spremeni ta on, da se miška premakne na določeno pozicijo, ko se zamenja namizje.

- ElectricBorderNumberOfPushes=vrednost (privzeto je "5")

  Število pritiskov znotraj časa podanega od `ElectricBorder` lastnosti za zamenjavo drugega navideznega namizja, brez vlečenja oken.

- FocusPolicy=`ClickToFocus&verbar;FocusFollowMouse`

  `ClickToFocus` zahteva od uporabnika, da klikne z miško na okno, da mu da gorišče. `FocusFollowMouse` zmeraj poda gorišče oknu, ki je pod miško. `ClassicFocusFollowsMouse` nobeno okno ne dobi gorišča brez miške. Kwm-om focusFollowMouse daje gorišče novim oknom, ali uporabite Alt-tab, da omogočite boljši nadzor s tipkovnico.

- MaximizeOnlyVertically=`off&verbar;on`

  Ko je `on`, ta nastavitev omejuje okno, da se maksimira samo v vertikalno smer.

- ResizeAnimation=`1..10 (maksimalna hitrost)`

  Ko je `on`, minimiranje in maksimiranje oken vključuje grafično animacijo (privzeto je 1).

- RstartProtocol=`… (privzeto je "`rstart -v`")`

- ShapeMode=`off&verbar;on`

  Ko je ShapeMode `on`, kwm uporablja uporabniško določene pixmapse za robove oken, namesto privzetih (glejte spodaj).

  - ShapePixmapTop=pixmap

  - ShapePixmapBottom=pixmap

  - ShapePixmapLeft=pixmap

  - ShapePixmapRight=pixmap

  - ShapePixmapTopLeft=pixmap

  - ShapePixmapTopRight=pixmap

  - ShapePixmapBottomLeft=pixmap

  - ShapePixmapBottomRight=pixmap

  Te opcije določajo katere slike so prikazane na določenih straneh/robovih oken, ko je `ShapeMode` `on`. pixmap bi moralo biti ime pixmap datoteke (.xpm), ki se mora nahajati v `share/apps/Kwm/pics`.

  Kwm izvori vključujejo podimenik `images`, ki vsebuje primer za oblikovne podaljške.

- TitlebarLook=`shaded&verbar;plain&verbar;pixmap`

  Ta nastavitev določa izgled naslovne vrstice okna. Izberite `pixmap`, da vam bo kwm prikazal uporabniško določene slike v naslovni vrstici, kot je določeno na naslednjih predmetih.

- TitlebarPixmapActive=pixmap

  ali

- TitlebarPixmapInactive=pixmap

  Te opcije določajo katere slike so prikazane v naslovni vrstici aktivnih in neaktivnih oken, ko je `TitleBarLook=pixmap`.

- TitleAnimation=vrednost (v milisekundah)

  Omogočanje TitleAnimation pove kwm-u naj sproži, da se dolgi naslovi v oknih (predolgi, da se prilegajo barvnemu predelu naslovne vrstice) premikajo nazaj in naprej, da so vidni. vrednost določa hitrost animacije. Če je postavljeno na 0 je animacija onemogočena.

- TitlebarDoubleClickCommand=`winMaximize&verbar;winShade&verbar;winMo ve&verbar;winResize&verbar;winRestore&verbar;winIconify&verbar;winClose&verbar;winSticky&verbar;winOperations`

  Te opcije omogočajo, da določite, kaj naj se zgodi z obnašanjem okna, ko dvojno-kliknite naslovno vrstico.

- TraverseAll=`on&verbar;off`

  Ko je `on`, operacija `Alt`-`Tab` kroži skozi vsa okna na vseh namizjih. Ko je `off`, Alt-tab kroži skozi okna samo na trenutnem namizju.

- WindowMoveType=`Opaque&verbar;Transparent`

  Ta opcija nadzoruje vizuelno dogajanje, ki se dogaja, medtem ko uporabnik premika okno iz enega dela na drugi del namizja. `Transparent` pokaže samo obris okna med vlečenjem, medtem ko `Opaque` prikaže celotno okno.

- WindowPlacement=`cascade&verbar;interactive&verbar;manual&verbar;random&verbar;sma rt`

  Ta opcija določa kako kwm postavi okna na namizje, ko so prvič odprta. manual omogoča uporabniku postavitev okna. interactive vzame dodatno procentno vrednost, kot to:

  `WindowsPlacement=interactive,25`

  S postavitvijo `interactive` kwm uporabi pametni postavitveni algoritem, da postavi okno, razen če bi postavitev presegala obstoječe okno za več kot določeno vrednost, v tem primeru se uporabi nastavitev manual , ki omogoča uporabniku postavitev okna. Procentnost je lahko večja od 100. Druge opcije pustijo postavitev okna kwm-u.

- WindowSnapZone=vrednost (v pixlih)

  Ko uporabnik ponastavlja okno in se en rob okna približa robu drugega okna, se rob okna, ki se ponastavlja zapre v rob drugega okna. vrednost določa kako blizu mora biti okno, da se zapre v drugi rob okna.

#### &lsqb;Session&rsqb;

- proxyignore=`xemacs,xterm,…,`

  Vejica omeji seznam (ne-KDE) aplikacij, katerih status aplikacije (lastnost okna) se ne more shraniti, ko se uporabnik odjavi. Navedite ime aplikacije z ukaznimi argumenti.

#### &lsqb;Desktop&rsqb;

Ta odstavek določa število navideznih namizij, njihova imena in pozicijo. Vsebuje vrstice podobne naslednjim:

- NumberOfDesktops=vrednost

  Določa število navideznih namizij. Ob času pisanja, kwm podpira največ 8 namizij.

- Desktop&num;&lsqb;C&rsqb;=ime

  Določa ime namizja &num;, na primer, `Desktop1[C]=Prvo`. Namizja so oštevilčena 1-8.

- Desktop&num;Region=geometrija

  Določa geometrijo za namizje &num;; na primer

  `Desktop1Region=101+0+923+722`

#### &lsqb;Decoration&rsqb;

- noDecorationTitles=,

- tinyDecorationTitles=,

- noDecorationClasses=,

- tinyDecorationClasses=,

#### &lsqb;Focus&rsqb;

- noFocusTitles=,

- noFocusClasses=,

#### &lsqb;Sticky&rsqb;

- stickyTitles=,

- stickyClasses=,

Vsaka lastnost vam dovoljuje, da navedete z vejico ločen regularen izraz. Okna katerih naslov ali razred ustrezajo določenemu izrazu bodo primerno dekorirana.

Opomba: Ta navodila vplivajo samo na nova okna. Ne pozabiti poklicati kwmcom configure ali ponovno zagnati kwm po narejenih spremembah v kwmrc datoteki.

## Zvočni primeri

KWM zažene kup zvočnih primerov, ki se jih lahko uporabi v modulih sistemskega zvoka. Za sedaj so izvedljivi naslednji zvočni primeri:

- Ikoniziranje okna

- Odikoniziranje okna

- Maksimiranje okna

- Odmaksimiranje okna

- Prilepljenje okna

- Odlepljenje okna

- Novo okno

- Izbris okna

- Window New Trans

- Window Delete Trans

- Window Shade Up

- Window Shade Down

- Odjava

- Obvestilo odjave

## Pogosto zastavljena vprašanja

### Zakaj naj uporabljam kwm?

Odgovor: Ne smete, to je samo šala. KDE podpira vse trenutne urejevalnike oken, vendar če hočete imeti vse prednosti, je priporočljivo, da uporabljate kwm. Poglejte na seznam Značilnosti.

### Zakaj ne morem definirati novih bližnjic za zagon aplikacij?

Odgovor: Ker to ni opravilo urejevalnika oken. Uporabite KGlobalShortcut za ta namen.

### Zakaj je kwm tako zelo podoben Windows 95?

Odgovor: Ooops, ali je res? Poglejmo.... (Matthias poskuša najti nekoga, ki ima Windows 95, ker on nima Windows 95 na njegovih računalnikih, ummm nobeden nima Windows 95 tukaj. Dobro, poberimo staro Linux distribucijo in namestimo fvwm95-2.....) Ne, ne morem tega narediti. KWM izgleda boljši in ponuja bistveno večjo funkcionalnost okenskega urejevalca.

### Je mogoče dati KDE podaljške drugim okenskim upravljalcem?

Odgovor: Da je. Preprosto morate iti skozi kwm.h in kwm.C iz libkdecore in razširite vaš priljubljen okenski urejevalec, da se bo pravilno odzival tem zahtevam. Možna je tudi vgradnja object request brokereja v x86 monterju. To je samo vprašanje kvocienta investicija/rezultat.

### Podpira kwm zasenčena okna(shaded windows) a la OpenStep?

Odgovor: Da.

## Epilog

### Razvijalec

`Matthias Ettrich`

### Avtorji

`Matthias Ettrich`

`Stephen Schaub` - urednik

`Kalle Dalheimer` - urednik

`Robert Williams` - urednik

### Prevajalci

`Matej Badalič`