web-dev-qa-db-ja.com

xpropはウィンドウの装飾解除に失敗します

Ubuntu 16.04を実行しています。ウィンドウの装飾を解除します(境界線とタイトルバーを削除します)。ネット上に古い投稿スクリプトが動作していると主張しているのを見つけましたが、今は動作しません。

装飾を解除するには:

xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x0, 0x0, 0x0"

再装飾するために:

xprop -f _MOTIF_WM_HINTS 32c -set _MOTIF_WM_HINTS "0x2, 0x0, 0x1, 0x0, 0x0"

このpythonスクリプトは動作しますが

#! /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()

Pythonなしで端末からウィンドウ装飾を切り替えるにはどうすればよいですか?

2
kenn

これはcompizでは機能しません! Compizは、_MOTIF_WM_HINTSプロパティタイプが_MOTIF_WM_HINTSであると想定していますが、xpropコマンドはCARDINALに設定します。 xprop | grep _MOTIF_WM_HINTSを使用すると、次のように表示されます。

_MOTIF_WM_HINTS(CARDINAL)= 2、0、0、0、0

次のようになります。

_MOTIF_WM_HINTS(_MOTIF_WM_HINTS)= 2、0、0、0、0

GTK +がこのプロパティを適切に設定するため、pythonスクリプトが機能します。 :)

3
muktupavels