all repos — openbox @ 1e72cf5e4547968825d29e6f32491b4486cf186e

openbox fork - make it a bit more like ryudo

make edge detection for maximized windows only look at the edges of screens
Dana Jansens danakj@orodu.net
commit

1e72cf5e4547968825d29e6f32491b4486cf186e

parent

8d7ab691b8bbbeca42484d61375387ef5c2f4878

1 files changed, 22 insertions(+), 15 deletions(-)

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

@@ -4257,26 +4257,33 @@ g_free(area);

} /* search for edges of clients */ - for (it = client_list; it; it = g_list_next(it)) { - ObClient *cur = it->data; + if (((dir == OB_DIRECTION_NORTH || dir == OB_DIRECTION_SOUTH) && + !self->max_vert) || + ((dir == OB_DIRECTION_EAST || dir == OB_DIRECTION_WEST) && + !self->max_horz)) + { + for (it = client_list; it; it = g_list_next(it)) { + ObClient *cur = it->data; - /* skip windows to not bump into */ - if (cur == self) - continue; - if (cur->iconic) - continue; - if (self->desktop != cur->desktop && cur->desktop != DESKTOP_ALL && - cur->desktop != screen_desktop) - continue; + /* skip windows to not bump into */ + if (cur == self) + continue; + if (cur->iconic) + continue; + if (self->desktop != cur->desktop && cur->desktop != DESKTOP_ALL && + cur->desktop != screen_desktop) + continue; - ob_debug("trying window %s", cur->title); + ob_debug("trying window %s", cur->title); - detect_edge(cur->frame->area, dir, my_head, my_size, my_edge_start, + detect_edge(cur->frame->area, dir, my_head, my_size, my_edge_start, + my_edge_size, dest, near_edge); + } + dock_get_area(&dock_area); + detect_edge(dock_area, dir, my_head, my_size, my_edge_start, my_edge_size, dest, near_edge); } - dock_get_area(&dock_area); - detect_edge(dock_area, dir, my_head, my_size, my_edge_start, - my_edge_size, dest, near_edge); + g_free(a); }