获取当前X11服务器时间。

7

使用 Xlib,我们可以查询当前 X 服务器时间吗?我的意思是,如果我们现在接收到一个事件,它将返回XEvent中的time 字段的值。

最好不要打开任何窗口。


2
也许你可以在根窗口上注册PropertyNotify事件,对根窗口进行(无操作)ChangeProperty,然后从PropertyEvent中读取时间:https://tronche.com/gui/x/xlib/window-information/XChangeProperty.html - Andreas
2个回答

1

也许this是您正在搜索的内容:

唯一保证存在的系统计数器称为SERVERTIME,它从某个任意起始点计算毫秒数。该计数器的最低有效32位跟踪服务器在事件和请求中使用的时间值。其他系统计数器可能由扩展的不同实现提供。X联盟将维护一个系统计数器名称的注册表,以避免名称空间中的冲突。


1
安德烈亚斯建议的方法也被ICCCM规范推荐:
客户端尝试获取选择时,必须将SetSelectionOwner请求的时间值设置为触发获取尝试的事件的时间戳,而不是CurrentTime。在属性中进行零长度附加是获得此目的时间戳的一种方法;时间戳位于相应的PropertyNotify事件中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接