
Estoy ejecutando Ubuntu 16.04. Quiero desdecorar (eliminar los bordes y la barra de título) de una ventana. Encontré scripts antiguos publicados en la red que decían estar funcionando, pero ahora no funcionan.
Para desdecorar:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x0, 0x0, 0x0"
Para redecorar:
xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x1, 0x0, 0x0"
Aunque este script de Python funciona
#! /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()
¿Cómo puedo alternar la decoración de ventanas desde la terminal sin Python?
Respuesta1
¡Esto no funcionará en compiz! Compiz espera que el _MOTIF_WM_HINTS
tipo de propiedad sea _MOTIF_WM_HINTS
, pero xprop
el comando lo establece en CARDINAL
. Si lo usas xprop | grep _MOTIF_WM_HINTS
verás esto:
_MOTIF_WM_HINTS(CARDINAL) = 2, 0, 0, 0, 0
Debería ser así:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 2, 0, 0, 0, 0
Su secuencia de comandos de Python funciona porque GTK+ establece correctamente esta propiedad. :)