summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-09-17 06:44:04 +0000
committerDana Jansens <danakj@orodu.net>2003-09-17 06:44:04 +0000
commit88b839834242d237eaf98fcc0aac94e21a767ace (patch)
treec58f5506f688fd19fed75abc69cc0a3219e26dab /openbox/frame.c
parent96f9db0d0c0ef9073be894162e5c6ea2db726b44 (diff)
add the MoveResize context, which is used while doing a move/resize on a window. Actions bound in this context can be executed with the mouse during a move/resize on a window.
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 327507f2..8d69c395 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -5,6 +5,7 @@
#include "config.h"
#include "framerender.h"
#include "mainloop.h"
+#include "moveresize.h"
#include "render/theme.h"
#define PLATE_EVENTMASK (SubstructureRedirectMask | ButtonPressMask)
@@ -629,36 +630,38 @@ static void layout_title(ObFrame *self)
ObFrameContext frame_context_from_string(char *name)
{
- if (!g_ascii_strcasecmp("desktop", name))
+ if (!g_ascii_strcasecmp("Desktop", name))
return OB_FRAME_CONTEXT_DESKTOP;
- else if (!g_ascii_strcasecmp("client", name))
+ else if (!g_ascii_strcasecmp("Client", name))
return OB_FRAME_CONTEXT_CLIENT;
- else if (!g_ascii_strcasecmp("titlebar", name))
+ else if (!g_ascii_strcasecmp("Titlebar", name))
return OB_FRAME_CONTEXT_TITLEBAR;
- else if (!g_ascii_strcasecmp("handle", name))
+ else if (!g_ascii_strcasecmp("Handle", name))
return OB_FRAME_CONTEXT_HANDLE;
- else if (!g_ascii_strcasecmp("frame", name))
+ else if (!g_ascii_strcasecmp("Frame", name))
return OB_FRAME_CONTEXT_FRAME;
- else if (!g_ascii_strcasecmp("tlcorner", name))
+ else if (!g_ascii_strcasecmp("TLCorner", name))
return OB_FRAME_CONTEXT_TLCORNER;
- else if (!g_ascii_strcasecmp("trcorner", name))
+ else if (!g_ascii_strcasecmp("TRCorner", name))
return OB_FRAME_CONTEXT_TRCORNER;
- else if (!g_ascii_strcasecmp("blcorner", name))
+ else if (!g_ascii_strcasecmp("BLCorner", name))
return OB_FRAME_CONTEXT_BLCORNER;
- else if (!g_ascii_strcasecmp("brcorner", name))
+ else if (!g_ascii_strcasecmp("BRCorner", name))
return OB_FRAME_CONTEXT_BRCORNER;
- else if (!g_ascii_strcasecmp("maximize", name))
+ else if (!g_ascii_strcasecmp("Maximize", name))
return OB_FRAME_CONTEXT_MAXIMIZE;
- else if (!g_ascii_strcasecmp("alldesktops", name))
+ else if (!g_ascii_strcasecmp("AllDesktops", name))
return OB_FRAME_CONTEXT_ALLDESKTOPS;
- else if (!g_ascii_strcasecmp("shade", name))
+ else if (!g_ascii_strcasecmp("Shade", name))
return OB_FRAME_CONTEXT_SHADE;
- else if (!g_ascii_strcasecmp("iconify", name))
+ else if (!g_ascii_strcasecmp("Iconify", name))
return OB_FRAME_CONTEXT_ICONIFY;
- else if (!g_ascii_strcasecmp("icon", name))
+ else if (!g_ascii_strcasecmp("Icon", name))
return OB_FRAME_CONTEXT_ICON;
- else if (!g_ascii_strcasecmp("close", name))
+ else if (!g_ascii_strcasecmp("Close", name))
return OB_FRAME_CONTEXT_CLOSE;
+ else if (!g_ascii_strcasecmp("MoveResize", name))
+ return OB_FRAME_CONTEXT_MOVE_RESIZE;
return OB_FRAME_CONTEXT_NONE;
}
@@ -666,6 +669,9 @@ ObFrameContext frame_context(ObClient *client, Window win)
{
ObFrame *self;
+ if (moveresize_in_progress)
+ return OB_FRAME_CONTEXT_MOVE_RESIZE;
+
if (win == RootWindow(ob_display, ob_screen))
return OB_FRAME_CONTEXT_DESKTOP;
if (client == NULL) return OB_FRAME_CONTEXT_NONE;