all repos — openbox @ 4d82dd3017655aef64893897bc12064e5c51469d

openbox fork - make it a bit more like ryudo

make the new placement restrictions not affect !normal windows like panels
Dana Jansens danakj@orodu.net
commit

4d82dd3017655aef64893897bc12064e5c51469d

parent

e6486bff0881de6ba710a39f013cfbaf03657467

3 files changed, 12 insertions(+), 9 deletions(-)

jump to
M openbox/client.copenbox/client.c

@@ -300,7 +300,8 @@

dispatch_client(Event_Client_New, self, 0, 0); /* make sure the window is visible */ - client_move_onscreen(self, TRUE); + if (client_normal(self)) + client_move_onscreen(self, TRUE); screen_update_areas();

@@ -1346,8 +1347,11 @@

if (!PROP_GETA32(self->window, net_wm_strut, cardinal, &data, &num)) { STRUT_SET(self->strut, 0, 0, 0, 0); } else { - if (num == 4) + if (num == 4) { + g_message("new strut: %d %d %d %d", + data[0], data[2], data[1], data[3]); STRUT_SET(self->strut, data[0], data[2], data[1], data[3]); + } else STRUT_SET(self->strut, 0, 0, 0, 0); g_free(data);
M openbox/event.copenbox/event.c

@@ -776,7 +776,7 @@ e->xconfigurerequest.width : client->area.width;

h = (e->xconfigurerequest.value_mask & CWHeight) ? e->xconfigurerequest.height : client->area.height; - { + if (client_normal(client)) { int newx = x; int newy = y; client_find_onscreen(client, &newx, &newy, w, h, TRUE);

@@ -974,7 +974,7 @@ else

h = client->area.y; client->gravity = tmpg; - { + if (client_normal(client)) { int newx = x; int newy = y; client_find_onscreen(client, &newx, &newy, w, h, TRUE);

@@ -1031,8 +1031,10 @@ else if (msgtype == prop_atoms.wm_protocols) {

client_update_protocols(client); client_setup_decor_and_functions(client); } - else if (msgtype == prop_atoms.net_wm_strut) + else if (msgtype == prop_atoms.net_wm_strut) { + g_message("strut change"); client_update_strut(client); + } else if (msgtype == prop_atoms.net_wm_icon || msgtype == prop_atoms.kwm_win_icon) client_update_icons(client);
M openbox/screen.copenbox/screen.c

@@ -637,8 +637,6 @@ void screen_update_areas()

{ guint i, x; guint32 *dims; - Rect **old_area = area; - Rect **rit; GList *it; g_free(monitor_area);

@@ -657,7 +655,6 @@ area[i] = NULL;

dims = g_new(guint32, 4 * screen_num_desktops); - rit = old_area; for (i = 0; i < screen_num_desktops + 1; ++i) { Strut s; int l, r, t, b;

@@ -800,7 +797,7 @@ dims[(i * 4) + 3] = area[i][screen_num_monitors].height;

} } PROP_SETA32(RootWindow(ob_display, ob_screen), net_workarea, cardinal, - dims, 4 * screen_num_desktops); + dims, 4 * screen_num_desktops); g_free(dims); }