# [X.org+transset] Beim Start alle Fenster transparent machen?

## dma147

Guten Tag alle beisammen...

ich habe schnell und einfach nach ian's Anleitung meinen X.org upgedatet und habe nun sowohl Schatten als auch die echte Transparenz der Fenster (und leider auch der gdesklets und gkrellm, aber das ist Nebensache).

Nun meine Frage...

Um die Fenster transparent zu machen, muss man ja zuerst `xcompmgr -c` starten (dann hat man Schatten) und danach mit `transset [transparenz-faktor]` jedes Fenster einzeln mit der Maus als transparent markieren. Leider finde ich nirgendow auch nur den kleinsten Hinweis darauf, was es noch für Parameter gibt, bzw. was die angegebenen Parameter in `transset --help` bedeuten. Augenscheinlich haben auch sämtliche Parameter keinerlei Wirkung...

Gibt es eine Möglichkeit, gleich beim Start meines wm (FVWM2), alle Fenster (und alle weiteren Fenster, die man noch öffnet) transparent zu machen?

`xcompmgr -c` kann man ja einfach in die jeweiligen Configs des wm eintragen und das klappt auch. Alle Fenster haben Schatten direkt beim start des wm. Aber bei `transset` muss man ja jedes Fenster einzeln anklicken um es dann auch transparent zu bekommen. Gibt es da keine andere/bessere Möglichkeit?

Hier übrigens mal ein Screenshot, wie es mit echter Transparenz aussieht: FVWM2

----------

## ralph

Schau mal ins Desktop Forum, da ist oben ein sticky zum neunen xorg und da hat jemand an transset rumgebastelt, so dass das was du willst möglich ist.

Ausprobiert habe ich es nicht, aber bei anderen scheint es zu klappen.

----------

## _hephaistos_

@ralph: meinst du den 19seitigen thread?

----------

## ralph

Ja, aber keine Angst, ich glaube es ist auf Seite 19 zu finden.

----------

## dma147

ralph danke.

Habe zwar den *kompletten* Thread durchgelesen, aber schlussendlich dann auch gefunden. *g*

Funktioniert so wunderbar.

----------

## Aproxx

Kann man transset vielleicht so einrichten, dass man mit gedrückter WasWeisIchWasTastenkombination und Mausradscrollen die Transparenz des derzeit aktiven Fensters einstellt?

----------

## PuckPoltergeist

 *Aproxx wrote:*   

> Kann man transset vielleicht so einrichten, dass man mit gedrückter WasWeisIchWasTastenkombination und Mausradscrollen die Transparenz des derzeit aktiven Fensters einstellt?

 

Ja

----------

## ian!

 *PuckPoltergeist wrote:*   

>  *Aproxx wrote:*   Kann man transset vielleicht so einrichten, dass man mit gedrückter WasWeisIchWasTastenkombination und Mausradscrollen die Transparenz des derzeit aktiven Fensters einstellt? 
> 
> Ja

 

Ich greiffe die Frage mal vor:

Und wie?

----------

## PuckPoltergeist

Indem man sich am Code vergreift.  :Mr. Green: 

Muß natürlich jeder selber wissen, ob es ihm diesen Aufwand wert ist. Alternativ kann man natürlich auch jemanden suchen, der das programmiert.

----------

## Ragin

Hmm...

Diese Antworten liebe ich. "Klar geht, musst halt umschreiben".

[Ironie]Wenn es danach geht kann ich auch ganz einfach X umschreiben und auf transset usw. verzichten. Sollte auch performanter sein. Naja, vielleicht habe ich nachher dazu noch ne halbe Stunde Zeit...[/Ironie]

----------

## PuckPoltergeist

 *Ragin wrote:*   

> Sollte auch performanter sein.

 

Ist das auch ironisch gemeint? Wenn nicht, erklär mir mal wieso.

Transset kann das Gewünschte wohl nicht von sich aus. Das sollte aber mit etwas Kenntnis in X11-Programmierung relativ leicht nachzurüsten sein.

----------

## neonik

Es gab so ein Tool, das den Namen eines Fensters als Ausgabe übergibt. Da könnte man eventuell ansetzten, dass alle Fenster, die den selben Namen tragen bzw. der selben Klasse angehören, transparent gesetzt werden.

Das Tool heißt xprop. WM_CLASS und WM_NAME wären die zwei wichtigen Anhaltspunkte. Allerdings weiß ich nicht wie das gehen soll. Ich nehme aber an, es gibt ein X-eigenes Programm, das dies möglich macht. So müsste man zumindest nichts umschreiben, wenn man dazu nicht in der Lage ist.

----------

## Ragin

 *PuckPoltergeist wrote:*   

>  *Ragin wrote:*   Sollte auch performanter sein. 
> 
> Ist das auch ironisch gemeint? Wenn nicht, erklär mir mal wieso.

 

Hmm...gute Frage. Ich würde es mal als nicht zwingend Ironisch bezeichnen. Die Transparenz sollte evtl. performanter umzusetzen sein, als sie es bisher ist. Ob das nun über transset oder direkt im X geschieht ist wahrscheinlich egal. Es wird dabei nur darauf ankommen wie man auf die entsprechenden Grafikkarten zugreift und welche Möglichkeiten man demnach ausnutzen kann um das ganze zu rendern.

Generell gehts mir dabei aber eher darum, dass Antworten wie "geh in den Code und machs selbst" in der Regel sinnlos sind. Keiner hat die Zeit sich durch zig MB Code durchzuarbeiten. Und obwohl transset recht klein ist verwendet es wahrscheinlich auch mehr als genug X-Bibliotheken, wodurch man X wieder kennen müsste. Und niemand kennt sich einfach so mal mit xorg aus.

----------

## PuckPoltergeist

 *Ragin wrote:*   

> Hmm...gute Frage. Ich würde es mal als nicht zwingend Ironisch bezeichnen. Die Transparenz sollte evtl. performanter umzusetzen sein, als sie es bisher ist. Ob das nun über transset oder direkt im X geschieht ist wahrscheinlich egal. Es wird dabei nur darauf ankommen wie man auf die entsprechenden Grafikkarten zugreift und welche Möglichkeiten man demnach ausnutzen kann um das ganze zu rendern.

 

AFAIK ist X jetzt schon für die Transparenz zuständig, mit transset wird das nur aktiviert. Ich glaube nicht, daß sich da performancemäßig was verbessern ließe.

 *Quote:*   

> 
> 
> Generell gehts mir dabei aber eher darum, dass Antworten wie "geh in den Code und machs selbst" in der Regel sinnlos sind. Keiner hat die Zeit sich durch zig MB Code durchzuarbeiten. Und obwohl transset recht klein ist verwendet es wahrscheinlich auch mehr als genug X-Bibliotheken, wodurch man X wieder kennen müsste. Und niemand kennt sich einfach so mal mit xorg aus.

 

Ich sagte nicht "geh in den Code und machs selbst", und meinte das auch nicht. Die Aussage war eher, daß es durchaus möglich ist, transset (oder einem anderen Programm) das gewünschte Verhalten beizubringen. Das muß man ja nicht selber machen. Man kann auch jemanden suchen, der dazu schon in der Lage ist und bereit ist, das umzusetzen.

Sicherlich sind Kenntnisse über die X11 notwendig, aber ich glaube nicht, daß es so schwierig ist, transset entsprechend zu erweitern. Anstatt das entsprechende Fenster explizit zu übergeben, wird das genommen, was gerade den Fokus hat.

----------

## Ragin

transset ist aber nur ein Beispiel, wie es über composite gehen könnte und da es funktioniert hat, wurde es freigegeben (zumindest habe ich das in einer Mailingliste gelesen).

Ich habe mir den Code von transset mal angeschaut. Theoretisch wäre es kein Problem alle Fenster transparent zu setzen. Die Methode, die für die Selektion zuständig ist steht in der dsimple.c Datei und ist recht klein.

Leider habe ich keine Ahnung wie man die Fenster dynamisch selektiert ohne die Maus zu verwenden. Da muss halt mal einer ran, der Ahnung von X und Fenstern hat  :Smile: .

Die Performance ist sicher noch arg verbesserungswürdig. Unter Windows ist bei mir Transparenz um einiges schneller. Zwar verwende ich keine komplette Fenstertransparenz, aber auch wenn ich das Menü transparent mache hängt der Computer. Von daher ist das bisher scheinbar nur halbherzig eingebunden oder recht Grafikkartenauslastend programmiert -> kleine Karten können damit nix anfangen und brauchen ewig.

----------

## PuckPoltergeist

 *Ragin wrote:*   

> transset ist aber nur ein Beispiel, wie es über composite gehen könnte und da es funktioniert hat, wurde es freigegeben (zumindest habe ich das in einer Mailingliste gelesen).

 

So habe ich das auch verstanden, daß transset die composite-extension steuert.

 *Quote:*   

> Die Performance ist sicher noch arg verbesserungswürdig.

 

composite ist ja auch noch experimental.  Mit meiner NVidia-Karte hatte ich erstmal keine Performanceprobleme, aber ich hatte es auch nicht sonderlich ausführlich getestet. Da wird in nächster Zeit wohl eh noch ordentlich drann geschraubt.

----------

## Ragin

Ich denke mal bis zur 7er Version wird da nicht viel passieren.

Aber vielleicht wird es dann etwas performanter gemacht, so dass man es auch auf Notebooks oder schwächeren PCs nutzen kann.

----------

