# Hur man arbetar med fönster

## Grundläggande fönsterhantering

Alla program som kör under &kde; har sina egna fönster, och vissa program kan använda mer än ett fönster. Du kan hantera fönstren på många sätt för att få skrivbordet att fungera för dig. Här är ett normalt fönster: Ett normalt fönster

### Byta mellan fönster

Om du vill använda ett fönster måste det vara aktivt. Ett fönster blir automatiskt aktivt när du öppnar det, så att programmet du öppnade omedelbart är klart att använda. Bara ett fönster kan vara aktivt åt gången. Det aktiva fönstret är det du kan skriva i, och det kan skiljas från de övriga eftersom det har en namnlist med annan färg. (Med &kde;:s standardtema, har det aktiva fönstret en `ljusblå` namnlist, och inaktiva fönster har `grå` namnlister.)

När du vill arbeta i ett annat fönster, måste du göra det aktivt. Det finns två sätt att göra det:

- Klicka med vänster musknapp på fönstret som du vill aktivera. Fönstret blir aktivt och höjs ovanför andra fönster om det överlappar dem.

- Håll nere &Alt; och tryck på tabulatortangenten (släpp inte &Alt;-tangenten). En dialogruta visas med en lista över tillgängliga fönster, där ett är markerat. Du kan välja ett annat fönster genom att trycka på tabulatortangenten igen för att gå igenom listan, medan du hela tiden håller nere &Alt;. När du släpper &Alt;-tangenten, blir fönstret som var markerat aktivt.

### Flytta fönster

Det första sättet att organisera fönster på skrivbordet är att flytta omkring dem. Du kan flytta fönster så att de överlappar andra fönster, eller så att du kan se hela fönstret. Det finns tre sätt att flytta ett fönster:

- Klicka med vänster musknapp på fönstrets namnlist och håll nere den. Flytta muspekaren så flyttas fönstret med den. Släpp upp musknappen, så stannar fönstret där du lämnade det.

- Fönstermenyn Fönstermenyn

  Öppna fönstermenyn med knappen längst till vänster i fönstrets namnlist, och välj Flytta. Muspekaren flyttas till mitten av det nuvarande fönstret och genom att flytta omkring musen kan du flytta fönstret. När du väl har flyttat fönstret till platsen du vill ha det, klicka med vänster musknapp för att släppa det.

- Håll nere &Alt; och vänster musknapp när muspekaren är över fönstret som du vill flytta. Muspekaren ändras till en kompass, och genom att flytta musen kan du flytta fönstret. Släpp bara musknappen för att släppa fönstret. Den här metoden är särskilt användbar om fönstrets namnlist har flyttats utanför skärmen så att du inte kan använda de andra metoderna.

### Ändra fönsterstorlek

Du kan göra fönster större eller mindre, bredare eller högre på ett av två sätt. Använd det som du tycker är bekvämast för dig:

- Flytta muspekaren över fönstrets kant (den är ljusblå på skärmbilden ovan). Pekaren ändras till en pil med två huvuden. Klicka och dra, så följer fönstrets kant muspekaren, vilket gör fönstret större eller mindre. Om du klickar på fönstrets över- eller underkant, kan du justera höjden för sig själv. Om du klickar på fönstrets vänster- eller högerkant, kan du justera bredden. För att ändra båda samtidigt, flytta musen över ett av fönstrets hörn. När pekaren blir en diagonal pil med två huvuden, klicka och dra.

- Använd knappen längst till vänster i fönstrets namnlist för att visa fönstermenyn. Välj alternativet Ändra storlek, så blir muspekaren en pil med två huvuden. Flytta omkring muspelaren för att ändra storlek, och klicka på vänster musknapp när du är klar för att släppa fönstret.

- Om du inte kan se fönsterkanten eller fönstermenyns knapp, kan du använda &Alt; och musens högerknapp. Håll nere &Alt; och dra med höger musknapp. Fönstrets storlek ändras. Du släpper bara höger musknapp när du är klar.

Om du bara vill göra ett fönster så stort som möjligt, så att det upptar hela skärmen, använd knappen Maximera
, som är den andra knappen från höger i fönstrets namnlist. Att klicka med vänster musknapp på knappen gör fönstret så stort som möjligt i båda riktningarna, medan att klicka med mittenknappen
eller med högerknappen
bara ökar fönstrets storlek antingen i den vertikala eller horisontella riktningen.

### Dölja fönster

När du behöver behålla programmet öppet, men du inte vill att det ska uppta utrymme på skrivbordet, kan du minimera det eller rulla upp det. För att minimera ett fönster, klicka på knappen Minimera, som är den tredje knappen från höger i fönstrets namnlist. Fönstret visas inte längre, men programmet kör fortfarande, och en post för det visas i panelens aktivitetsfält. För att visa fönstret igen, klicka på posten i aktivitetsfältet. Du kan också använda &Alt;Tabulator
: se switching-between-windows.

Att rulla upp fönster är mycket likt att minimera dem, men den här gången visas bara fönstrets namnlist. För att rulla upp ett fönster, dubbelklicka på namnlisten. För att återställa fönstret, dubbelklicka bara på namnlisten igen.

### Stänga fönster

När du är klar med att använda ett program, vill du avsluta programmet och stänga dess fönster. Återigen kan du välja bland några olika alternativ:

- Klicka på knappen längst till höger i fönstrets namnlist. Om du redigerar ett dokument i programmet, blir du tillfrågad om du vill Spara ändringarna, Kasta dem eller Avbryta kommandot att avsluta programmet.

- Använd alternativet Arkiv Avsluta i menyraden. Du får då samma val att Spara, Kasta eller Avbryta.

- Tryck på &Alt;F4
  . Återigen visas bekräftelsedialogrutan om du redigerade något dokument.

## Avancerad fönsterhantering

kstart

&Richard.J.Moore; &Richard.J.Moore.mail;

### kstart

Det enklaste sättet att komma åt avancerade fönsterhanteringsfunktioner i &kde; är att använda ett ganska okänt verktyg som heter kstart, som ingår i &kde; 2.1 och senare. kstart låter dig styra sättet som ett program samarbetar med fönsterhanteraren. Kommandot används oftast för att ange ett speciellt beteende för ofta använda program, men det kan också vara användbart för att integrera program som inte ingår i &kde; med skrivbordet.

Att använda kstart är enkelt: Du skriver helt enkelt ``kstart`` och några väljare innan ett kommando. För att börja, låt oss ta en titt på hur vi kan använda kstart för att anpassa beteendet hos ett &kcalc;-fönster. Kommandot vi använder är följande:

    % kstart --ontop --alldesktops kcalc

Med lite tur bör effekten som kommandot har vara ganska uppenbart: Räknarens fönster förblir ovanpå alla andra och syns på alla virtuella skrivbord. En funktion som är mindre uppenbar är att kommandot fungerar med alla miljöer som stöder NET, inte bara med &kde;.

Man kan skicka argument till program som startas med kstart, till exempel:

    % kstart
    --skiptaskbar --desktop
    1 xmessage 'Hej, allihop!'

Kommandot visar `Hej, allihop!` med xmessage och försäkrar att fönstret visas på det första virtuella skrivbordet och utelämnas från aktivitetsfältet. Faktumet att programmet är skrivet med Xt-verktygslådan istället för att vara ett riktigt &kde;-program orsakar inga problem för kstart. Förhoppningsvis illustrerar det hur kstart kan användas för att integrera främmande program med &kde;:s skrivbord.

&Richard.J.Moore; &Richard.J.Moore.mail;

### Systembrickan

Nu när vi vet hur ett fönsters dekoration kan anpassas, låt oss ta en titt på en annan av skrivbordets aspekter: systembrickan. Systembrickan är ett område där ett program kan visa ett litet fönster. Det används oftast för att visa statusinformation eller ge snabb åtkomst till kommandon. Ett fönster som har en ikon i systembrickan försvinner oftast från aktivitetsfältet när det minimeras, med ikonen i systembrickan som ersättning. Normalt utvecklas ikoner i systembrickan specifikt som en del av ett program, men som med fönsterdekorationer, tillhandahåller &kde; ett verktyg för att ändra det: ksystraycmd.

Till en början tar vi det vanliga programmet &kcalc; och gör om det till ett program i systembrickan. Det åstadkoms med ett enda enkelt kommando:

    % ksystraycmd --title 'Kcalc' kcalc

Ikonen som visas i systembrickan är den som anges i fönstertipsen och den uppdateras om ikonen ändras. Fönstrets namn visas som ett verktygstips om du håller musen över ikonen. ksystraycmd följer det vanliga beteendet i &kde;, så att fönstret kan visas eller döljas genom att klicka på ikonen i systembrickan, och en vanlig sammanhangsberoende meny är tillgänglig.

&Richard.J.Moore; &Richard.J.Moore.mail;

### Mer komplicerad användning av ksystraycmd

För att illustrera ytterligare funktioner i ksystraycmd, använder vi ett mer komplicerat exempel, ett terminalfönster som följer filen `.xsession-errors` (det är loggfilen som lagrar vad som händer på skrivbordet). Till en början tar vi helt enkelt en titt på hur vi kan visa den:

    % konsole --icon
    log --caption 'X-logg' \
    --nomenubar --notabbar
    --noframe \
    -e tail -f ~/.xsession-errors

Väljarna `--caption` och `--icon` ingår som standard i &kde;-program. Du kan få en fullständig lista över dessa globala väljare genom att köra ett program med väljarna `--help-kde` och `--help-qt`. Här ger vi vårt terminalfönster namnet 'X-logg' och ikonen log. Du kan använda väljarna med vilket &kde;-program som helst, och som nämns ovan, ksystraycmd tar hänsyn till dem när ikonen i systembrickan skapas. Väljaren `-e` är specifik för terminalen och talar om för den att köra kommandot `tail`. Trots dess komplexitet, kan vi enkelt flytta fönstret till systembrickan med ksystraycmd:

    % ksystraycmd
    --hidden --title 'X Log' \
    konsole --icon log --caption 'XLog' \
    --nomenubar --notabbar --noframe \
    -e tail -f .xsession-errors

Förutom att vara det mest komplexa kommandot vi har använt, demonstrerar exemplet väljaren `--hidden` som startar kommandot med bara ikonen i systembrickan synlig. Exemplet uppnår vårt mål att snabbt kunna komma åt loggfilen, men vi kan göra det hela lite mer effektivt om vi bara kör terminalprocessen när den är synlig. Kommandot vi använder är:

    % ksystraycmd --startonshow \
     --icon log --tooltip 'X Log' \
    konsole --icon log --caption 'X Log' \
    --nomenubar --notabbar --noframe \
    -e tail -f ~/.xsession-errors

Tillägget av väljaren `--startonshow` talar om för ksystraycmd att bara starta med ikonen i systembrickan synlig (som väljaren `--hidden`) och att vänta till användaren aktiverar ikonen i systembrickan innan kommandot körs. Vi använder också väljaren `--quitonhide` som talar om för ksystraycmd att avsluta kommandot när dess fönster döljs. Genom att använda båda väljarna försäkrar vi oss om att vår terminalikon i systembrickan inte slösar bort resurser när vi inte använder den. Att skapa och avsluta fönstret som vi gör här, förhindrar att den vanliga hanteringen av ikon och namn fungerar i ksystraycmd, så nu behöver vi också explicit ange den ursprungliga ikonen och verktygstipset.

&Richard.J.Moore; &Richard.J.Moore.mail;

### Förbättra tillförlitligheten

I alla föregående exempel har vi litat på att kstart och ksystraycmd räknar ut vilket fönster vi vill påverka, och om vi inte säger något annat, antar de att det första fönster som dyker upp är det vi vill använda. Denna policy är oftast ok, eftersom vi startar programmet samtidigt, men det kan misslyckas rejält när många fönster dyker upp (som när du loggar in). För att göra kommandona robustare, kan vi använda väljaren `--window`. Den anger fönstrets namn. Följande exempel använder väljaren `--window` för att försäkra oss om att ett visst terminalfönster påverkas:

    % kstart --iconify --window 'kstart_me' konsole
    --caption 'kstart_me' -e tail -f
    ~/.xsession-errors

Här använder vi den beprövade och testade tekniken att ange ett namn för både kstart och programmet. Det är i allmänhet det bästa sättet att använda kstart och ksystraycmd. Väljaren `--window` stöds både av kstart och `ksystraycmd`, och kan vara ett reguljärt uttryck (t.ex. window[0-9]) samt ett visst namn. (Ett reguljärt uttryck är ett kraftfullt verktyg för mönstermatchning som du kommer att se användas på många ställen i &kde;.)

## Använda flera skrivbord

Ibland är en skärmfull helt enkelt inte tillräckligt med utrymme. Om du använder många program samtidigt, och märker att du drunknar i olika fönster, erbjuder virtuella skrivbord oftast lösningen. Normalt har &kde; fyra virtuella skrivbord, där vart och ett är som en separat skärm: du kan öppna fönster, flytta omkring fönster och ange bakgrunder och ikoner på vart och ett av skrivborden. Om du känner till konceptet med virtuella terminaler, kommer du inte att ha några svårigheter med &kde;:s virtuella skrivbord.

### Byta virtuellt skrivbord

För att byta till ett annat virtuellt skrivbord, kan du använda &Ctrl; Tabulator på samma sätt som du skulle använda &Alt;Tabulator för att byta mellan fönster (se switching-between-windows): Håll nere &Ctrl; och tryck därefter på tabulatortangenten. En liten dialogruta dyker upp som visar de virtuella skrivborden, där ett är markerat. Om du släpper &Ctrl;, byter &kde; till skrivbordet som är markerat. För att välja ett annat virtuellt skrivbord, tryck upprepade gånger på tabulatortangenten medan &Ctrl; hålls nere. Markeringen flyttas genom de tillgängliga skrivborden. När skrivbordet du vill byta till är markerat, släpp upp &Ctrl;.

### Fönster och virtuella skrivbord

Du kan flytta omkring fönster mellan virtuella skrivbord med alternativet Till skrivbord i fönstermenyn: välj bara skrivbordet dit du vill flytta fönstret. Du kan få fönstret att visas på alla skrivbord med alternativet Alla skrivbord
.

### Relaterad information