summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-02-15 10:02:07 -0500
committerDana Jansens <danakj@orodu.net>2008-02-15 10:03:55 -0500
commitdb49122dece88956856606fe4c17158859f81837 (patch)
tree8e6e7169fe867f9829f5e40837f5b3a297c95771 /openbox
parentbeae040a8145e4dbe5444720152b9176660433d8 (diff)
parent4b71209ec89902e2f88522603deeab8b240b34c3 (diff)
Merge branch 'backport' into work
Conflicts: openbox/frame.c openbox/menuframe.c
Diffstat (limited to 'openbox')
-rw-r--r--openbox/frame.c9
-rw-r--r--openbox/menuframe.c5
2 files changed, 9 insertions, 5 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 0975214c..e8a532cc 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -1690,7 +1690,7 @@ static gboolean frame_animate_iconify(gpointer p)
g_get_current_time(&now);
time = frame_animate_iconify_time_left(self, &now);
- if (time == 0 || iconifying) {
+ if ((time > 0 && iconifying) || (time == 0 && !iconifying)) {
/* start where the frame is supposed to be */
x = self->area.x;
y = self->area.y;
@@ -1721,12 +1721,11 @@ static gboolean frame_animate_iconify(gpointer p)
h = self->size.top; /* just the titlebar */
}
+ XMoveResizeWindow(obt_display, self->window, x, y, w, h);
+ XFlush(obt_display);
+
if (time == 0)
frame_end_iconify_animation(self);
- else {
- XMoveResizeWindow(obt_display, self->window, x, y, w, h);
- XFlush(obt_display);
- }
return time > 0; /* repeat until we're out of time */
}
diff --git a/openbox/menuframe.c b/openbox/menuframe.c
index 730f23f7..867aa81c 100644
--- a/openbox/menuframe.c
+++ b/openbox/menuframe.c
@@ -25,6 +25,7 @@
#include "grab.h"
#include "openbox.h"
#include "config.h"
+#include "obt/prop.h"
#include "render/theme.h"
#define PADDING 2
@@ -88,6 +89,10 @@ ObMenuFrame* menu_frame_new(ObMenu *menu, guint show_from, ObClient *client)
self->window = createWindow(obt_root(ob_screen),
CWEventMask, &attr);
+ /* make it a popup menu type window */
+ OBT_PROP_SET32(self->window, NET_WM_WINDOW_TYPE, ATOM,
+ OBT_PROP_ATOM(NET_WM_WINDOW_TYPE_POPUP_MENU));
+
XSetWindowBorderWidth(obt_display, self->window, ob_rr_theme->mbwidth);
XSetWindowBorder(obt_display, self->window,
RrColorPixel(ob_rr_theme->menu_border_color));