Mercurial > aewl
comparison view.c @ 565:fe766305eed1
applied Gottox' windowarea patch
author | arg@mig29 |
---|---|
date | Thu, 16 Nov 2006 14:40:57 +0100 |
parents | b5435d3fb7b0 |
children | 797e27162b43 |
comparison
equal
deleted
inserted
replaced
564:a22a70174d44 | 565:fe766305eed1 |
---|---|
47 | 47 |
48 if(c->isfixed) | 48 if(c->isfixed) |
49 return; | 49 return; |
50 | 50 |
51 if((c->ismax = !c->ismax)) { | 51 if((c->ismax = !c->ismax)) { |
52 c->rx = c->x; c->x = sx; | 52 c->rx = c->x; c->x = wax; |
53 c->ry = c->y; c->y = bh; | 53 c->ry = c->y; c->y = way; |
54 c->rw = c->w; c->w = sw - 2 * BORDERPX; | 54 c->rw = c->w; c->w = waw - 2 * BORDERPX; |
55 c->rh = c->h; c->h = sh - bh - 2 * BORDERPX; | 55 c->rh = c->h; c->h = wah - 2 * BORDERPX; |
56 } | 56 } |
57 else { | 57 else { |
58 c->x = c->rx; | 58 c->x = c->rx; |
59 c->y = c->ry; | 59 c->y = c->ry; |
60 c->w = c->rw; | 60 c->w = c->rw; |
97 restack(); | 97 restack(); |
98 } | 98 } |
99 | 99 |
100 void | 100 void |
101 dotile(void) { | 101 dotile(void) { |
102 unsigned int i, n, mpx, stackw, stackh, th; | 102 unsigned int i, n, mpx, stackw, th; |
103 Client *c; | 103 Client *c; |
104 | 104 |
105 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) | 105 for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) |
106 n++; | 106 n++; |
107 mpx = (sw * master) / 1000; | 107 mpx = (waw * master) / 1000; |
108 stackw = sw - mpx; | 108 stackw = waw - mpx; |
109 stackh = sh - bh; | |
110 th = stackh; | |
111 if(n > 1) | |
112 th /= (n - 1); | |
113 | 109 |
114 for(i = 0, c = clients; c; c = c->next) | 110 for(i = 0, c = clients; c; c = c->next) |
115 if(isvisible(c)) { | 111 if(isvisible(c)) { |
116 if(c->isfloat) { | 112 if(c->isfloat) { |
117 resize(c, True, TopLeft); | 113 resize(c, True, TopLeft); |
118 continue; | 114 continue; |
119 } | 115 } |
120 c->ismax = False; | 116 c->ismax = False; |
121 c->x = sx; | 117 c->x = wax; |
122 c->y = sy + bh; | 118 c->y = way; |
123 if(n == 1) { /* only 1 window */ | 119 if(n == 1) { /* only 1 window */ |
124 c->w = sw - 2 * BORDERPX; | 120 c->w = waw - 2 * BORDERPX; |
125 c->h = sh - 2 * BORDERPX - bh; | 121 c->h = wah - 2 * BORDERPX; |
126 } | 122 } |
127 else if(i == 0) { /* master window */ | 123 else if(i == 0) { /* master window */ |
128 c->w = mpx - 2 * BORDERPX; | 124 c->w = waw - stackw - 2 * BORDERPX; |
129 c->h = sh - bh - 2 * BORDERPX; | 125 c->h = wah - 2 * BORDERPX; |
126 th = wah / (n - 1); | |
130 } | 127 } |
131 else { /* tile window */ | 128 else { /* tile window */ |
132 c->x += mpx; | 129 c->x += mpx; |
133 c->w = stackw - 2 * BORDERPX; | 130 c->w = stackw - 2 * BORDERPX; |
134 if(th > bh) { | 131 if(th > bh) { |
135 c->y = sy + (i - 1) * th + bh; | 132 c->y = way + (i - 1) * th; |
136 if(i + 1 == n) | 133 c->h = th - 2 * BORDERPX; |
137 c->h = sh - c->y - 2 * BORDERPX; | |
138 else | |
139 c->h = th - 2 * BORDERPX; | |
140 } | 134 } |
141 else /* fallback if th < bh */ | 135 else /* fallback if th < bh */ |
142 c->h = stackh - 2 * BORDERPX; | 136 c->h = wah - 2 * BORDERPX; |
143 } | 137 } |
144 resize(c, False, TopLeft); | 138 resize(c, False, TopLeft); |
145 i++; | 139 i++; |
146 } | 140 } |
147 else | 141 else |