
Ich verwende Ubuntu 16.04. Ich möchte die Dekoration eines Fensters aufheben (Ränder und Titelleiste entfernen). Ich habe im Internet ein altes gepostetes Skript gefunden, das angeblich funktioniert, aber jetzt nicht mehr funktioniert.
So entfernen Sie die Dekoration:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x0, 0x0, 0x0"
Zum Neudekorieren:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x1, 0x0, 0x0"
Obwohl dieses Python-Skript funktioniert
#! /usr/bin/python2
import gtk.gdk
w = gtk.gdk.window_foreign_new( gtk.gdk.get_default_root_window().property_get("_NET_ACTIVE_WINDOW")[2][0] )
w.set_decorations( (w.get_decorations()+1)%2 ) # toggle between 0 and 1
gtk.gdk.window_process_all_updates()
gtk.gdk.flush()
Wie kann ich die Fensterdekoration vom Terminal aus ohne Python umschalten?
Antwort1
Dies funktioniert in Compiz nicht! Compiz erwartet, dass der _MOTIF_WM_HINTS
Eigenschaftstyp ist _MOTIF_WM_HINTS
, aber xprop
der Befehl setzt ihn auf CARDINAL
. Wenn Sie verwenden, xprop | grep _MOTIF_WM_HINTS
sehen Sie Folgendes:
_MOTIF_WM_HINTS(CARDINAL) = 2, 0, 0, 0, 0
Es sollte so aussehen:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 2, 0, 0, 0, 0
Ihr Python-Skript funktioniert, weil GTK+ diese Eigenschaft richtig einstellt. :)