summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-07-28 19:53:54 +0000
committerDana Jansens <danakj@orodu.net>2003-07-28 19:53:54 +0000
commit4d82dd3017655aef64893897bc12064e5c51469d (patch)
tree721d7cd6bbcab6d4544bc8a2d055dcbb21241663
parente6486bff0881de6ba710a39f013cfbaf03657467 (diff)
make the new placement restrictions not affect !normal windows like panels
-rw-r--r--openbox/client.c8
-rw-r--r--openbox/event.c8
-rw-r--r--openbox/screen.c5
3 files changed, 12 insertions, 9 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 70873a43..87865462 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -300,7 +300,8 @@ void client_manage(Window window)
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 @@ void client_update_strut(ObClient *self)
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);
diff --git a/openbox/event.c b/openbox/event.c
index e1ab8fef..2a705e50 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -776,7 +776,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
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 @@ static void event_handle_client(ObClient *client, XEvent *e)
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 @@ static void event_handle_client(ObClient *client, XEvent *e)
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);
diff --git a/openbox/screen.c b/openbox/screen.c
index b312aba9..3c2010a1 100644
--- a/openbox/screen.c
+++ b/openbox/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 @@ void screen_update_areas()
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 @@ void screen_update_areas()
}
}
PROP_SETA32(RootWindow(ob_display, ob_screen), net_workarea, cardinal,
- dims, 4 * screen_num_desktops);
+ dims, 4 * screen_num_desktops);
g_free(dims);
}