
Estou executando o Ubuntu 16.04. Quero remover a decoração (remover bordas e barra de título) de uma janela. Encontrei um script antigo postado na rede que dizia estar funcionando, mas não funciona agora.
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"
Embora este script python funcione
#! /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()
Como posso alternar a decoração da janela do terminal sem python?
Responder1
Isso não funcionará no Compiz! O Compiz espera que o _MOTIF_WM_HINTS
tipo de propriedade seja _MOTIF_WM_HINTS
, mas xprop
o comando o define como CARDINAL
. Se você usar xprop | grep _MOTIF_WM_HINTS
você verá isso:
_MOTIF_WM_HINTS(CARDINAL) = 2, 0, 0, 0, 0
Deveria ser assim:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 2, 0, 0, 0, 0
Seu script python funciona, porque GTK+ define essa propriedade corretamente. :)