all repos — openbox @ db49122dece88956856606fe4c17158859f81837

openbox fork - make it a bit more like ryudo

Merge branch 'backport' into work

Conflicts:

	openbox/frame.c
	openbox/menuframe.c
Dana Jansens danakj@orodu.net
commit

db49122dece88956856606fe4c17158859f81837

parent

beae040a8145e4dbe5444720152b9176660433d8

4 files changed, 12 insertions(+), 5 deletions(-)

jump to
M obt/prop.cobt/prop.c

@@ -123,6 +123,7 @@ CREATE_(NET_WM_WINDOW_TYPE_UTILITY);

CREATE_(NET_WM_WINDOW_TYPE_SPLASH); CREATE_(NET_WM_WINDOW_TYPE_DIALOG); CREATE_(NET_WM_WINDOW_TYPE_NORMAL); + CREATE_(NET_WM_WINDOW_TYPE_POPUP_MENU); prop_atoms[OBT_PROP_NET_WM_MOVERESIZE_SIZE_TOPLEFT] = 0; prop_atoms[OBT_PROP_NET_WM_MOVERESIZE_SIZE_TOP] = 1;
M obt/prop.hobt/prop.h

@@ -84,6 +84,8 @@ OBT_PROP_NET_WM_TOPRIGHT,

OBT_PROP_NET_WM_BOTTOMRIGHT, OBT_PROP_NET_WM_BOTTOMLEFT, + OBT_PROP_NET_WM_WINDOW_TYPE_POPUP_MENU, + OBT_PROP_PRIVATE_PADDING1, OBT_PROP_PRIVATE_PADDING2, OBT_PROP_PRIVATE_PADDING3,
M openbox/frame.copenbox/frame.c

@@ -1690,7 +1690,7 @@ /* how far do we have left to go ? */

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 @@ w = w - (dw * elapsed) / FRAME_ANIMATE_ICONIFY_TIME;

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 */ }
M openbox/menuframe.copenbox/menuframe.c

@@ -25,6 +25,7 @@ #include "actions.h"

#include "grab.h" #include "openbox.h" #include "config.h" +#include "obt/prop.h" #include "render/theme.h" #define PADDING 2

@@ -87,6 +88,10 @@

attr.event_mask = FRAME_EVENTMASK; 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,