1

我在yad list上发布了这个,显然启用了隐身功能(甚至没有人看过它!-通常,该列表非常敏感。),所以我想看看你们中是否有人有一些想法。它可能适用于使用任何 gui 弹出实用程序(如 dialog、xdialog 或 zenity)与 KDE 桌面的任何 bash 脚本。

总的来说,我爱亚德。它吹走了禅意,开发人员通常就在那里回答问题并修复/增强事物。

本质上,我有一组脚本,它们使用弹出式 gui 对话框与用户进行交互。

直到您在显示其中一个弹出窗口时在 KDE 桌面上的其他任何位置单击鼠标之前,它都非常有效。

一旦你这样做了,所有后续对话框“出现”在其他所有内容的后面,并且通常除了在任务栏中是不可见的,并且必须从那里手动选择才能再次变得可见/活跃/聚焦。

有没有办法来解决这个问题?我认为这是一个桌面,而不是一个问题。

谢谢,

Joe kubuntu 精确 64 位 (KDE 4.8.5)


我的双面打印系统是用 bash 编写的,它从一个(可能是嵌套的)脚本中多次调用 yad。它工作得很好,但有一个主要问题。

如果用户在脚本运行并使用 yad 显示某些内容时在 yad 对话框之外的任意位置单击鼠标,则所有后续的 yad 对话框都会出现在其他所有内容的后面并且基本上是不可见的。

脚本仍然会出现在任务管理器中,所以这些对话框可以一一拉回前台,但确实很反直觉,很烦人。

我认为这是 KDE 的“功能”,而不是 yad 中的错误。有什么办法可以解决/防止这种情况吗?我尝试将 --on-top 添加到对话框中,但没有帮助。

当我运行脚本时(这可能需要一段时间,或者我可能想在对话框等待输入时做其他事情),我不能做任何其他事情,因为担心会出现这个问题。我可以切换到另一个桌面,但这很狡猾,因为下一个对话框(但只有那个)可能会在那里弹出并把整个事情扔掉。我正在使用来自 kubuntu 精确的 ppa 的最新 yad。

4

2 回答 2

2

窗口的堆叠顺序由 KDE 窗口管理器控制。当 UI 应用程序(如yad)创建一个窗口时,它可能会将首选属性(如“始终在顶部”)传达给 WM。当由于某种原因这不起作用时,您可以尝试调用命令行实用程序,例如wmctrl指示 WM 提升现有窗口:

wmctrl -a "Yad"
于 2014-01-30T15:37:04.100 回答
0

谢谢!我遇到了同样的问题,从 gedit 自定义外部工具(sh 脚本)弹出的 zenity 对话框。添加wmctrl -a "CVS commit"cmd 修复它。

于 2017-01-05T23:52:02.960 回答