gpt4 book ai didi

x11 - X11 xscreensaver 如何知道我闲置了多久(xprintidle 无用)

转载 作者:行者123 更新时间:2023-12-04 07:25:49 27 4
gpt4 key购买 nike

如果我这样做 xset dpms 600 3600 7200 ,它在 10 点后使我的屏幕空白
几分钟的不事件。

问题

  • X11 怎么知道我闲了多久,我怎么才能访问这个
    以编程方式空闲时间?
  • 我无法获得 xprintidle安装,也许是因为X11不再
    有 XIDLE 扩展吗?

  • 谷歌搜索建议查看“man xscreensaver”,但我找不到
    任何有用的东西。

    最佳答案

    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;
    }

    关于x11 - X11 xscreensaver 如何知道我闲置了多久(xprintidle 无用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887679/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com