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()

Как я могу переключить оформление окна с терминала без питона?

1 ответ

Решение

Это не будет работать в 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

Ваш скрипт на python работает, потому что GTK+ правильно устанавливает это свойство.:)

Другие вопросы по тегам