make the new placement restrictions not affect !normal windows like panels
This commit is contained in:
parent
e6486bff08
commit
4d82dd3017
3 changed files with 12 additions and 9 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue