ich suche einen sehr speziellen Window-Manager. Er soll folgende
Features unterstützen:
- Keine Fensterverzierungen (oder deaktivierbar)
- Keine Bedienbarkeit über Tastatur oder Maus nötig
- Möglichkeit für jede Applikation einen festen Layer zu definieren
-> per Kommandozeile, IPC oder C API festzulegen
- Kompatibel mit xcompmgr oder eigener Composite-Manager
Grund ist das ich einige spezielle Programme im Vollbildmodus starten
möchte. Diese liegen direkt übereinander und sind dank Composite
Extension transparent und erlauben den teilweisen Blick auf die Fenster
darunter.
Aktuell nutze ich einfach keinen Window-Manager in meiner xsession. Das
funktioniert auch ganz gut. Ich muss eben nur aufpassen, dass die
Fenster in der richtigen Reihenfolge erscheinen, da ich das später
nicht mehr ändern kann bzw. will. Genau diese Reihenfolge soll der
Window-Manager für mich regeln. Der Eingabe-Fokus soll frei wählbar
sein. Bei Bedarf auch ein Fenster im Hintergrund. Aktuell ohne
Window-Manager scheint es eine Art "Sloopy Focus" Logik zu sein.
Zusätzlich habe ich aktuell das Problem, dass alle ca. 10 min. der
Bildschirm Schwarz wird. Soweit ich das sehen kann läuft kein
xscreensaver. Muss wohl eine Energiesparfunktion sein. Wie kann man
das deaktivieren ohne in der xorg.conf etwas ändern zu müssen?
Wie kann ich die Maus deaktivieren oder unsichtbar machen? Ein Tool oder
C API wäre perfekt. Am besten auch ohne die xorg.conf ändern zu müssen.
Geringe Speicher- und CPU Anforderungen soll der Window-Manager
natürlich auch haben.
Das sind natürlich eine Menge sehr spezielle Features. Welchen
Window-Manager kann ich da möglichst für meine Zwecke anpassen? Zur Not
auch direkt im Quellcode.
Gruß
Andreas
--
Technical Blog <http://andreasvolz.wordpress.com/>
Vieleicht lässt sich der fvwm mit einer geeigneten Konfiguration dazu
überreden?
> Zusätzlich habe ich aktuell das Problem, dass alle ca. 10 min. der
> Bildschirm Schwarz wird. Soweit ich das sehen kann läuft kein
> xscreensaver. Muss wohl eine Energiesparfunktion sein. Wie kann man
> das deaktivieren ohne in der xorg.conf etwas ändern zu müssen?
$ man xset
xset -dpms
hilft da. Siehe auch manpage.
Programmtechnisch (als Ausgangspunkt für eine Suche in den Manuals):
DPMSDisable(display);
XGetScreenSaver(display,
&dummy,&interval,&prefer_blank,&allow_exp);
XSetScreenSaver(display, 0, interval, prefer_blank,
allow_exp);
XGetScreenSaver(display,
&dummy,&interval,&prefer_blank,&allow_exp);
> Wie kann ich die Maus deaktivieren oder unsichtbar machen? Ein Tool oder
> C API wäre perfekt. Am besten auch ohne die xorg.conf ändern zu müssen.
Hidden = XCreatePixmapCursor(display,cursor,cursor,&fg,&fg,0,0);
XDefineCursor(display,window,Hidden);
erzeugt und installiert einen "leeren" Cursor im Fenster.
Grüße,
Thomas
[...]
Müsste das (meiste) nicht auch ohne Windowmanager gehen? Nur Xorg starten?
--
Andreas
Warum Linux? http://www.getgnulinux.org/ (Englisch)
> Andreas Volz wrote on 06. August 2008:
>>
>> ich suche einen sehr speziellen Window-Manager. Er soll folgende
>> Features unterstützen:
>>
>> - Keine Fensterverzierungen (oder deaktivierbar)
>> - Keine Bedienbarkeit über Tastatur oder Maus nötig
>> - Möglichkeit für jede Applikation einen festen Layer zu definieren
>> -> per Kommandozeile, IPC oder C API festzulegen
>> - Kompatibel mit xcompmgr oder eigener Composite-Manager
>
> [...]
>
> Müsste das (meiste) nicht auch ohne Windowmanager gehen? Nur Xorg starten?
Hättst du mal da, wo [...] steht, weitergelesen...
Stimmt. Nun sehe ich es auch. :-(
> Andreas Volz wrote:
>> Wie kann ich die Maus deaktivieren oder unsichtbar machen? Ein Tool
>> oder C API wäre perfekt. Am besten auch ohne die xorg.conf ändern zu
>> müssen.
>
> Hidden = XCreatePixmapCursor(display,cursor,cursor,&fg,&fg,0,0);
> XDefineCursor(display,window,Hidden);
>
> erzeugt und installiert einen "leeren" Cursor im Fenster.
unclutter wäre u.U. auch eine Option.
$ man unclutter
DESCRIPTION
unclutter removes the cursor image from the screen so that it
does not obstruct the area you are looking at after it has not
moved for a given time. It does not do this if the cursor
is in the root window or a button is down. It tries to ignore
jitter (small movements due to noise) if you have a mouse
that twitches.
Nicht schlecht. Werde ich mal mit der C Lösung verglichen müssen.
> Andreas Volz wrote:
> > Hallo,
> >
> > ich suche einen sehr speziellen Window-Manager. Er soll folgende
> > Features unterstützen:
> >
> > - Keine Fensterverzierungen (oder deaktivierbar)
> > - Keine Bedienbarkeit über Tastatur oder Maus nötig
> > - Möglichkeit für jede Applikation einen festen Layer zu definieren
> > -> per Kommandozeile, IPC oder C API festzulegen
> > - Kompatibel mit xcompmgr oder eigener Composite-Manager
> >
> > Grund ist das ich einige spezielle Programme im Vollbildmodus
> > starten möchte. Diese liegen direkt übereinander und sind dank
> > Composite Extension transparent und erlauben den teilweisen Blick
> > auf die Fenster darunter.
> >
> > Aktuell nutze ich einfach keinen Window-Manager in meiner xsession.
> > Das funktioniert auch ganz gut. Ich muss eben nur aufpassen, dass
> > die Fenster in der richtigen Reihenfolge erscheinen, da ich das
> > später nicht mehr ändern kann bzw. will. Genau diese Reihenfolge
> > soll der Window-Manager für mich regeln. Der Eingabe-Fokus soll
> > frei wählbar sein. Bei Bedarf auch ein Fenster im Hintergrund.
> > Aktuell ohne Window-Manager scheint es eine Art "Sloopy Focus"
> > Logik zu sein.
>
> Vieleicht lässt sich der fvwm mit einer geeigneten Konfiguration dazu
> überreden?
Ich habe mich nach einigem probieren für E17 entschieden. Dort kann man
ein Layout Modul schreiben. Das hat auf Anhieb funktioniert. Ich
bekomme einen Callback vor dem öffnen jedes neuen Fensters und kann die
Position, sowie das Stacking per Hand modifizieren.
Der große Vorteil ist, dass ich mein Verhalten wirklich zu 100%
umsetzen kann.
> > Zusätzlich habe ich aktuell das Problem, dass alle ca. 10 min. der
> > Bildschirm Schwarz wird. Soweit ich das sehen kann läuft kein
> > xscreensaver. Muss wohl eine Energiesparfunktion sein. Wie kann man
> > das deaktivieren ohne in der xorg.conf etwas ändern zu müssen?
>
> $ man xset
>
> xset -dpms
>
> hilft da. Siehe auch manpage.
>
> Programmtechnisch (als Ausgangspunkt für eine Suche in den Manuals):
>
> DPMSDisable(display);
> XGetScreenSaver(display,
> &dummy,&interval,&prefer_blank,&allow_exp);
> XSetScreenSaver(display, 0, interval, prefer_blank,
> allow_exp);
> XGetScreenSaver(display,
> &dummy,&interval,&prefer_blank,&allow_exp);
>
> > Wie kann ich die Maus deaktivieren oder unsichtbar machen? Ein Tool
> > oder C API wäre perfekt. Am besten auch ohne die xorg.conf ändern
> > zu müssen.
>
> Hidden = XCreatePixmapCursor(display,cursor,cursor,&fg,&fg,0,0);
> XDefineCursor(display,window,Hidden);
>
> erzeugt und installiert einen "leeren" Cursor im Fenster.
Werde ich dann mal testen. Da ich jetzt schon E17 nutze, muss ich
schauen ob es in Ecore_X einen wrapper dafür gibt. Vielen Dank für die
Tips.