我正在使用Cinnamon
桌面环境(在 Debian Sid 上),其窗口管理器没有选项,可以这么说,取消装饰应用程序窗口。
正如我看到的,许多程序设法告诉上面的窗口管理器,它们将自己提供框架和其他东西(例如,谷歌浏览器),我想知道它是否存在,或者可以编写一个像这样调用的包装器
$ noframes mupdf my16:9slides.pdf
启动后,告诉窗口管理器不要担心框架等,启动我的应用程序并重新设置它的父级。
(也许是边际性的)好处是,在我的示例中,窗口纵横比将更近似等于 16:9,并且在使用缩放到 1/4 屏幕功能时,窗口几乎完全适合可用空间。
PS:来自我的.twmrc
NoTitle {"mupdf" ...}
答案1
也许您可以使用以下代码禁用/启用标题栏:
#!/usr/bin/python2
from gtk.gdk import *
w=window_foreign_new((get_default_root_window().property_get("_NET_ACTIVE_WINDOW")[2][0])
if w.get_decorations() == 0 :
w.set_decorations(DECOR_ALL)
else:
w.set_decorations(0)
window_process_all_updates()
它来自这个要点。这是基于这篇关于删除特定 WM 上的装饰。
正如文章中提到的,您可以创建一个快捷方式来删除您感兴趣的窗口的装饰。
在 Cinnamon 键盘快捷键中,将一个序列(我使用Super+U
)绑定到该脚本,前提是它是可执行的并且位于您的PATH
.在活动窗口上,点击序列,它将删除装饰。再敲一下它就会回来。
答案2
我没有安装来测试这一点,但似乎可能有一个“Cinnamon Maximus”扩展,可以从全屏窗口中删除装饰,如果您的应用程序可以全屏显示,尽管有边框。
或者,您可以尝试一些激进的方法,例如设置窗口的 overrideredirect 标志。这要求窗口管理器不管理该窗口。然后将窗口重新设置为根窗口。请注意,您可能无法退出此全屏模式,因此请确保您可以以某种方式退出应用程序。
例如,运行 xlogo,获取根窗口 id,然后使用 xdotool 更改 xlogo 设置:
$ xlogo &
$ xwininfo -root | grep id:
xwininfo: Window id: 0xc1 (the root window) (has no name)
$ xdotool search xlogo set_window --overrideredirect 1 windowreparent 0xc1