use the size of the icon window for slit apps, not the client window
Dana Jansens danakj@orodu.net
3 files changed,
10 insertions(+),
5 deletions(-)
M
openbox/client.c
→
openbox/client.c
@@ -202,7 +202,7 @@ /* is the window a docking app */
if ((wmhint = XGetWMHints(ob_display, window))) { if ((wmhint->flags & StateHint) && wmhint->initial_state == WithdrawnState) { - slit_add(window, wmhint, &attrib); + slit_add(window, wmhint); grab_server(FALSE); XFree(wmhint); return;
M
openbox/slit.c
→
openbox/slit.c
@@ -86,10 +86,11 @@ g_hash_table_destroy(slit_app_map);
g_hash_table_destroy(slit_map); } -void slit_add(Window win, XWMHints *wmhints, XWindowAttributes *attrib) +void slit_add(Window win, XWMHints *wmhints) { Slit *s; SlitApp *app; + XWindowAttributes attrib; /* XXX pick a slit */ s = &slit[0];@@ -100,8 +101,12 @@ app->win = win;
app->icon_win = (wmhints->flags & IconWindowHint) ? wmhints->icon_window : win; - app->w = attrib->width; - app->h = attrib->height; + if (XGetWindowAttributes(ob_display, app->icon_win, &attrib)) { + app->w = attrib.width; + app->h = attrib.height; + } else { + app->w = app->h = 64; + } s->slit_apps = g_list_append(s->slit_apps, app); slit_configure(s);
M
openbox/slit.h
→
openbox/slit.h
@@ -40,7 +40,7 @@
void slit_configure_all(); void slit_hide(Slit *self, gboolean hide); -void slit_add(Window win, XWMHints *wmhints, XWindowAttributes *attrib); +void slit_add(Window win, XWMHints *wmhints); void slit_remove_all(); void slit_remove(SlitApp *app, gboolean reparent);