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);
}
/* 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;
/* 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." */
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) ||
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);
}