2017-06-16 43 views
1

有沒有什麼辦法可以檢測(在標準,非hackish的方式),我有一個GtkHeaderBar Gnome的應用程序是否在窗口管理器,提供了自己的窗口裝飾(例如,XFWM下運行),以便在不需要時可以將gtk_header_bar_set_show_close_button設置爲FALSE?GTK3:禁用額外窗口按鈕

UPD:爲了更清楚,我想隱藏GTK標題按鈕,而不是WM的。

回答

0

的客戶端裝飾的支持應該來自一個窗口管理器本身或信息來自環境的缺乏。 XFWM在4.12版本中增加了對它們的支持。

哇哦,很多提交,這樣的功能!您可以閱讀4.11.3 announcement here

  • 客戶端裝飾(CSD)支持! (需要啓用合成器)。與不上xfwm4

來源的gedit(即 需要CSD的應用程序)CSD截圖:https://blog.alteroot.org/articles/2015-02-19/new-from-xfce-part-3.html

A screenshot with and without on gedit (an application that need CSD)

此外,GTK Headerbar應該尊重GTK_CSD $環境變量的內容如果設置爲0,則不顯示關閉按鈕(請注意,如果支持CSD,則不能設置此變量)。在Ubuntu中可以看到。

Ubuntu Unity effect of chaning $GTK_CSD

這意味着它是應該被覆蓋了你,但你也可以嘗試檢查的$ XDG_CURRENT_DESKTOP內容或更哈克的方式擴展到更多的WMS和舊系統的支持讀了起來:more in this stack overflow question

+0

嗯,我想我會做到這一點的方式hackish的。 – NK22

+0

@ NK22沒有文件記錄的方式。有一些關於它的問題,但從錯誤跟蹤器顯示該補丁被拒絕。也許你可以得到更多關於如何檢測這個問題的信息:https://bugzilla.gnome.org/show_bug.cgi?id=729721 https://bugzilla.gnome.org/show_bug.cgi?id=729769 – morningbird