all repos — openbox @ ac416fd27e5e620aa833f7a140febf7a1d46abf3

openbox fork - make it a bit more like ryudo

testing failed, hopefully this is reverting to the right place
Mikael Magnusson mikachu@comhem.se
commit

ac416fd27e5e620aa833f7a140febf7a1d46abf3

parent

3f40d6e7622df1f8d388e70e3f0ad0f6e9435948

2 files changed, 17 insertions(+), 14 deletions(-)

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

@@ -344,6 +344,15 @@ gint y = self->area.y, oy = y;

place_client(self, &x, &y); + /* make sure the window is visible. */ + client_find_onscreen(self, &x, &y, + self->frame->area.width, + self->frame->area.height, + /* non-normal clients has less rules, and + windows that are being restored from a session + do also. we can assume you want it back where + you saved it */ + client_normal(self) && !self->session); if (x != ox || y != oy) client_move(self, x, y); }

@@ -603,8 +612,7 @@

/* XXX watch for xinerama dead areas */ /* This makes sure windows aren't entirely outside of the screen so you * can't see them at all */ - //a = screen_area(self->desktop); - a = screen_physical_area_monitor(client_monitor(self)); + a = screen_area(self->desktop); if (client_normal(self)) { if (!self->strut.right && *x >= a->x + a->width - 1) *x = a->x + a->width - self->frame->area.width;

@@ -619,7 +627,11 @@

/* This here doesn't let windows even a pixel outside the screen, * not applied to all windows. Not sure if it's going to stay at all. * I wonder if disabling this will break struts somehow? Let's find out. */ - if (rude) { + if (0 && rude) { + /* avoid the xinerama monitor divide while we're at it, + * remember to fix the placement stuff to avoid it also and + * then remove this XXX */ + a = screen_physical_area_monitor(client_monitor(self)); /* this is ben's MOZILLA BITCHSLAP. "oh ya it fucking feels good. Java can suck it too." */
M openbox/place.copenbox/place.c

@@ -375,13 +375,9 @@ }

void place_client(ObClient *client, gint *x, gint *y) { - /* non-normal clients has less rules, and windows that are being restored - * from a session do also. we can assume you want it back where you - * saved it */ - gint rude = client_normal(client) && !client->session; if (client->positioned) - rude = 0; - else if (place_transient(client, x, y) || + return; + if (place_transient(client, x, y) || ((config_place_policy == OB_PLACE_POLICY_MOUSE) ? place_under_mouse(client, x, y) : place_smart(client, x, y, SMART_FULL) ||

@@ -393,9 +389,4 @@ /* get where the client should be */

frame_frame_gravity(client->frame, x, y); } else g_assert_not_reached(); /* the last one better succeed */ - /* make sure the window is visible. */ - client_find_onscreen(client, x, y, - client->frame->area.width, - client->frame->area.height, - rude); }