Avoid using the "no window manager" code in Emacs

* exwm.el (exwm--on-ClientMessage): Handle fullscreen requests
	for frames.
	(exwm-init): Initialize workspaces after unlocking events.

	* exwm-workspace.el (exwm-workspace--init): Create frames as
	invisible, then make them visible only once their OverrideRedirect
	property has been set.

	* exwm-randr.el (exwm-randr--refresh): New frame parameter
	`exwm-geometry'.

	* exwm-layout.el (exwm-layout--set-frame-fullscreen): New
        function.

The Emacs code is buggy, see https://github.com/ch11ng/exwm/issues/39

https://github.com/ch11ng/exwm/pull/42
This commit is contained in:
Philip 2015-08-24 19:09:42 +00:00
parent 5882015eb5
commit 94bdbfc0da
4 changed files with 60 additions and 6 deletions

View file

@ -85,6 +85,12 @@
(setq geometry default-geometry
output nil))
(set-frame-parameter frame 'exwm-randr-output output)
(set-frame-parameter frame 'exwm-geometry
(make-instance 'xcb:RECTANGLE
:x (elt geometry 0)
:y (elt geometry 1)
:width (elt geometry 2)
:height (elt geometry 3)))
(set-frame-parameter frame 'exwm-x (elt geometry 0))
(set-frame-parameter frame 'exwm-y (elt geometry 1))
(xcb:+request exwm--connection