如果我这样做xset dpms 600 3600 7200
,它会在 10 分钟不活动后使我的屏幕空白。
问题
- X11 如何知道我空闲了多长时间,以及如何以编程方式访问此空闲时间?
- 我无法
xprintidle
安装,也许是因为 X11 不再有 XIDLE 扩展?
谷歌搜索建议查看“man xscreensaver”,但我在那里找不到任何有用的东西。
如果我这样做xset dpms 600 3600 7200
,它会在 10 分钟不活动后使我的屏幕空白。
xprintidle
安装,也许是因为 X11 不再有 XIDLE 扩展?谷歌搜索建议查看“man xscreensaver”,但我在那里找不到任何有用的东西。
屏幕保护程序扩展,QueryInfo 请求。如果您使用的是 xlib - 它在XScreenSaverQueryInfo中(与 Xss 链接)
JavaScript 中的示例,使用node-x11
var x11 = require('x11');
x11.createClient(function(err, display) {
var X = display.client;
X.require('screen-saver', function(err, SS) {
SS.QueryInfo(display.screen[0].root, function(err, info) {
console.log('Idle time', info.idle);
});
});
X.on('error', console.error);
});
c中的示例:
#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
int main() {
Display *display = XOpenDisplay(0);
if (display != 0) {
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
if (info)
{
printf("%lu\n", info->idle);
XFree(info);
return 0;
}
return -1;
}
return -1;
}