
我運行的是 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 的情況下從終端切換視窗裝飾?
答案1
這在 compiz 中不起作用! Compiz 期望_MOTIF_WM_HINTS
屬性類型為_MOTIF_WM_HINTS
,但xprop
命令將其設定為CARDINAL
。如果你使用xprop | grep _MOTIF_WM_HINTS
你會看到這個:
_MOTIF_WM_HINTS(基本) = 2, 0, 0, 0, 0
應該是這樣的:
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 2, 0, 0, 0, 0
你的 python 腳本可以工作,因為 GTK+ 正確設定了這個屬性。 :)