<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
 <!ENTITY kappname "kompmgr">
 <!ENTITY package "kwin">
 <!ENTITY % German "INCLUDE">
 <!ENTITY % addindex "IGNORE">
]>

<book lang="&language;">
<bookinfo>
<title
>&kappname; Information</title>

<authorgroup>
<author
><personname
><firstname
>Thomas</firstname
><surname
>Luebking</surname
></personname
> <email
>thomas.luebking@web.de</email
> </author>

<othercredit role="translator"
><firstname
>Thomas</firstname
><surname
>Reitelbach</surname
><affiliation
><address
><email
>tr@erdfunkstelle.de</email
></address
></affiliation
><contrib
>Deutsche Übersetzung</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2005</year>
<holder
>Thomas Luebking</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2005-01-15</date>
<releaseinfo
>2.0.1</releaseinfo>

<abstract>
<para
>&kappname; ist ein Composite-Darstellungsprogramm, welches von &kwin; genutzt wird.</para>
<para
>Dieses Handbuch liefert Ihnen einige allgemeine Erklärungen, was es kann, wie es funktioniert und wo die Einschränkungen liegen. Es geht hier nicht darum, Ihnen zu erklären, wie Sie dies benutzen (da es sowieso vollkommen automatisch im Hintergrund abläuft).</para
> 
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kwin</keyword>
<keyword
>render engine</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title
>Einleitung</title>

<para
>&kappname; basiert auf <application
>xcompmgr</application
>, Keith Packards Referenzimplementierung zur Verwendung der neuen X-Composite-Funktionen</para>

<para
>Ein Composite-Manager fängt die Ausgaben von X-Fenstern ab und rendered sie in ein einzelnes Bild, welches dann auf dem Bildschirm dargestellt wird. Der Vorteil dieser Vorgehensweise ist, dass man beinahe alles mit dem Fensterinhalt anstellen kann, bevor er auf dem Bildschirm dargestellt wird, inkl. Transparenzen und Schatten. Man könnte auch jedes Fenster einfärben oder mit einem Werbebanner versehen, sie kleiner quetschen, unterteilen, Scanlinien hinzufügen oder alles andere vorstellbare.</para>

</chapter>

<chapter id="xorg">
<title
>Xorg</title>

<para
>Sie benötigen zwingend <emphasis
>X.org 6.8 oder neuer</emphasis
>, damit &kappname; funktioniert. X.org 6.7 oder ältere Versionen werden nicht funktionieren.</para>

<sect1 id="xsetup">
<title
>Einrichtung</title>
<para
>Sie müssen die Composite-Erweiterung explizit aktivieren. Fügen Sie Ihrer X.org Einrichtungsdatei den Folgenden Eintrag hinzu:</para>

<programlisting
>Section "Extensions"
    Option "Composite" "Enable"
EndSection
</programlisting>

<para
>Falls dies von Ihrer Hardware unterstützt wird, dann aktivieren Sie die Hardware-Beschleunigung Ihrer Grafikkarte. Dies wird am besten von <trademark
>NVIDIA</trademark
> und etwas weniger gut von ATI-Karten unterstützt.</para>

<programlisting
>Section "Device"
...
...
    Option     "RenderAccel" "true"
...
...
EndSection</programlisting>

<para
>Nun sollte &kappname; verfügbar sein. Weitere Informationen finden Sie in der <link linkend="problems"
>FAQ</link
>.</para>

</sect1>

</chapter>

<chapter id="settings">
<title
>Einstellungen</title>

<para
>Dieser Abschnitt beschreibt die möglichen einstellbaren Parameter, wie sie sich auswirken und wie performant sie sich verhalten.</para>

<sect1 id="translucency">
<title
>Transparenz</title>

<para
>Ein transparentes Objekt lässt Licht durch sich hindurchscheinen. Im Hinblick auf Fenster währe das z. B. die Arbeitsfläche oder darunterliegende Fenster.</para>

<para
>Transparenz ermöglicht es, ein bestimmtes Fenster hervorzuheben, eine 3-Dimensionale der Arbeitsfläche zu sehen, bedeckte Fenster weiterhin beobachten zu können und sieht vor allem gut aus :) Der Preis dafür ist allerdings einiges an Systemleistung.</para>

<para
>Sie können Transparenz für die folgenden Elemente unabhängig voneinander einrichten:</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Aktive Fenster</guilabel
></term>
<listitem
><para
>Es wird empfohlen, Transparenz für aktive Fenster nicht zu benutzen. Der Hauptgrund dafür ist Geschwindigkeit und weil es für Sie wahrscheinlich irritierend ist, den Inhalt eines transparenten Fensters zu erfassen. Dauernd auf ein transparentes Fenster zu blicken, kann sehr ermüdend sein.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Inaktive Fenster</guilabel
></term>
<listitem
><para
>Wenn Sie inaktive Fenster transparent erscheinen lassen, wird das jeweils aktive Fenster hervorgehoben und kann leichter auf dem Bildschirm erfasst werden. Wenn Sie allerdings einen niedrigen Wert wählen, könnten Sie Schwierigkeiten haben, inaktive Fenster aufzufinden. Wenn Sie einen sehr niedrigen Wert wählen (&lt;20&percnt;) könnten Sie sogar die Anordnung von Fenstern verwechseln und versehentlich auf einen <guibutton
>Ok</guibutton
>-Knopf klicken, obwohl Sie nur ein Fenster aktivieren wollten. Optimale Werte liegen meist zwischen 60&percnt; und 80&percnt;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Fenster verschieben</guilabel
></term>
<listitem
><para
>Zwar sieht es wirklich grandios aus, wenn ein Fenster fast vollkommen transparent bewegt wird, jedoch ist der Preis dafür sehr hoch, besonders wenn Sie zusätzlich auch noch Schatten aktiviert haben. Probieren Sie die Einstellung aus und wenn Sie den Eindruck haben, das es zu langsam ist, dann nutzen Sie am besten undurchsichtige Fenster beim Verschieben. Dies gilt übrigens auch für Größenänderungen von Fenstern.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Angedockte Fenster</guilabel
></term>
<listitem
><para
>Da angedockte Fenster normalerweise starr sind und nur selten verschoben werden, hat diese Einstellung kaum Einfluss auf Ihre Systemleistung.</para
>  
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Behandler Fenster, die "im Vordergrund bleiben" als aktiv</guilabel
></term>
<listitem
><para
>Wenn Sie einstellen, dass ein Fenster über den anderen bleibt, dann wollen Sie dieses meist leicht im Auge behalten können. Es kann also durchaus Sinn machen, das Fenster auf diesem Wege hervorzuheben.</para
> 
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>ARGB-Fenster abschalten</guilabel
></term>
<listitem
><para
>XRender unterstützt Fenster mit einer Alpha-Maske, also transparenten Bereichen. Es gibt derzeit keine oder nur wenige Programme, die diese Funktion wirklich nutzen, da sie nur mit einem Composite-Manager Sinn macht. Dies könnte sich in der Zukunft allerdings ändern.</para>
<para
>Auf der anderen Seite setzen die meisten gtk 1.x-Programme (z. B. <application
>xmms</application
>) eine solche Alpha-Maske ein, was wiederum in beinahe unbrauchbaren Fenstern resultiert, wenn der Hintergrund des Programms nicht schwarz ist. Daher können Sie diese ARGB-Fenster auch abschalten. Es wird hoffentlich bald einen Patch für GTK geben, um das Problem zu beheben.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="shadows">
<title
>Schatten</title>
<para
>Warum sollte irgendwer wollen, dass Fenster einen Schatten werfen??? Nun ja, vielleicht, weil es einfach toll aussieht. Oder weil dadurch Fenster besser voneinander unterschieden werden können ... oder vielleicht doch, weil es einfach toll aussieht ;-)</para
> 
<variablelist>
<varlistentry>
<term
><guilabel
>Schatten aktivieren</guilabel
></term>
<listitem
><para
>Das Werfen von Schatten kostet natürlich wieder einiges an Systemleistung. Daher können Sie diese Funktion auch abschalten.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Größe aktives Fenster</guilabel
></term>
<term
><guilabel
>Größe inaktives Fenster</guilabel
></term>
<term
><guilabel
>Größe angedocktes Fenster</guilabel
></term>
<listitem
><para
>Sie können verschiedene Schattenausmaße für verschiedene Fenstertypen einstellen. Die Werte sind nicht absolut, sondern werden auf die jeweilige Bildschirmauflösung angewandt.</para>
<para
>Im Prinzip können Sie jeden gewünschten Wert einstellen (wenn Sie die Einrichtungsdatei mit einem Editor bearbeiten), aber je größer der Schatten wird, desto größer ist auch die Leistungseinbuße.</para
> 
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Vertikaler Versatz</guilabel
></term>
<term
><guilabel
>Horizontaler Versatz</guilabel
></term>
<listitem
><para
>In der Voreinstellung wird ein Schatten <quote
>um das gesamte Fenster</quote
> gezeichnet, so als würde das Licht von der Mitte des Fensters ausgehen. Benutzer, die diese Funktion bereits von &MacOS; kennen, möchten vielleicht lieber einen vertikalen Versatz haben, &Windows;-Benutzer mögen vielleicht lieber einen in Richtung rechts-unten. Experimentieren Sie einfach mit den Werten, bis Sie zufrieden sind.</para
> 
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Farbe für Schatten</guilabel
></term>
<listitem
><para
>Normalerweise erscheint ein Schatten als Ergebnis von fehlendem Licht in Grautönen (die maximale Schattenfarbe ist daher Schwarz). Aber es geht hier ja nunmal um eine virtuelle Welt, also warum sollte man die Schattenfarbe nicht anpassen können?</para
> 
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Schatten beim Verschieben abschalten</guilabel
></term>
<listitem
><para
>Aktivieren Sie diese Einstellung, wenn Sie mehr Leistung beim Verschieben von Fenstern benötigen (besonders, wenn Sie transparente Fenster benutzen).</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Schatten bei Größenänderung abschalten</guilabel
></term>
<listitem
><para
>Es ist klug, diese Einstellung aktiviert zu haben, egal ob Sie transparente Fenster benutzen oder nicht.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="effects">
<title
>Effekte</title>
<variablelist>
<varlistentry>
<term
><guilabel
>Aufblendende Fenster</guilabel
></term>
<term
><guilabel
>Bei Änderungen der Durchsichtigkeit zwischendurch ausblenden</guilabel
></term>
<listitem
><para
>Anstatt ein Fenster einfach anzeigen zu lassen, kann es auch langsam eingeblendet werden. Das sieht wirklich imponierend aus, aber genauso imponierend ist auch der Preis dafür :( </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Einblendegeschwindigkeit</guilabel
></term>
<term
><guilabel
>Ausblendegeschwindigkeit</guilabel
></term>
<listitem
><para
>Es macht Sinn, hier eine möglichst schnelle Einblende- und eine langsame Ausblendegeschwindigkeit zu wählen.</para
> 
</listitem>
</varlistentry>
</variablelist>
</sect1>

</chapter>

<chapter id="problems">
<title
>Probleme</title>

<para
>Die gesamte Composite-Erweiterung ist noch ziemlich neu. Es können durchaus viele Probleme auftreten, möglicherweise sogar X zum Absturz bringen! Daher empfehlen wir <emphasis
>dringend</emphasis
>, die Erweiterung nicht auf kritischen Systemen zu aktivieren. Falls Sie ein möglicherweise leicht instabiles System riskieren können, dann haben Sie hiermit die Möglichkeit, Ihren Arbeitsalltag zu verschönern.</para>

<para
>Sie werden wahrscheinlich das ein oder andere Problem bemerken - und bekommen natürlich auch Lösungen: </para>

<qandaset>
<qandaentry>
<question>
<para
>Ich habe X.org 6.8.x, aber &kappname; startet nicht</para>
</question>
<answer>
<para
>Sie müssen die Composite-Erweiterung explizit einschalten. Fügen Sie einen neuen Abschnitt zu /etc/X11/XorgConfig hinzu:</para>
<programlisting
>Section "Extensions"
   Option "Composite" "Enable"
EndSection</programlisting>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Gut, &kappname; funktioniert nun, ist aber furchtbar langsam</para>
</question>
<answer>
<para
>Falls dies von Ihrer Grafikkarte unterstützt wird, schalten Sie die Hardwarebeschleunigung ein</para>
<programlisting
>Section "Device"
...
...
Option     "RenderAccel" "true"
...
...
EndSection
</programlisting>

<para
>Wenn es immer noch langsam ist, passen Sie die Speicherverwendung an. Reduzieren Sie entweder die Bit-Tiefe (z. B. von 24 auf 16) oder die Auflösung (z. B. von 1280x1024 auf 1024x768).</para
> 

<para
>Beachten Sie bitte, dass der gravierendste Faktor derzeit der CPU-Cache zu sein scheint.</para>

</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Nachdem ich die Composite-Erweiterung aktiviert habe, lassen sich keine <acronym
>GLX</acronym
>-Programme mehr starten. Ich habe eine <trademark
>NVIDIA</trademark
>-Karte</para>
</question>
<answer>
<para
><trademark
>NVIDIA</trademark
> hat einige Probleme aus der Welt geschafft, indem sie die GLX-Unterstützung deaktiviert haben, wenn Composite aktiv ist. Die Reaktivierung ist zwar möglich, verursacht aber möglicherweise Probleme mit einigen Kernel/Treiber/GPU-Kombinationen.</para
> 
<programlisting
>Section "Device"
...
...
Option  "AllowGLXWithComposite" "true"
...
...
EndSection
</programlisting>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Ich wollte ein <acronym
>SDL</acronym
>-Spiel (ohne <acronym
>GL</acronym
>) spielen, z. B. <application
>scummvm</application
>, aber mit aktiviertem compmgr ist nur ein Schatten sichtbar.</para>
</question>
<answer>
<para
>Dies ist ein Problem mit dem PictType der von SDL zurückgegeben wird.</para>

<para
>Lösung:</para>
<screen
>Anstatt <command
>scummvm</command
> direkt aufzurufen, nutzen Sie
<command
>SDL_VIDEO_X11_VISUALID=0x24 scummvm</command
>. Dadurch wird SDL angewiesen, ein unterstütztes Format zurückzuliefern und Sie können wieder wie gewohnt spielen. </screen>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Programm XXX lässt sich nicht mehr starten, seit die Composite-Erweiterung aktiv ist</para>
<para
>Programm YYY lässt X abstürzen, seitdem die Composite-Erweiterung aktiv ist</para>
<para
>Programm ZZZ sieht seltsam aus, seit die Composite-Erweiterung aktiv ist</para>
</question>
<answer>
<para
>Die Composite-Erweiterung ist immer noch sehr experimentell!</para>
<para
>Lösung:</para>
<para
>Probieren Sie dies: <command
>XLIB_SKIP_ARGB_VISUALS=1 programmName</command
></para>
<para
>Programme, die dafür bekannt sind, mit Composite Schwierigkeiten zu haben:</para>
<itemizedlist>
<listitem
><para
>Alle gtk1-Programme (z. B. <application
>gmplayer</application
>, <application
>xmms</application
>, <application
>gaim</application
>). Die Programme starten nicht, sehen sehr seltsam aus oder lassen X abtürzen.</para
></listitem>
<listitem
><para
>&kuickshow; - zeigt nur einen schwarzen Rahmen an</para
></listitem>
<listitem
><para
>&Qt; <application
>Designer</application
> - lässt X abstürzen</para
></listitem>
<listitem
><para
>&kopete; - lässt X abstürzen</para
></listitem>
<listitem
><para
>&kolf; - lässt X abstürzen</para
></listitem>
</itemizedlist>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Ich möchte ein Video ansehen, sehe aber nur Artefakte im Video-Fenster</para>
</question>
<answer>
<para
>Probieren Sie <quote
>xv</quote
> als Video-Backend. Das ist der Überlagernde Modus, in dem das Videobild direkt in den Graphikspeicher der Graphikkarte geschrieben wird.</para>
<para
>Es gibt hoffentlich bald eine Lösung für dieses Problem. Die besten Ergebnisse habe ich bisher mit <application
>Xine</application
> gemacht. Aber Videos in einem transparenten Fenstern anzusehen ist wirklich sehr langsam.</para>
</answer>
</qandaentry>

</qandaset>
</chapter>

<chapter id="credits-and-licenses">
<title
>Dank und Lizenz</title>

<sect1 id="authors">
<title
>Autoren</title>
<para
>Thomas Luebking <email
>baghira-style@gmx.net</email
> - Editor</para>
&underFDL; &underGPL; </sect1>


</chapter>

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

