Wie kann ich Ausnahmen für die Fensterdekoration auf compiz anwenden?

12

In früheren Versionen habe ich die Compiz-Plugins "Fensterdekoration" und "Fensterregeln" verwendet, um ein transparentes, klebriges, unbewegliches Gnom-Terminal als Hintergrundbild zu verwenden. Der Trick bestand darin, ein Profil mit einem permanenten Titel (transparent) zu erstellen und dann den Filter title=transparentund !title=transparentdie verschiedenen Plugin-Regeln zu verwenden.

Das Ergebnis sah so aus:

Bildbeschreibung hier eingeben

Nach dem Upgrade ist mir aufgefallen, dass die Fensterdekorationsregel nicht mehr gilt. Anscheinend werden Fensterdekorationen jetzt vom Unity-Plugin und nicht mehr vom gtk-window-decorator verwaltet, was meiner Meinung nach notwendig war, um die lokal integrierten Menüs zu erstellen. Nun sieht das Terminal so aus:

Bildbeschreibung hier eingeben

Wenn ich versuche, das Plugin "Fensterdekoration" zu erzwingen, werde ich aufgefordert, das Unity-Plugin zu deaktivieren, und dann stürzt der gesamte Desktop ab. Meine Frage ist also, ob es eine Problemumgehung gibt, um compiz zu zwingen, keine Dekorationen für dieses bestimmte Fenster zu verwenden. Möglicherweise mit einer Art Parameter beim Starten des Terminals.

animaletdesequia
quelle

Antworten:

14

Ein alter Schatz, der immer noch mit Fensterdekorationen umgeht, ist Devilspie

Bildbeschreibung hier eingeben

wie man

Installieren Sie devilspie:

sudo apt-get install devilspie

Dann erstelle einen neuen Ordner in deinem Home-Ordner:

mkdir ~/.devilspie

Erstellen Sie eine neue Datei in diesem Ordner mit dem Namen terminal.dsund fügen Sie Folgendes ein:

(if
    (is (application_name) "Terminal")
    (begin
       (undecorate)
       (geometry "1024x300+4+450")
    ) )

Das Wichtigste dabei ist (undecorate), die Fensterdekoration für die Terminalanwendung zu entfernen.

(geometry) wird verwendet, um den Ort und die Größe der Anwendung zu steuern, in diesem Fall 1024 in der Länge, 300 Pixel hoch und an der Position 4 x 450 platziert

Bearbeiten Sie beim Testen die Datei und führen Sie sie aus devilspie, um die vorgenommenen Änderungen anzuzeigen.

Wenn Sie zufrieden sind, stellen Sie es einfach nohup devilspie &als Startanwendung zur Verfügung, um es bei der Anmeldung auszuführen.

Offensichtlich verlieren Sie die Titelleiste, wenn Sie lokal integrierte Menüs verwenden möchten. Wenn Sie sich an globale Menüs halten, funktioniert dies sehr gut.

Weitere Informationen zu devilspie finden Sie hier .

schließlich

Vergessen Sie nicht, dass Sie das Terminalfenster immer noch auf dem Bildschirm bewegen können. Verwenden Sie einfach die Tastenkombination Alt+ F7, um die Funktion zum Verschieben des Fensters zu aktivieren, und ziehen Sie den Mauszeiger, um das Terminal zu positionieren.


Nur für den Fall, dass Sie die Option noch nicht kennen: Um die Transparenz des Terminals einzustellen, verwenden edit - profile preferencesSie die Option Transparenter Hintergrund und wählen Sie sie aus

Bildbeschreibung hier eingeben

fossfreedom
quelle
Einfach großartig :-)
Avinash Raj
Groß! Ich habe etwas über Devilspie gefunden, aber keine Ahnung, wie ich es verwenden soll, danke!
animaletdesequia
Für den Fall, dass jemand dies auf die gleiche Weise benutzte wie ich, habe ich Ihre Konfiguration ein wenig geändert, sodass dies nur für ein terminalspezifisches Profil gilt und nicht für alle Terminals. Das Ergebnis sieht folgendermaßen aus: (if (is (window_name) "transparent") (begin (
undecorate
Glauben Sie, dass dies dazu beitragen könnte, die Fenster von root zu unterscheiden? askubuntu.com/questions/486476/…
Aquarius Power
Ich denke, es gibt ein Plugin in compiz, das das "root" -Wort in den Fenstertitel einfügt, wenn eine Anwendung mit Privilegien ausgeführt wird. Sie könnten das versuchen und es mit devilspie kombinieren.
animaletdesequia