Re: window configuration events
Steven J Abner <[email protected]> Thu, 25 Jul 2024 14:32:10 -0400
| Newsgroups | gmane.comp.freedesktop.xcb |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jul 25 2024 at 05:33:36 PM +0000, Uli Schlachter <[email protected]> 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