Beispiel #1
0
int PropGetGNUstepWMAttr(Window window, GNUstepWMAttributes **attr)
{
	unsigned long *data;

	data = (unsigned long *)PropGetCheckProperty(window, w_global.atom.gnustep.wm_attr,
						     w_global.atom.gnustep.wm_attr, 32, 9, NULL);

	if (!data)
		return False;

	*attr = malloc(sizeof(GNUstepWMAttributes));
	if (!*attr) {
		XFree(data);
		return False;
	}
	(*attr)->flags = data[0];
	(*attr)->window_style = data[1];
	(*attr)->window_level = data[2];
	(*attr)->reserved = data[3];
	(*attr)->miniaturize_pixmap = data[4];
	(*attr)->close_pixmap = data[5];
	(*attr)->miniaturize_mask = data[6];
	(*attr)->close_mask = data[7];
	(*attr)->extra_flags = data[8];

	XFree(data);

	return True;
}
Beispiel #2
0
static int getMWMHints(Window window, MWMHints *mwmhints)
{
	unsigned long *data;
	int count;

	if (!_XA_MOTIF_WM_HINTS)
		_XA_MOTIF_WM_HINTS = XInternAtom(dpy, "_MOTIF_WM_HINTS", False);

	data = (unsigned long *)PropGetCheckProperty(window, _XA_MOTIF_WM_HINTS,
						     _XA_MOTIF_WM_HINTS, 32, 0, &count);

	if (!data)
		return 0;

	mwmhints->flags = 0;
	if (count >= 4) {
		mwmhints->flags = data[0];
		mwmhints->functions = data[1];
		mwmhints->decorations = data[2];
		mwmhints->inputMode = data[3];
		if (count > 5)
			mwmhints->unknown = data[4];
	}
	XFree(data);

	return 1;
}
Beispiel #3
0
Window PropGetClientLeader(Window window)
{
	Window *win;
	Window leader;

	win = (Window *) PropGetCheckProperty(window, w_global.atom.wm.client_leader, XA_WINDOW, 32, 1, NULL);

	if (!win)
		return None;

	leader = (Window) *win;
	XFree(win);

	return leader;
}
Beispiel #4
0
int PropGetWindowState(Window window)
{
	long *data;
	long state;

	data = (long *)PropGetCheckProperty(window, w_global.atom.wm.state,
				w_global.atom.wm.state, 32, 1, NULL);

	if (!data)
		return -1;

	state = *data;
	XFree(data);

	return state;
}