summaryrefslogtreecommitdiffhomepage
path: root/patch/fakefullscreenclient.c
blob: bb88665e61018207425c6500f19e72a9952dc879 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void
togglefakefullscreen(const Arg *arg)
{
	Client *c = selmon->sel;
	if (!c)
		return;

	if (c->fakefullscreen) {
		if (c->isfullscreen) {
			if (c->isfloating && c->fakefullscreen == 1) {
				c->oldstate = c->isfloating;
				c->oldx = c->x;
				c->oldy = c->y;
				c->oldw = c->w;
				c->oldh = c->h;
			}
			c->fakefullscreen = 0;
		}
		else
			c->isfullscreen = 0;
	} else {
		c->fakefullscreen = 1;
		if (c->isfullscreen) {
			c->isfloating = c->oldstate;
			c->bw = c->oldbw;
			c->x = c->oldx;
			c->y = c->oldy;
			c->w = c->oldw;
			c->h = c->oldh;
			resizeclient(c, c->x, c->y, c->w, c->h);
		}
		c->isfullscreen = 0;
	}
	setfullscreen(c, !c->isfullscreen);
}