X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmoveresize.c;h=9f0f41ba7e51c546aea225c22b97f93fab07761b;hb=b49b7c415c5b61910e7c2c28831c047f0e479ac5;hp=ba10af4b3adb4cd2faa8a088d0b5fb9546a90c6f;hpb=c4e4760c41f10aae6af19a4363cb247c71edee4b;p=chaz%2Fopenbox diff --git a/openbox/moveresize.c b/openbox/moveresize.c index ba10af4b..9f0f41ba 100644 --- a/openbox/moveresize.c +++ b/openbox/moveresize.c @@ -1,4 +1,4 @@ -/* -*- indent-tabs-mode: t; tab-width: 4; c-basic-offset: 4; -*- +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- moveresize.c for the Openbox window manager Copyright (c) 2003 Ben Jansens @@ -46,7 +46,7 @@ static ObCorner lockcorner; static ObPopup *popup = NULL; -static void client_dest(gpointer client) +static void client_dest(ObClient *client, gpointer data) { if (moveresize_client == client) moveresize_end(TRUE); @@ -57,7 +57,7 @@ void moveresize_startup(gboolean reconfig) popup = popup_new(FALSE); if (!reconfig) - client_add_destructor(client_dest); + client_add_destructor(client_dest, NULL); } void moveresize_shutdown(gboolean reconfig) @@ -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 @@ void moveresize_start(ObClient *c, int x, int y, guint b, guint32 cnr) 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;