aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw/x11-wsys.c
blob: dc9785ebd567e090d119e886c1a2cf6c96b1461d (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
36
37
38
39
40
41
#include <u.h>
#include "x11-inc.h"
#include <libc.h>
#include <draw.h>
#include <memdraw.h>
#include "x11-memdraw.h"

void
drawtopwindow(void)
{
	XMapRaised(_x.display, _x.drawable);
	XFlush(_x.display);
	/*
	 * Should not be using kbdcon since we're not running
	 * in the kbdproc, but this is necessary to make the keyboard
	 * take focus if the window is hidden when drawtopwindow
	 * is called.  Let's hope that XSetInputFocus is only a write 
	 * on the fd, and so it's okay to do even though the kbdproc
	 * is reading at the same time.
	 */
	XSetInputFocus(_x.kbdcon, _x.drawable, RevertToPointerRoot,
		CurrentTime);
	XFlush(_x.kbdcon);
}

void
drawresizewindow(Rectangle r)
{
//	XConfigureRequestEvent e;
	XWindowChanges e;
	int value_mask;

	memset(&e, 0, sizeof e);
	value_mask = CWWidth|CWHeight;
//	e.x = r.min.x;
//	e.y = r.min.y;
	e.width = Dx(r);
	e.height = Dy(r);
	XConfigureWindow(_x.display, _x.drawable, value_mask, &e);
	XFlush(_x.display);
}