X window manager stuff...

Archives Forums/Linux Discussion/X window manager stuff...

marksibly(Posted 2007) [#1]
Anyone know how to create an 'undecorated' window in X (in 'C') ?

Or, more generally, how to control the window's type - eg: what decorations it has.

It apparently involves using XChangeProperty to set 'window manager hints', but I have no idea where to start.

Here's the open window code so far:
XSetWindowAttributes swa;

	swa.event_mask=
		FocusChangeMask|
		KeyPressMask|KeyReleaseMask|
		ButtonPressMask|ButtonReleaseMask|PointerMotionMask|
		ExposureMask|
		StructureNotifyMask;

	swa. override_redirect=0;

	Window xwindow=XCreateWindow(
			_display,_rootWindow,
			0,0,width,height,
			0,																	//border_width ?
			CopyFromParent,											//depth
			InputOutput,												//class
			CopyFromParent,											//visual type
			CWEventMask | CWOverrideRedirect,
			&swa
		);

If I set the override_redirect flag, it does indeed create a raw, borderless window, but this sounds nasty as it bypasses the window manager altogether and doesn't help with combinations of decorations...


Brucey(Posted 2007) [#2]
Your best bet are these excellent docs : http://www.tronche.com/gui/x/xlib/

Helped me solve the Linux AppTitle bug a while back...

:-)