标签: metacity

在X上运行的Qt5程序可以禁用最小化并关闭吗?

我正在编写在X上运行的C ++ Qt5应用程序。它将在其下运行的窗口管理器是Metacity。我有一些要求,我不确定该如何解决:

  1. 窗口一定不能关闭
  2. 窗口一定不能最小化
  3. 窗口必须始终在最上面

我使用以下方式实现了要求3:

setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
Run Code Online (Sandbox Code Playgroud)

但是,右键单击窗口标题仍会显示一个弹出菜单:

在此处输入图片说明

从此菜单中,用户可以关闭“始终在顶部”设置,并且“最小化”和“关闭”选项仍然可用。我试过了:

setWindowFlags(windowFlags() & ~(Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint));
Run Code Online (Sandbox Code Playgroud)

但是,此功能似乎无法使用此窗口管理器执行我想要的操作,因为没有功能被禁用。

一个后备位置是:

  • 如果应用程序曾经关闭过,则重新启动它(由于其他原因该应用程序已经存在)
  • 如果将窗口最小化,则将其恢复为正常大小

另一个备用位置是:

  • 使用Qt::X11BypassWindowManagerHint它完全避免了窗口管理器,并实现窗口移动和自己莫名其妙大小。

理想情况下,我想继续使用窗口管理器来提供窗口移动和大小功能,但关闭不需要的功能。


(请尽量避免使用诸如“您不应该那样做”或“那是一个愚蠢的主意”之类的评论-是的,我知道,但是此应用程序不是用于一般用途,它仅在专门的环境中使用,并且该主题达到我未写的要求。)

x11 metacity qt qt5

5
推荐指数
1
解决办法
89
查看次数

从Python发现Gnome/Linux/Ubuntu上哪些窗口处于活动状态?

有没有办法获得目前打开的所有窗口的列表,看看哪个窗口在顶部(即活动?)来自Python?

这是在Ubuntu Linux上使用Gnome.

wnck看起来可能会这样做,但它在文档中非常缺乏.

python linux metacity gnome window-managers

4
推荐指数
2
解决办法
3354
查看次数

gnome-shell 3.16窗口标题

在3.16之前,很容易从最大化窗口中删除窗口标题 - 只需编辑metacity-theme.xml文件.但是,3.16正在使用客户端装饰,而metacity无法控制窗口装饰.是否有另一种隐藏窗口标题的方法,或者至少使它们更小?

metacity gnome-shell window-decoration

1
推荐指数
1
解决办法
2485
查看次数