【发布时间】:2012-08-09 16:18:51
【问题描述】:
如果我使用xset dpms 600 3600 7200,它会在 10 点后让我的屏幕变黑
分钟不活动。
问题
- X11 如何知道我空闲了多长时间,以及如何访问它 以编程方式空闲时间?
- 我无法安装
xprintidle,可能是因为 X11 不再 有 XIDLE 扩展吗?
谷歌搜索建议查看“man xscreensaver”,但我找不到 那里有用的东西。
【问题讨论】:
标签: x11
如果我使用xset dpms 600 3600 7200,它会在 10 点后让我的屏幕变黑
分钟不活动。
xprintidle,可能是因为 X11 不再
有 XIDLE 扩展吗? 谷歌搜索建议查看“man xscreensaver”,但我找不到 那里有用的东西。
【问题讨论】:
标签: x11
Screen saver 扩展,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;
}
【讨论】: