X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fmoveresize.c;h=570283c43ab827f969f887e572bdf12b9fd9eeed;hb=953b68a1d619d9bb69fc8594a42693c6c32b4a2f;hp=9a1b4319220cf0a0d1d307d1dd3a4e9c77d4be15;hpb=9938de36938107546b2e5b0410cc97d7a01632e7;p=chaz%2Fopenbox diff --git a/openbox/moveresize.c b/openbox/moveresize.c index 9a1b4319..570283c4 100644 --- a/openbox/moveresize.c +++ b/openbox/moveresize.c @@ -49,18 +49,18 @@ void moveresize_startup() popup = popup_new(FALSE); popup_size_to_string(popup, "W: 0000 W: 0000"); - popup_position(popup, NorthWestGravity, POPUP_X, POPUP_Y); attrib.save_under = True; opaque_window.win = XCreateWindow(ob_display, ob_root, 0, 0, 1, 1, 0, - render_depth, InputOutput, render_visual, + RrDepth(ob_rr_inst), InputOutput, + RrVisual(ob_rr_inst), CWSaveUnder, &attrib); - stacking_add(&opaque_window); + stacking_add(INTERNAL_AS_WINDOW(&opaque_window)); stacking_raise(INTERNAL_AS_WINDOW(&opaque_window)); /* a GC to invert stuff */ gcv.function = GXxor; - gcv.line_width = theme_bwidth; + gcv.line_width = ob_rr_theme->bwidth; gcv.foreground = (WhitePixel(ob_display, ob_screen) ^ BlackPixel(ob_display, ob_screen)); opaque_gc = XCreateGC(ob_display, opaque_window.win, @@ -79,8 +79,12 @@ void moveresize_shutdown() static void popup_coords(char *format, int a, int b) { char *text; + Rect *area; text = g_strdup_printf(format, a, b); + area = screen_physical_area_xinerama(0); + popup_position(popup, NorthWestGravity, + POPUP_X + area->x, POPUP_Y + area->y); popup_show(popup, text, NULL); g_free(text); } @@ -88,6 +92,7 @@ static void popup_coords(char *format, int a, int b) void moveresize_start(Client *c, int x, int y, guint b, guint32 cnr) { Cursor cur; + Rect *a; g_assert(!moveresize_in_progress); @@ -146,8 +151,10 @@ void moveresize_start(Client *c, int x, int y, guint b, guint32 cnr) grab_pointer(TRUE, cur); grab_keyboard(TRUE); - XResizeWindow(ob_display, opaque_window.win, screen_physical_size.width, - screen_physical_size.height); + a = screen_physical_area(); + + XMoveResizeWindow(ob_display, opaque_window.win, + a->x, a->y, a->width, a->height); stacking_raise(INTERNAL_AS_WINDOW(&opaque_window)); if (corner == prop_atoms.net_wm_moveresize_move || corner == prop_atoms.net_wm_moveresize_move_keyboard) {