Ist realer Transparenzeffekt im gnome-terminal möglich?

cabriofahrer

Well-Known Member
Wie Ihr vielleicht wißt, kann man für den gnome-terminal einen falschen Transparenzeffekt erzeugen: Es wird dann wohl ein screenshot vom Hintergrundbid gemacht und dann angezeigt, jedoch nur vom Hintergrundbild, aber nicht von anderen Fenstern oder Objekten, die sich gerade unter dem Terminal befinden.
Gibt es da einen Trick, letzteres doch zu erreichen?
 
klar! ganz einfach:
Code:
% vi gnome-terminal.c
dann nur die richtigen zeilen finden, editieren, compilieren, und gut ist ;-)

afaik kann aber die neueste version von x "echtes" alpha-blending... und damit auch das standard xterm....
gucks dir mal an... mir persoenlich gefaellt pseudo-transparenz aber!
 
Die gute Nachricht ist: es geht. Die und die schlechte: mehr schlecht als recht.

Zumindest bei mir (Dell Inspiron 8200 mit ner Radeon 9000 mobility und FreeBSD 5.4-RELEASE-p1 drauf) ist an produktives Arbeiten nicht mehr zu denken. Mit nVidia Karten läufts angeblich besser. Also viel Glück and alle die's versuchen wollen.

° Zu aller erst muss Xorg mit "Composite Extensions" kompiliert werden.

° Dann muss man in Xorg.conf eine neue Section "Extensions" einfügen:
Code:
Section "Extensions"

   Option "Composite" "Enable"

EndSection

in der "Device Section" für ATI:
Code:
Option      "backingstore" "true"
, oderfür nVidia:
Code:
Option      "RenderAccel" "true"
hinzufügen.

° Als nächstes braucht man einen Composite Manager. Soweit ich weiss ist Xfce4 derzeit der einzige Windowmanager, der einen eigenen Composite Manager benutzt. Alle anderen können xcompmgr von freedesktop.org verwenden. Xcompmgr ist in den Ports (/usr/ports/x11-wm/xcompmgr).

° Als letztes braucht man noch transset. Ein tool um die Transparenz eines Fensters zu setzten. Einfach transset in die Konsole eingeben und auf das Fenster klicken, das transparent werden soll. Transset gibts ebenfalls bei freedesktop.org (http://www.freedesktop.org/Software/xapps), da es aber nicht in den Ports ist, muss man es von Hand downloaden und kompilieren.

Fertig! Jetzt kann man gnome starten. Anschliessend xcompmgr starten (das könnte man wohl auch automatisch erledigen). Jetzt "transset 0.5" in eine Konsole eingeben und auf das Fenster klicken dessen Transparenz auf 50% gesetzt werden soll. Wenn alles funktioniert sollte das ungefähr so aussehen:
 

Anhänge

  • Screenshot.webp
    Screenshot.webp
    107 KB · Aufrufe: 357
Nochwas,

es kann sein, dass die glx nicht mehr läuft wenn composite enabled ist. In dem Fall muss man
Code:
Option "AllowGLXWithComposite" "true"
ebenfalls in der Section "Device" in xorg.conf hinzufügen.
 
dettus schrieb:
klar! ganz einfach:
Code:
% vi gnome-terminal.c
dann nur die richtigen zeilen finden, editieren, compilieren, und gut ist ;-)

afaik kann aber die neueste version von x "echtes" alpha-blending... und damit auch das standard xterm....
gucks dir mal an... mir persoenlich gefaellt pseudo-transparenz aber!


Äh, Entschuldigung, aber damit kann ich leider gar nichts anfangen. Eine Datei mit dem Namen gnome-terminal.c, die ich editieren soll, gibt es gar nicht. Also welche Datei müßte ich genau editieren und bitte was genau?

Die anderen Sachen mit xcompmgr habe ich schon mal ausprobiert, doch damit bekomme ich sofort einen Freeze. Ich habe gehört, das soll erst im Zusammenhang mit Nvidia-Karten der FX-Generation gehen, ist das richtig? Ich habe auf meinem FreeBSD-Rechner leider nur eine Geforce3 Ti200.
 
cabriofahrer schrieb:
Die anderen Sachen mit xcompmgr habe ich schon mal ausprobiert, doch damit bekomme ich sofort einen Freeze. Ich habe gehört, das soll erst im Zusammenhang mit Nvidia-Karten der FX-Generation gehen, ist das richtig? Ich habe auf meinem FreeBSD-Rechner leider nur eine Geforce3 Ti200.
Also bei mir (Geforce 2 Pro, Noname) funktionierts. Daß dafür der Binärtreiber von Nvidia notwendig ist versteht sich von selbst. KDE hat wohl seit irgend einer jüngeren Version den kcompmgr dabei, der da in die Fensterkonfigurationen eingebunden ist.
 
.mp schrieb:
Also bei mir (Geforce 2 Pro, Noname) funktionierts. Daß dafür der Binärtreiber von Nvidia notwendig ist versteht sich von selbst. KDE hat wohl seit irgend einer jüngeren Version den kcompmgr dabei, der da in die Fensterkonfigurationen eingebunden ist.


Klar versteht sich das von selbst, deswegen hatte ich das auch nicht erwähnt. Und KDE ist mir, als ich die Effekte im Kontrollcenter eingestellt hatte, schon beim nächsten Booten abgeschmiert. Ein Kumpel von mir hat xcompmgr auf seinem Notebook mit einer GeforceGo ausprobiert, und es kam auch zum Absturz.
Vielleicht spielen noch andere Faktoren eine Rolle?
Was für einen Chipsatz/Mainboard hast Du?
 
Uraltes Zeug, Via Chipsatz glaub ich, Mainboard von Abit oder so. Ich kann mich garnicht mehr richtig erinnern so alt is das Zeug.

Also wenn auch der kcompmgr abschmiert würde ich sagen du hast irgendwas falsch eingestellt oder defekte Hardware. An compmgr und FreeBSD wirds sicher nicht liegen (und auch nicht an der "Aussergewöhnlichkeit deiner Grafikkarte).
 
Also die Composite Extension die es seit X.org 6.8.x gibt ist nur nen test laut xorg.
Und GLX mit composite geht zwar, aber bringt übele grafik fehler.

Ich habs mit meiner damaligen GF4 Ti 4200 und P4 3 GHz, 1024 MB DDR 400 nicht flüssig bekommen, hat sich tot geruckelt.

Mit meiner GF 6800 und nv binary treiber läufts bestens aber ist produktiv auch nicht gut, da alles dadurch langsamer wird und Videowiedergabe auch fehler dann bringt.

Leute wartet lieber noch bissel, da xorg an einer neuen version bastelt die komplett das Rendern OpenGL überlässt, dat haben die ja am Linuxtag mit rumgespielt. (5-10 Videos am laufen flüssig über OGL mit Transparenz)

Problem was die halt hatten das andere GLX anwendungen dann abschmieren oder nicht richtig laufen. Da muss das zusammenspiel perfect harmonieren.

Wenn das aber mal richtig funzt, dann habt ihr Transparenz for free weil:
Transparenz in GL ist nen beherztes "glBlendFunc" und "glColor4f" :P und ist dann nur Limitiert von der Fillrate von eurer Graka.

Ab ner GF3 könnt ihr locker mal 100-200 Quads Blenden ohne das die FPS gross einbricht.
Schatten dürfte auch kack einfach sein, einfach die Texture für das jeweilige Fenster deim erstellen dem Alphachannel einfach nen feinen rand um die ecken machen und via "glAlphaFunc" aktivieren. Schon habt ihr euren schatten for free :)

Nur mal aus der sicht von einem begeistertem OGL developer ;)

Achja, falls die dann mal auf die Idee nen extra feature einzubauen um Fragment/Pixel Shader zu nutzen dann wirds richtig geil ;)
 
Finalspace schrieb:
Leute wartet lieber noch bissel, da xorg an einer neuen version bastelt die komplett das Rendern OpenGL überlässt, dat haben die ja am Linuxtag mit rumgespielt. (5-10 Videos am laufen flüssig über OGL mit Transparenz)

Problem was die halt hatten das andere GLX anwendungen dann abschmieren oder nicht richtig laufen. Da muss das zusammenspiel perfect harmonieren.

Wenn das aber mal richtig funzt, dann habt ihr Transparenz for free weil:
Transparenz in GL ist nen beherztes "glBlendFunc" und "glColor4f" :P und ist dann nur Limitiert von der Fillrate von eurer Graka.

Ab ner GF3 könnt ihr locker mal 100-200 Quads Blenden ohne das die FPS gross einbricht.
Schatten dürfte auch kack einfach sein, einfach die Texture für das jeweilige Fenster deim erstellen dem Alphachannel einfach nen feinen rand um die ecken machen und via "glAlphaFunc" aktivieren. Schon habt ihr euren schatten for free :)

Nur mal aus der sicht von einem begeistertem OGL developer ;)

Achja, falls die dann mal auf die Idee nen extra feature einzubauen um Fragment/Pixel Shader zu nutzen dann wirds richtig geil ;)


Ja, so etwas dachte ich mir auch.

Wie lange soll das ofiziell noch dauern, bis die Sache ausgereift ist?
Und gnome 2.12 soll dann eine sog. "Cairo-Engine" mitbringen, bei der dann alles über 3D geht, richtig?
Und was mir an Fehlern z.B. noch aufgefallen war, ist daß bei eingestelltem Composite die theme-prewiew-icons im gnome Theme-Manager
nicht mehr angezeigt wurden.
 
@cabriofahrer:
Also das ist so. Dettus denkt er sei leet und du seist lame und deshalb hat er als ultracooler hacker darauf verwiesen, du sollst doch den Quelltext vom gnome-terminal editieren, da die Unterstützung von Transparenz reinprogrammieren und das dann compilieren. Einfach ignorieren.
@Dettus:
Selbst bei den BSDs gibt es Anwender, die nicht programmieren können. Spätestens bei der dritten veralbernden Antwort könnte man die Leute aber mal aufklären :D

Nichts für ungut.

Gruß,
K
 
Mac OS-X ist imho schrott geworden, ich sehs auf vielen laps von kollegn.
Langsamer und unstabiler mit jedem updaten :(

Und wie lange das noch dauert bis das neue xorg kommt konnten mir die xorg menschen nicht direkt sagen.
Nur das mit frühstens 1-2 jahren damit rechnen kann.
 
1. ist die mit der Composite-Erweiterung generierte Transparenz keine echte, es wird nur aufwendiger "getrickst", 2. sind die Grafikfehler abartig (bei runden Fensterdekorationen usw...) 3. ist das Ganze mMn nur sinnfreie Spielerei die man sich vielleicht mal kurz anschaut, aber dann der Stabilität des Systems wegen wieder rausnimmt. Genau der selbe Mist, wenn die Leute Framebuffer auf ihren Linux-Rechnern aktivieren nur damit man beim starten eine höhere Auflösung und ein Hintergrundbild hat. Ich fand das ganze zu Beginn auch witzig, als mir aufgefallen ist wie sehr das auf die Stabilität des Rechners geht war der Mist Ruck-Zuck wieder weg. ;)
 
Zurück
Oben