summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-10-06 17:47:41 +0000
committerDana Jansens <danakj@orodu.net>2003-10-06 17:47:41 +0000
commit8852ee21b0e1e9060f77a93e02139d71893db90b (patch)
tree6f6ea9e7171ec10526f7906f418dbf34881cd39f
parentf55766cc555c87e26ea4cc973b6eb971771b411c (diff)
alt-drag resizing can resize in just vertical and horizontal directions now
-rw-r--r--openbox/action.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/openbox/action.c b/openbox/action.c
index babb8f82..ddc7fea2 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -947,13 +947,11 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
a->data.inter.final = done;
if (!(cancel || done))
keyboard_interactive_grab(state, a->data.any.c, a);
- }
- /* closing interactive actions are not queued */
- if (!done)
- ob_main_loop_queue_action(ob_main_loop, a);
- else
+ /* interactive actions are not queued */
a->func(&a->data);
+ } else
+ ob_main_loop_queue_action(ob_main_loop, a);
}
}
}
@@ -1306,16 +1304,25 @@ void action_toggle_decorations(union ActionData *data)
static guint32 pick_corner(int x, int y, int cx, int cy, int cw, int ch)
{
- if (x - cx > cw / 2) {
- if (y - cy > ch / 2)
+ if (x - cx > cw / 3 * 2) {
+ if (y - cy > ch / 3 * 2)
return prop_atoms.net_wm_moveresize_size_bottomright;
- else
+ else if (y - cy < ch / 3)
return prop_atoms.net_wm_moveresize_size_topright;
+ else
+ return prop_atoms.net_wm_moveresize_size_right;
+ } else if (x - cx < cw / 3) {
+ if (y - cy > ch / 3 * 2)
+ return prop_atoms.net_wm_moveresize_size_bottomleft;
+ else if (y - cy < ch / 3)
+ return prop_atoms.net_wm_moveresize_size_topleft;
+ else
+ return prop_atoms.net_wm_moveresize_size_left;
} else {
if (y - cy > ch / 2)
- return prop_atoms.net_wm_moveresize_size_bottomleft;
+ return prop_atoms.net_wm_moveresize_size_bottom;
else
- return prop_atoms.net_wm_moveresize_size_topleft;
+ return prop_atoms.net_wm_moveresize_size_top;
}
}