diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-02-15 10:02:07 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-02-15 10:03:55 -0500 |
| commit | db49122dece88956856606fe4c17158859f81837 (patch) | |
| tree | 8e6e7169fe867f9829f5e40837f5b3a297c95771 /openbox | |
| parent | beae040a8145e4dbe5444720152b9176660433d8 (diff) | |
| parent | 4b71209ec89902e2f88522603deeab8b240b34c3 (diff) | |
Merge branch 'backport' into work
Conflicts:
openbox/frame.c
openbox/menuframe.c
Diffstat (limited to 'openbox')
| -rw-r--r-- | openbox/frame.c | 9 | ||||
| -rw-r--r-- | openbox/menuframe.c | 5 |
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)); |
