diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-06-27 04:20:30 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-06-27 04:20:30 +0000 |
| commit | 34e819738b344a992a1dbfd6cdd165e0c8ddb3a9 (patch) | |
| tree | 479e77d920b6f595e92955dfcbb8fd0b63720ad1 /plugins | |
| parent | d0abbec2e522119c0865f668b094c60a1712e24f (diff) | |
xinerama support
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/menu/client_menu.c | 2 | ||||
| -rw-r--r-- | plugins/placement/placement.c | 3 | ||||
| -rw-r--r-- | plugins/resistance/resistance.c | 6 |
3 files changed, 8 insertions, 3 deletions
diff --git a/plugins/menu/client_menu.c b/plugins/menu/client_menu.c index 50ebc7cf..aa09495b 100644 --- a/plugins/menu/client_menu.c +++ b/plugins/menu/client_menu.c @@ -50,6 +50,8 @@ void client_menu_show(Menu *self, int x, int y, Client *client) newy = MAX(client->frame->area.y + client->frame->size.top, y); newy -= ob_rr_theme->bwidth; + /* XXX do xinerama shit like in menu.c! im not coding it now because + this function isnt even being used right now... */ POINT_SET(self->location, MIN(x, screen_physical_size.width - self->size.width - ob_rr_theme->bwidth * 2), diff --git a/plugins/placement/placement.c b/plugins/placement/placement.c index 889168b9..5f962e47 100644 --- a/plugins/placement/placement.c +++ b/plugins/placement/placement.c @@ -32,7 +32,8 @@ static void place_random(Client *c) if (ob_state == State_Starting) return; - area = screen_area(c->desktop); + area = screen_area_xinerama(c->desktop, + g_random_int_range(0, screen_num_xin_areas)); l = area->x; t = area->y; diff --git a/plugins/resistance/resistance.c b/plugins/resistance/resistance.c index 91c10c0e..8d493637 100644 --- a/plugins/resistance/resistance.c +++ b/plugins/resistance/resistance.c @@ -32,6 +32,7 @@ static void resist_move(Client *c, int *x, int *y) { GList *it; Rect *area; + guint i; int l, t, r, b; /* requested edges */ int al, at, ar, ab; /* screen area edges */ int cl, ct, cr, cb; /* current edges */ @@ -107,7 +108,8 @@ static void resist_move(Client *c, int *x, int *y) } /* get the screen boundaries */ - area = screen_area(c->desktop); + area = screen_area_xinerama(c->desktop, client_xinerama_area(c)); + al = area->x; at = area->y; ar = al + area->width - 1; @@ -117,7 +119,7 @@ static void resist_move(Client *c, int *x, int *y) if (cl >= al && l < al && l >= al - resistance) *x = al; else if (cr <= ar && r > ar && r <= ar + resistance) - *x = ar - w + 1; + *x = ar - w + 1; if (ct >= at && t < at && t >= at - resistance) *y = at; else if (cb <= ab && b > ab && b < ab + resistance) |
