window configuration events
Steven J Abner
pheonix.sja at att.net
Thu Jul 25 18:32:10 UTC 2024
On Thu, Jul 25 2024 at 05:33:36 PM +0000, Uli Schlachter
<psychon at znc.in> wrote:
> Untested pseudo-C:
Preliminary, not fully tested, we have a winner:
if ((configure->x | configure->y) != 0) {
xcb_screen_t *screen;
screen = xcb_setup_roots_iterator(xcb_get_setup(connection)).data;
xcb_translate_coordinates_reply_t *cfg;
cfg = xcb_translate_coordinates_reply(connection,
xcb_translate_coordinates(connection,
iface->window, screen->root, 0, 0), NULL);
master_iface->mete_box.x = cfg->dst_x;
master_iface->mete_box.y = cfg->dst_y;
free(cfg);
}
Other test, worked on good manager, other said "I'm ignoring you". But
results in double configure_notify on good manager:
if ((configure->x | configure->y) != 0) {
xcb_configure_window(connection,
master_iface->window, 0, NULL);
} else {
master_iface->mete_box.x = configure->x;
master_iface->mete_box.y = configure->y;
}
Hopefully this will help those using XCB to defeat window manager
incongruities.
Thank you both! and God bless.
Steve
More information about the Xcb
mailing list