<para>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: <screenshot> <mediaobject>
<para>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 <replaceable>ljusblå</replaceable> namnlist, och inaktiva fönster har <replaceable>grå</replaceable> namnlister.)</para>
<indexterm><primary>Höja fönster</primary></indexterm> 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: <itemizedlist>
action="simul">&Alt;<keycap>Tabulator</keycap></keycombo></primary></indexterm> 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.</para>
<para>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: <itemizedlist>
<para>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.</para>
<para>Öppna fönstermenyn med knappen längst till vänster i fönstrets namnlist (som visas nedan), och välj <guimenuitem>Flytta</guimenuitem>. 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.</para>
<para>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.</para>
<para>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.</para>
<para>Använd knappen längst till vänster i fönstrets namnlist för att visa fönstermenyn. Välj alternativet <guimenuitem>Ändra storlek</guimenuitem>, 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.</para>
<para>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. </para>
<para>Om du bara vill göra ett fönster så stort som möjligt, så att det upptar hela skärmen, använd knappen <guibutton>Maximera<indexterm><primary>Maximera fönster</primary></indexterm></guibutton>, 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<indexterm><primary>Maximera fönster</primary><secondary>Vertikalt</secondary></indexterm> eller med högerknappen<indexterm><primary>Maximera fönster</primary><secondary>Horisontellt</secondary></indexterm> bara ökar fönstrets storlek antingen i den vertikala eller horisontella riktningen.</para>
<indexterm><primary>Minimera</primary></indexterm> 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 <guibutton>Minimera</guibutton>, 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 <keycombo action="simul">&Alt;<keycap>Tabulator</keycap></keycombo><indexterm><primary><keycombo action="simul">&Alt;<keycap>Tabulator</keycap></keycombo></primary></indexterm>: se <xref linkend="switching-between-windows"/>.</para>
<indexterm><primary>Rulla upp</primary></indexterm> 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.</para>
<para>Ibland kanske du har en hel mängd fönster öppna, och på alla möjliga ställen. Genom att lägga fönster i rad, radar &kde; automatiskt upp dem som en följd från övre vänstra hörnet på skärmen. För att använda alternativet, klicka med musens mittenknapp på skrivbordet, och välj därefter <guimenuitem>Lägg fönstren i rad</guimenuitem>.</para>
<para>Genom att välja att ordna dina öppna fönster, försöker &kde; använda maximalt tillgängligt utrymme på skrivbordet för att visa så mycket som möjligt av varje fönster. Om du till exempel skulle ha fyra fönster öppna och du begär att de ska ordnas placeras de vart och ett i ett hörn av skrivbordet, oberoende av var de ursprungligen befann sig. För att använda alternativet, klicka återigen med musens mittenknapp på skrivbordet, och välj därefter <guimenuitem>Ordna fönstren</guimenuitem>.</para>
<para>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: <itemizedlist>
<para>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 <guibutton>Spara</guibutton> ändringarna, <guibutton>Kasta</guibutton> dem eller <guibutton>Avbryta</guibutton> kommandot att avsluta programmet.</para>
<para>Använd alternativet <menuchoice><guimenu>Arkiv</guimenu> <guimenuitem>Avsluta</guimenuitem></menuchoice> i menyraden. Du får då samma val att <guibutton>Spara</guibutton>, <guibutton>Kasta</guibutton> eller <guibutton>Avbryta</guibutton>.</para>
<para><mousebutton>Höger</mousebutton>klicka på respektive fönster i &kicker;, &kde;:s panel, och välj <guimenuitem>Stäng</guimenuitem>. Du blir tillfrågad med ett alternativ att spara eventuella dokument som redigerades.</para>
<para>Tryck på <keycombo action="simul">&Alt;<keycap>F4</keycap></keycombo><indexterm><primary><keycombo action="simul">&Alt;<keycap>F4</keycap></keycombo></primary></indexterm>. Återigen visas bekräftelsedialogrutan om du redigerade något dokument.</para>
<para>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.</para>
<para>Att använda &kstart; är enkelt: Du skriver helt enkelt <userinput><command>kstart</command></userinput> 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: <screen><prompt>%</prompt> <userinput><command>kstart</command> <option>--ontop</option> <option>--alldesktops</option> <option>kcalc</option></userinput></screen>
<para>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;.</para>
<para>Man kan skicka argument till program som startas med &kstart;, till exempel: <screen><prompt>%</prompt> <userinput><command>kstart</command>
<para>Kommandot visar <computeroutput>Hej, allihop!</computeroutput> med <application>xmessage</application> 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.</para>
<para>Även om du kan använda &kstart; för att tilldela särskilda fönsterinställningar, låter &kde; dig också ändra dem, och liknande inställningar, från själva programfönstret. Klicka helt enkelt på knappen längst till vänster i fönstrets namnlist (eller tryck på <keycombo action="simul">&Alt; <keycap>F3</keycap></keycombo> när fönstret har fokus), och gå till <menuchoice><guisubmenu>Avancerat</guisubmenu> <guimenuitem>Särskilda fönsterregler...</guimenuitem></menuchoice>. Som du kan se, kan du ändra diverse saker, från dess geometri vid start, till om det ska ha en kant eller inte.</para>
<para>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: <application>ksystraycmd</application>.</para>
<para>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: <screen><prompt>%</prompt> <userinput><command>ksystraycmd</command> <option>--title</option> 'Kcalc' kcalc</userinput></screen>
<para>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. <application>ksystraycmd</application> 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. </para>
<title>Mer komplicerad användning av <application>ksystraycmd</application></title>
<para>För att illustrera ytterligare funktioner i <application>ksystraycmd</application>, använder vi ett mer komplicerat exempel, ett terminalfönster som följer filen <filename>.xsession-errors</filename> (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: <screen><prompt>%</prompt> <userinput><command>konsole</command> <option>--icon</option>
<para>Väljarna <option>--caption</option> och <option>--icon</option> 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 <option>--help-kde</option> och <option>--help-qt</option>. Här ger vi vårt terminalfönster namnet 'X-logg' och ikonen <quote>log</quote>. Du kan använda väljarna med vilket &kde;-program som helst, och som nämns ovan, <application>ksystraycmd</application> tar hänsyn till dem när ikonen i systembrickan skapas. Väljaren <option>-e</option> är specifik för terminalen och talar om för den att köra kommandot <command>tail</command>. Trots dess komplexitet, kan vi enkelt flytta fönstret till systembrickan med <application>ksystraycmd</application>: <screen><prompt>%</prompt> <userinput><command>ksystraycmd</command>
<para>Förutom att vara det mest komplexa kommandot vi har använt, demonstrerar exemplet väljaren <option>--hidden</option> 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: <screen><prompt>%</prompt> <userinput><command>ksystraycmd</command> <option>--startonshow</option> \
<para>Tillägget av väljaren <option>--startonshow</option> talar om för <application>ksystraycmd</application> att bara starta med ikonen i systembrickan synlig (som väljaren <option>--hidden</option>) och att vänta till användaren aktiverar ikonen i systembrickan innan kommandot körs. Vi använder också väljaren <option>--quitonhide</option> som talar om för <application>ksystraycmd</application> 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 <application>ksystraycmd</application>, så nu behöver vi också explicit ange den ursprungliga ikonen och verktygstipset.</para>
<para>I alla föregående exempel har vi litat på att &kstart; och <application>ksystraycmd</application> 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 <option>--window</option>. Den anger fönstrets namn. Följande exempel använder väljaren <option>--window</option> för att försäkra oss om att ett visst terminalfönster påverkas: <screen><prompt>%</prompt> <userinput><command>kstart</command> <option>--iconify</option> <option>--window</option> 'kstart_me' konsole
<para>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 <application>ksystraycmd</application>. Väljaren <option>--window</option> stöds både av &kstart; och <option>ksystraycmd</option>, och kan vara ett reguljärt uttryck (t.ex. <quote>window[0-9]</quote>) samt ett visst namn. (Ett reguljärt uttryck är ett kraftfullt verktyg för mönstermatchning som du kommer att se använt på många ställen i &kde;.) </para>
<para>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.</para>
<para>För att byta till ett annat virtuellt skrivbord, kan du använda <keycombo action="simul">&Ctrl; <keysym>Tabulator</keysym></keycombo> på samma sätt som du skulle använda <keycombo action="simul">&Alt;<keysym>Tabulator</keysym></keycombo> för att byta mellan fönster (se <xref linkend="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;.</para>
<para>Du kan flytta omkring fönster mellan virtuella skrivbord med alternativet <guisubmenu>Till skrivbord</guisubmenu> 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 <guimenuitem>Alla skrivbord</guimenuitem><indexterm><primary>Klistriga fönster</primary></indexterm>.</para>