]>

# K Window Managerin käsikirja

The KDE Team
Version 0.11.13-1, 24 June 1998

Tämä dokumentti päivitettiin viimeeksi kwm versioon 0.11.13. Lähetä kaikki kommentit ja lisäykset tekijälle.

KWM:n kdsikirja

KWM
KDE
kdsikirja

## Esittely

Tässä dokumentissa on yleisiä tietoja kwm:stä, ominaisuusluettelo ja teknisiä tietoja kwm kontrolli moduulien ja järjestelmän äänimoduulin kehittäjille.

Lisätietoja kwm:n muokkaamisesta ohjelmallisesti (kwinconfig:n kehittäjiä kiinnostavia tietoja) löytyy generoidusta kwmrc:stä kwmrc ja lähdekoodista.

Ohjelmoijille: katso tiedostosta `kwm.h`, joka on osa libkdecore:a, lisätietoja, miten käytää kwm:ää omiin tarkoituksiisi. Moduulien osalta luokka `KWMModuleApplication` on hyvä esimerkki miten kirjoittaa moduuleita.

### Ominaisuudet

kwm on paras ikkunamanageri KDE:lle. Se tarjoaa muun muassa:

- Täysi KDE-integrointi.

- Täysi näppäimistön hallinta Oikopolut.

- Uudenaikanen ulkonäkö ja tuntuma sekä ikkunoiden otsikot ja kuvakkeet, joita ei tarvitse määritellä vaikeaselkoisten resurssitiedostojen kautta.

- Kätevä pienoiskomentorivi-ikkuna pienoiskomentorivi-ikkuna, joka muistaa edelliset komennot ja on nopea korvike komentokehotteelle.

- Säätöjen muutosten voimaantulo ilman uudelleenkäynnistystä.

- Toisen sukupolven ikkunamanageri, KWM, käyttää nykyaikaista GUI-kirjastoa kontrolleilleen (painonapit, valikot, listat jne.), jolloin lähdekoodi ei paisu suljettujen tai suorien Xlib-toteutusten takia.

- Erinomainen kohdistuksen käsittely vaikka käytät virtuaalityöpöytiä (ei enää katoavaa kohdistusta työpöytää vaihdettaessa, kuten on tyypillistä muilla ikkunamanagereilla).

- Mukana on istuntojen hallinta ja toimiva istunnon hallinnan välimuisti vanhoille sovelluksille. Tämä välimuisti pystyy palauttamaan sovelluksesi edeltäneeseen ikkunan tilaan (suurennettu, naulattu, pienennetty jne.) ja oikealle virtuaalityöpöydälle.p.

- Nykyaikainen moduulirakenne, joka käyttää X-palvelinta, kun se on mahdollista. KWM-moduulit ovat hyvin itsenäisiä, ne voidaan käynnistää ennen tai jälkeen kwm:n käynnistyksen. KWM voidaan käynnistää uudelleen moduulien ollessa käynnissä ja se liittää ne uudelleen automaattisesti.

- Tarjoaa joitakin laajennoksia X-palvelimeen. Nyt sovellukset voivat myös suurentaa ikkunansa (tai naulata tai lisätä/poistaa koristukset jne.) sekä käyttää pienoiskuvakkeita. Tämä toimii myös näkyvien (mapitetut) ikkunoiden osalta.

## kwm:n käyttö

### Komentoriviparametrit

kwm ymmärtää seuraavat komentoriviparametrit:

-version

  Näyttää versionumeron ja korjaustason, ei käynnistä kwm:ää.

-nosession

  Käynnistää kwm:n palauttamatta edellistä istuntoa.

### Oikopolut KDE!näppäimistön käyttö

Alt-Esc tai Control-Esc

  "Nykyinen istunto"-hallinta ja uloskirjautuminen

Alt-Tab ja Alt-Shift-Tab

  Vaihtaa ikkunaa seuraavaan nykyisellä työpöydällä

Ctrl-Tab ja Ctrl-Shift-Tab

  Vaihtaa virtuaalityöpöytää seuraavaan (voidaan poistaa käytöstä kwmrc)

Alt-F2

  Avaa pienoiskomentorivi-ikkunan pienoiskomentorivi-ikkuna

Alt-F3

  Ikkunan toimintovalikko

Alt-F4

  Sulje ikkuna

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

  Vaihtaa virtuaalityöpöydälle

Ctrl-Alt-Esc

  Ikkunan tappotila (kursori muuttuu pääkalloksi)

### Hiiren käyttö KDE!hiiren käyttö

Näpäytys reunaan tai otsikkopalkkiin

- vasen hiiren näppäin aktivoi ja nostaa ikkunan

- keskimmäinen hiiren näppäin aktivoi ja siirtää ikkunan alimmaiseksi

- oikea hiiren näppäin näyttää ikkunan toimintovalikon, jos ikkuna on aktiivi, muuten aktivoi nostamatta

Kaksoisnäpäytys otsikkopalkkiin suurentaa tai palauttaa

Otsikkopalkin raahaaminen

- vasen hiiren näppäin siirtää ikkunaa ja nostaa sen

- keskimmäinen hiiren näppäin siirtää ikkunaa nostamatta sitä

Kulmista tai reunoista raahaaminen

- vasen hiiren näppäin muuttaa ikkunan kokoa ja nostaa sen

- keskimmäinen hiiren näppäin muuttaa ikkunan kokoa nostamatta sitä

Koko ikkuna

- Alt-vasen hiiren näppäin siirtää ikkunaa

- Alt-keskimmäinen hiiren näppäin siirtää ikkunan alimmaiseksi, jos se on jo päällimmäisenä

- Alt-oikea hiiren näppäin muuttaa ikkunan kokoa

Otsikkopalkin painonapit (muokattavissa)

- Toimintopainike näyttää valikon ikkunatoiminnoista

- Naulaa vaihtaa naulaustilan päälle/pois (ikkuna pysyy näytöllä vaikka siirryt toiselle työpöydälle)

- Pienennä pienentää ikkunan

- Suurenna

  - vasen hiiren näppäin suurentaa

  - keskimmäinen hiiren näppäin suurentaa pystysuunnassa

  - oikea hiiren näppäin suurentaa sivusuunnassa

- Sulje sulkee ikkunan (sovellus voi kysyä vahvistusta, jos jotain on tallentamatta)

### Pienoiskomentorivi-ikkuna

Paina `Alt-F2` saadaksesi näyttöön pienen komentorivi-ikkunan. Voit syöttää siihen Unixin komentotulkin ymmärtämän komennon (SHELL-ympäristömuuttujasta katsotaan mitä komentotulkkia käytetään käskyn suorittamiseen) tai jokin seuraavista:

- Syötä URL, jolloin avautuu kfm-ikkuna osoitteenaan syötetty URL. Voit jättää pois alusta "http://" tai "ftp://", jos palvelimen nimi alkaa "www." tai vastaavasti "ftp.".

- Syötä `man:komennon&lowbar;nimi`, jolloin avautuu kfm-ikkuna, jossa näkyy Unixin man-sivu komennolle.

Voit käyttää nuoli ylös -näppäintä, jos haluat käyttää aikaisemmin syötettyä komentoa. Voit myös käyttää sarkainnäppäintä täydentämään osittain syötetyn tiedostonimen samaan tapaan kuin monissa komentotulkeissa.

### Komennot KDE!kwm:n komennot

Voit lähettää komentoja kwm:lle seuraavilla tavoilla:

`KWM::sendKWMCommand(QString)` (KDE-sovelluksissa) tai `kwmcom komento` (komentoriviltä)

Tämä on erityisen kiintoisa kglobalshortcut:n kehittäjille.

Tällä hetkellä kwm ymmärtää seuraavat komennot:

- refreshScreen virkistää näytön

- darkenScreen pimentää näytön. Varoitus: tämän jälkeen työpöytä ei enää reagoi näppäimistöön tai hiireen.

- logout näyttää uloskirjautumisen keskusteluikkunan.

- commandLine avaa pienoiskomentorivi-ikkunan Pienoiskomentorivi-ikkuna

- taskManager näyttää "Nykyinen istunto" -ikkunan.

- configure lataa uudelleen konfiguraation tiedostosta kwmrc.

- winMove winResize winRestore winIconify winClose winShade winSticky winOperations Nämä komennot vaikuttavat aktiiviin ikkunaan ja tekevät sen mitä nimestä voi päätellä. (`winOperations` näyttää ikkinatoimintojen valikon.)

- deskUnclutter deskCascade Nämä komennot järjestelevät ikkunoita työpöydällä.

- desktop&lsqb;1-8&rsqb; siirtyy mainitulle työpöydälle

- desktop+1 desktop+2 desktop-1 desktop-2 desktop&percnt;2 Nämä komennot vaihtavat työpöytää. `desktop&percnt;2` vaihtaa parittoman ja seuraavan suuremman parillisen numeron työpöydän välillä. Tämä tarkoittaa 1. ja 2. tai 3. ja 4. välillä vaihtoa. Tämä on hyödyllinen emuloidessa "ylös" ja "alas" toimintoja virtuaalissa n*2 matriisissa, jota KDE:n sivuttaja käyttää. Vastaavasti `desktop+2` tarkoittaa "oikealle", `desktop-1` tarkoittaa "vasemmalle".

## Konfigurointi KDE!kwm:n konfigurointi

kwm voidaan konfiguroida KDE:n ohjauskeskuksen kautta (sovellusten käynnistäjä > KDE:n ohajuskeskus). Avaa Ikkunat-puu saadaksesi kaikki osa-alueet näkyviin. Virtuaalityöpöytien konfigurointi löytyy Sovellukset-puusta, kohdasta Paneeli

Jos haluat muokata konfigurointitiedostoa suoraan, tämä luku selittää asetusten merkityksen tiedostossa `kwmrc` file, joka on hakemistossa ˜/.kde/share/config.

### kwmrc

kwmrc-konfigurointitiedosto on jaettu seuraaviin sektioihin:

- Buttons

- General

- Session

- Desktop

- Decoration

- Focus

#### &lsqb;Buttons&rsqb;

Tämä sektio määrittelee ikkunan hallinnan painonapit otsikkopalkissa. Siinä on rivejä, joiden muoto on ButtonX=napin&lowbar;nimi jossa X on kirjain A-F ja napin&lowbar;nimi on jokin seuraavista: `Menu, Sticky, Iconify, Maximize, Close, Off`. Painonapit A, B sekä C ovat vasemmalla ja D, E sekä F ovat oikealla.

#### &lsqb;General&rsqb;

Tämä sektio määrittelee useita sekalaisia asetuksia:

- AltTabStyle=`KDE&verbar;CDE` (oletus on KDE) CDE-tyylinen AltTab-tyyli on käyttökelpoinen perinteisillä kohdistustavoilla. CDE-tyyli on oletuksena perinteisillä kohdistustavoilla, koska KDE-tyyli ei ole kovin järkevä niiden kanssa. Kaikilla muilla kohdistustavoilla voit valita tyylin.

- AutoRaise=arvo (millisekunneissa) Jos `FocusPolicy` on `FocusFollowMouse`, tämä asetus määrittää viiveen ennen kuin ikkuna nostetaan pinnalle hiiren tullessa sen päälle.

- BorderSnapZone=arvo (kuvapisteinä) Kun käyttäjä on sijoittamassa ikkunaa ja jokin ikkunan reunoista lähestyy työpöydän reunaa, ikkuna kiinnittyy reunaan. arvo määrittää kuinka lähellä ikkunan pitää olla työpöydän reunaa ennen kiinnittymistä.

- Button3Grab=`on&verbar;off` Asetuksella `off` ikkunan toiminnot, joissa käytetään hiiren oikeaa näppäintä, ovat estetyt, jotta sovellusohjelma saa ne käsiteltäväkseen.

- ControlTab=`on&verbar;off` Asetuksella `on` käyttäjä voi käyttää näppäimiä `Ctrl+Tab` vaihtamaan virtuaalityöpöytiä.

- ElectricBorder=arvo (millisekunneissa) Kun sinulla on enemmän kuin yksi työpöytä, ElectricBorder-ominaisuus mahdollistaa siirtymisen niiden välillä siirtämällä hiiri näytön reunaan. arvo määrittää kuinka kauan hiiren on oltava reunassa ennen työpöydän vaihtumista. arvo -1 estää tämän ominaisuuden.

- ElectricBorderPointerWarp=`NoWarp&verbar;MiddleWarp&verbar;FullWarp` Jos `ElectricBorder`-ominaisuus on käytössä, `on`, tämä asetus määrää minne hiiren kursori siirtyy työpöydän vaihdon yhteydessä.

- ElectricBorderNumberOfPushes=arvo (oletus on 5 siirtoa) Siirtojen määrä `ElectricBorder`-ominaisuuden määrittämässä aikarajassa ilman, että ikkunaa raahataan.

- FocusPolicy=`ClickToFocus&verbar;FocusFollowMouse&verbar;ClassicFocusFollowsMouse&verbar;ClassicSloppyFocus` `ClickToFocus` vaatii käyttäjää näpäyttämään ikkunaa, jotta se tulee aktiiviksi. `FocusFollowMouse` aktivoi aina hiiren kohdalla olevan ikkunan. `ClassicFocusFollowsMouse`-asetuksella ikkuna ei ole aktiivi, jos sen päällä ei ole hiirtä. Kwm:n focusFollowMouse antaa kohdistuksen uusille ikkunoille.

- MaximizeOnlyVertically=`off&verbar;on` Asetus `on` antaa ikkunoiden suurentua vain pystysuunnassa.

- ResizeAnimation=`1..10 (maksiminopeus)` Asetuksella `on`, pienennys ja suurennus tehdään askelittain eli animoidusti. (Oletus on 1)

- RstartProtocol=`... (oletus on "`rstart -v`")`

- ShapeMode=`off&verbar;on` Asetuksella `on` kwm käyttää käyttäjän määrittelemiä pixmap-tiedostoja ikkunoiden reunoille oletusten sijaan (katso alla).

- ShapePixmapTop=pixmap ShapePixmapBottom=pixmap ShapePixmapLeft=pixmap ShapePixmapRight=pixmap ShapePixmapTopLeft=pixmap ShapePixmapTopRight=pixmap ShapePixmapBottomLeft=pixmap ShapePixmapBottomRight=pixmap Nämä asetukset määrittelevät mitä kuvia käytetään ikkunoiden reunoissa ja kulmissa, kun `ShapeMode`-asetus on `on`. pixmap pitäisi olla pixmap-tiedoston (.xpm) nimi ja sen pitää olla hakemistossa share/apps/kwm/pics.

  Kwm:n lähdekoodeissa on alihakemisto "images", jossa on esimerkki shape-laajennosten käytöstä.

- TitlebarLook=`shaded&verbar;plain&verbar;pixmap` Tämä asetus määrittää ikkunan otsikkopalkkien ulkonäön. Valitse `pixmap`, jos haluat, että kwm näyttää käyttäjän määrittelemän kuvan otsikkopalkissa. Tätä määrittelee tarkemmin:

- TitlebarPixmapActive=pixmap TitlebarPixmapInactive=pixmap Nämä asetukset määrittelevät mitä kuvia näytetään aktiivin ja ei-aktiivin ikkunan otsikkopalkissa, kun asetus TitleBarLook on `pixmap`.

- TitleAnimation=arvo (millisekunneissa) TitleAnimation-asetuksen käyttöönotto saa kwm:n liikuttamaan liian pitkiä kerralla näytettäviksi ikkunan otsikoita edestakaisin, jotta ne voitaisiin nähdä kokonaan. arvo määrittää animoinnin nopeuden. Arvo 0 estää sen.

- TitlebarDoubleClickCommand=`winMaximize&verbar;winShade&verbar;winMove&verbar; winResize&verbar;winRestore&verbar;winIconify&verbar;winClose&verbar;winSticky&verbar; winOperations` Tämän asetuksen kautta voidaan määritellä ikkunan käytös, kun käyttäjä kaksoisnäpäyttää otsikkopalkkia.

- TraverseAll=`on&verbar;off` Asetuksella `on` näppäimet `Alt-tab` vaihtavat ikkunaa kaikilla työpöydillä. Asetuksella `off` `Alt-tab` vaihtaa ikkunoita vain nykyisellä työpöydällä.

- WindowMoveType=`Opaque&verbar;Transparent` Tamä asetus vaikuttaa ikkunan näkyvyyteen, kun käyttäjä raahaa sitä paikasta toiseen työpöydällä. `Transparent` näyttää vain ikkunan kehykset raahauksen aikana, kun taas `Opaque` näyttää koko ikkunan sisällön.

- WindowsPlacement=`cascade&verbar;interactive&verbar;manual&verbar;random&verbar;smart` Tämä asetus määrää miten kwm sijoittaa ikkuna työpöydälle, kun ne avataan. `manual` antaa käyttäjän sijoittaa ikkunan. `interactive` vaatii lisäksi prosenttiarvon, kuten: `WindowsPlacement=interactive,25` Asetuksella `interactive` kwm käyttää `smart`-sijoitusalgoritmia ikkunan sijoittamisessa paitsi silloin, kun laskettu sijainti menisi päällekkäin olemassa olevien ikkunoiden kanssa mainitulla prosenttiarvolla, jolloin `manual`-sijoitustapaa käytetään ja käyttäjä voi sijoittaa ikkunana. Prosenttiluku voi olla suurempi kuin 100.

  Muut asetukset antavat kwm:n sijoittaa ikkunan.

- WindowSnapZone=arvo (kuvapisteinä) Kun käyttäjä on sijoittamassa ikkunaa ja jokin ikkunan reunoista lähestyy toisen ikkunan reunaa, sijoitettavan ikkunan reuna kiinnittyy toisen ikkunan reunaan. arvo määrittää miten lähellä ikkunan pitää olla kiinnittyäkseen toisen ikkunan reunaan.

#### &lsqb;Session&rsqb;

- proxyignore=`xemacs,xterm,...,` Pilkuilla erotettu lista (ei-KDE) sovelluksista, joiden tilaa (ikkunan ominaisuudet) ei pitäisi tallentaa, kun käyttäjä kirjautuu ulos. Listan sovellusten nimissä voi olla komentoriviparametrejä.

#### &lsqb;Desktop&rsqb;

Tämä sektio määrittää virtuaalityöpöytien määrän, nimet ja sijainnit. Siinä on seuraavan kaltaisia rivejä:

- NumberOfDesktops=arvo Määrittää virtuaalityöpöytien määrän. Kirjoitushetkellä kwm tukee korkeintaan kahdeksaa työpöytää.

- Desktop&num;&lsqb;C&rsqb;=nimi Määrittää nimi työpöydälle &num;, esimerkiksi: `Desktop1[C]=Yksi` Työpöydät on numeroitu 1-8.

- Desktop&num;Region=geometria Määrittää geometrian työpöydälle &num;; esimerkiksi: `Desktop1Region=101+0+923+722`

#### &lsqb;Decoration&rsqb;

- noDecorationTitles=,

- tinyDecorationTitles=,

- noDecorationClasses=,

- tinyDecorationClasses=,

#### &lsqb;Focus&rsqb;

- noFocusTitles=,

- noFocusClasses=,

Kussakin kohdassa voi olla pilkuilla eroteltu lista säännölliä lausekkeita. Ikkuna, jonka nimi tai luokka sopii säännölliseen lausekkeeseen, koristellaan soveltuvasti. Huomaus: Nämä vihjeet vaikuttavat vain UUSIIN ikkunoihin. Älä unohda kutsua komentoa `kwmcom configure` tai käynnistää `kwm` uudelleen, kun olet muokannut kwmrc-tiedostoa.

## Äänitapahtumat KDE!järjestelmän äänet
KDE!äänitapahtumat

KWM käynnistää joitakin äänitapahtumia, joita voidaan käyttää järjestelmän äänimoduulissa. Tällä hetkellä seuraavat äänitapahtumat ovat käytössä:

- Window Iconify

- Window DeIconify

- Window Maximize

- Window UnMaximize

- Window Sticky

- Window UnSticky

- Window New

- Window Delete

- Window New Trans

- Window Delete Trans

- Window Shade Up

- Window Shade Down

- Logout

- Logout Message

## Usein kysyttäjä kysymyksiä

### Miksi minun pitäisi käyttää kwm:ää?

Vietin useita päiviä opetellen 10 eri ikkunamanagerin konfigurointia. Nyt kun minulla on 678 riviä resurssitiedostoja, jotka tekevät juuri mitä haluan, haluat ottaa ikkunamanagerini pois!

Vastaus: Sinun ei pitäisi, kyseessä on avoin tarjous. KDE tukee kaikkia nykyisiä ikkunamanagereita, mutta saadaksesi täyden hyödyn, on suositeltavaa käyttää kwm:ää. Katso listaa Ominaisuudet Ominaisuudet.

### Miksi en voi määritellä uusia oikopolkuja sovellusten käynnistämiseen?

Vastaus: Koska se ei ole ikkunamanagerin tehtävä. Käytä ohjelmaa `KGlobalShortcut` tähän tarkoitukseen.

### Miksi kwm on niin paljon Windows 95:n näköinen?

Answer: Ups, onko se? Katsotaan.... (Matthias yrittää löytää jonkun jolla on Windows 95, koska hänellä ei ole Windows 95:ttä yhdessäkään koneessaan, hmmm, kenelläkään ei ole Windows 95:ttä täällä. No otetaan vanha Linux levitysversio ja asennetaan fvwm95-2.....) Ei, en voi vahvistaa tuota. KWM näyttää paljon paremmalta ja tarjoaa enemmän ikkunoiden hallinnan toiminnallisuutta.

### Onko toisiin ikkunamanagereihin mahdollista lisätä KDE-laajennoksia?

Vastaus: Kyllä se on. Sinun täytyy vain käydä läpi `kwm.h` ja `kwm.C` paketista `libkdecore` ja laajentaa suosikki-ikkunamanageriasi vastaamaan oikein lähetettyihin viesteihin. On myös mahdollista toteuttaa pyyntöjen käsittelijä x86:n assembler-kielellä. Kyse on vain vaivan tuottamasta tuloksesta.

### Tukeeko kwm varjostettuja ikkunoita OpenStep-tyyliin?

Vastaus: Kyllä

## Epilogi

### Sovelluskehittäjä

`Matthias Ettrich`

### Kirjoittajat

`Matthias Ettrich`

`Stephen Schaub` - Editor

`Kalle Dalheimer` - Editor

`Robert Williams` - Editor

### Kääntäjä

`Raimo Koski`