xcb 初始窗口位置

发布于 2025-01-12 07:39:41 字数 502 浏览 0 评论 0原文

我有一个关于 xcb windows 的问题。我正在使用位置和大小创建一个 xcb 窗口。根据我的实现,我收到以下日志消息:

create: x:560 y:300 width:800 height:600
map window:
XCB_CONFIGURE_NOTIFY: x:560 y:300 width:800 height:600
XCB_CONFIGURE_NOTIFY: x:90 y:77 width:800 height:600
XCB_CONFIGURE_NOTIFY: x:90 y:77 width:800 height:600

  1. 在特定位置创建窗口的
  2. 操作映射窗口
  3. 事件循环

有三个配置通知事件。 x/y 位置相对于父窗口(父窗口设置为屏幕根目录,并且没有重新父窗口消息,因为它是无边框窗口)。我使用窗口和根作为父级执行 xcb_translate_coordinates 。 为什么窗口被移动到不同的位置?

I have a question regarding xcb windows. I am creating a xcb window using position and size. I get the following log messages, based on my implementation:

create: x:560 y:300 width:800 height:600
map window:
XCB_CONFIGURE_NOTIFY: x:560 y:300 width:800 height:600
XCB_CONFIGURE_NOTIFY: x:90 y:77 width:800 height:600
XCB_CONFIGURE_NOTIFY: x:90 y:77 width:800 height:600

What I did

  1. create window at specific position
  2. map window
  3. event loop

there are three configure notify events. the x/y position is relative to the parent window (parent is set to screen root and there is no reparent message because its a borderless window). I do a xcb_translate_coordinates using window and root as parent.
Why is the window moved to a different location?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

离不开的别离 2025-01-19 07:39:41

我认为这是因为您使用的窗口管理器在关闭窗口之前存储了窗口的最后位置,并在应用程序重新启动并映射到屏幕上时重新建立它。

I think it's because the window manager you're using stores the last position of the window before closing it and reestablish it when the application is re-launched and mapped onto the screen.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文