dont start a move/resize on clients that cant do it
Dana Jansens danakj@orodu.net
1 files changed,
8 insertions(+),
5 deletions(-)
jump to
M
openbox/moveresize.c
→
openbox/moveresize.c
@@ -90,7 +90,13 @@ void moveresize_start(ObClient *c, int x, int y, guint b, guint32 cnr)
{ ObCursor cur; - if (moveresize_in_progress || !c->frame->visible) + moving = (cnr == prop_atoms.net_wm_moveresize_move || + cnr == prop_atoms.net_wm_moveresize_move_keyboard); + + if (moveresize_in_progress || !c->frame->visible || + !(moving ? + (c->functions & OB_CLIENT_FUNC_MOVE) : + (c->functions & OB_CLIENT_FUNC_RESIZE))) return; moveresize_client = c;@@ -116,15 +122,12 @@ XWarpPointer(ob_display, None, c->window, 0, 0, 0, 0,
c->area.width / 2, c->area.height / 2); */ - if (corner == prop_atoms.net_wm_moveresize_move || - corner == prop_atoms.net_wm_moveresize_move_keyboard) { + if (moving) { cur_x = start_cx; cur_y = start_cy; - moving = TRUE; } else { cur_x = start_cw; cur_y = start_ch; - moving = FALSE; } moveresize_in_progress = TRUE;