【问题标题】:Using the vala programming language, can you detect when other applications are full screen or maximized, and suspend their own programs?使用 vala 编程语言,你能检测到其他应用程序何时全屏或最大化,并暂停自己的程序吗?
【发布时间】:2020-06-01 10:17:45
【问题描述】:

使用 vala 编程语言,您是否可以检测其他应用程序何时全屏或最大化,并暂停自己的程序? 有没有类似的Demo?

【问题讨论】:

    标签: gtk gnome vala


    【解决方案1】:

    这只能通过询问窗口管理器/合成器来完成,因为它是实际处理这类事情的组件。并且取决于会话类型,这将或不会起作用。

    • 在 Wayland 中,出于安全原因,无法查询其他窗口的信息/事件。
    • 在 X 中,这可能使用 xwininfo 之类的东西来实现(更多信息请参阅 https://stackoverflow.com/a/1018185/2921914)。您可以直接调用它并解析结果,也可以通过查看它的source code 来查看它使用 X 协议的哪些部分。

    由于您提到 [gnome] 作为标签,您可能可以通过编写自己的 GNOME Shell 扩展来做到这一点,因为它可以直接访问 GNOME Shell 的内部。

    【讨论】:

      猜你喜欢
      • 2013-09-19
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多