Scripting
刪除另一個程序的標題欄
我開發了一個帶有 glut 庫的程序,並想刪除它的標題欄。
由於無法從 glut 庫中刪除標題欄,我必須使用外部工具來刪除其標題欄。
關於可以在 Windows 作業系統中操作其他視窗裝飾的事實,我希望找到類似的補救措施來解決這個障礙。
您對如何使用腳本或簡單的 X11 應用程序刪除特定視窗標題欄有任何想法嗎?
控制項
這有點相關,但您可以使用命令更改這個神秘應用程序標題欄中的文本
wmctrl
。例子
假設我執行了應用程序
gvim
。當我列出打開的視窗時,它顯示如下。$ wmctrl -l 0x04402eed -1 grinchy N/A 0x00c00003 -1 grinchy Bottom Expanded Edge Panel 0x00c00028 -1 grinchy Top Expanded Edge Panel 0x0120001e 0 grinchy x-nautilus-desktop 0x02a00004 0 grinchy saml@grinchy:~ 0x06800003 0 grinchy [No Name] - GVIM
所以
gvim
視窗的標題是“$$ No Name $$- GVIM”,我們可以像這樣更改它的名稱,再次使用
wmctrl
:$ wmctrl -r "[No Name] - GVIM" -N "new name"
再次執行
-l
交換機,我們可以看到新名稱:$ wmctrl -l 0x04402eed -1 grinchy N/A 0x00c00003 -1 grinchy Bottom Expanded Edge Panel 0x00c00028 -1 grinchy Top Expanded Edge Panel 0x0120001e 0 grinchy x-nautilus-desktop 0x02a00004 0 grinchy saml@grinchy:~ 0x06800003 0 grinchy new name
所有裝飾品
在這個 AskUbuntu Q&A 中討論了這種方法,標題為:我可以在 gnome 中隱藏 MPlayer 的標題欄嗎?.
有這個Python 的要點 - window-toggle-decorations.py看起來可以做你想做的事情。它可能會根據您的需要進行修改。
window-toggle-decorations.py
#! /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() # now bind this to super-r or something