Python+gtk全屏窗口覆盖(或切换)另一个全屏应用程序

1 投票
1 回答
683 浏览
提问于 2025-04-16 23:20

有没有办法让一个Python的GTK窗口覆盖或者移除已经全屏的另一个窗口?

我的情况是,我有一个应用程序正在全屏模式下运行(比如Firefox),但是当我调用window.fullscreen()时,这个窗口并没有覆盖Firefox窗口,而是被放在了后面。

1 个回答

0

使用 gtk.gdk.Window.set_keep_above 这个方法可以告诉窗口管理器把你的窗口放在其他窗口的上面,并且一直保持在最上面,除非其他窗口也设置了保持在上面。有些用户可能不喜欢这种行为,因为这会让他们很难访问或提升其他窗口。另一种方法是给窗口管理器发送消息,告诉它把你的窗口提升到上面。我认为

import os
...
os.system('wmctrl -a mygtkwindow')

会告诉窗口管理器提升标题中包含“mygtkwindow”的窗口,并让它获得焦点。

一些与窗口管理器控制相关的程序有: dcop [1][2]devilspiewmctrl [1][2][3],以及 xautomation

撰写回答