all repos — openbox @ ffb76025fa8463321fddaf65f4e436754f35cdd7

openbox fork - make it a bit more like ryudo

use the size of the icon window for slit apps, not the client window
Dana Jansens danakj@orodu.net
commit

ffb76025fa8463321fddaf65f4e436754f35cdd7

parent

23697223a5f7242767c7959158f314f50887985c

3 files changed, 10 insertions(+), 5 deletions(-)

jump to
M openbox/client.copenbox/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.copenbox/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.hopenbox/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);