javascript - GNOME 中鼠标进入屏幕特定像素范围时的激活方法

标签 javascript css gnome gnome-shell gnome-shell-extensions

我正在尝试制作一个功能类似于扩展坞的 GNOME 扩展,只是它会向您显示状态信息(时间、电池等)。我在这里遇到的问题是,当光标进入特定像素区域时,如何显示信息?比如,如果屏幕是 1600x900 像素(仅举个例子),它应该在 x>1550800>y>850 时激活。那不是实际的像素范围,而是该一般区域中的某些内容。我的问题是,我怎样才能让它经常检查光标是否在那个区域?我可以只做一个 while 循环,但我认为这会占用大量资源,必须有更好的方法。有没有?到目前为止,我已经查看了其他扩展以及在线 API,但似乎找不到任何有用的东西。我看到关于主循环的一件事看起来很有前途,但我并没有真正理解它。

提前致谢!

最佳答案

请注意,您不能使用无限循环,因为它会阻塞 shell;你必须使用主循环。

您可以使用 pointerWatcher(更方便,因为他们添加了空闲监视器检测):
https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/pointerWatcher.js

示例:

let PointerWatcher = imports.ui.pointerWatcher;

let watcher = new PointerWatcher.PointerWatcher();

let watch = watcher.addWatch(50, (x, y) => {
    let m = Main.layoutManager.currentMonitor;

    if ((m.height - y) < 200 && (m.width - x) < 200) {
        Main.notify("asdf");
    }
});

// watch.remove();

还有 Meta.Barrier 的东西。可能会调查。

关于javascript - GNOME 中鼠标进入屏幕特定像素范围时的激活方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50670853/

相关文章:

javascript - 如何使用 angularJS 访问 ng-repeat 生成的集合中的特定元素

javascript - 谁知道如何将 "Ulkit 3"(https ://getuikit. com/) 连接到“Vue.js 2

html - CSS 多文本装饰

javascript - 用于制作可滚动和可拖动图像 slider 的库?

c - 有没有办法在 ubuntu 中按下任何按钮,即使是那些没有在我的 C/C++ 应用程序窗口中按下的按钮?

linux - 无法在 Gnome 中禁用 PrintScreen 键

python - 使用 Python 禁用 GNOME 的自动挂载

javascript - 如何在另一个对象方法中引用一个对象方法

javascript - 检测 base64 dataURL 图像中的恶意代码或文本

javascript - 如何使用 jquery 更改输入文本背景图像