about summary refs log tree commit diff
path: root/exwm-randr.el
diff options
context:
space:
mode:
authorPhilip <pipcet@gmail.com>2015-08-24T19·09+0000
committerPhilip <pipcet@gmail.com>2015-08-24T19·12+0000
commit94bdbfc0da7c8ef14acdc8aa4e73dc1c8fee9700 (patch)
treeddfe7add7d2dee590f8d366eefbef930067c3ebd /exwm-randr.el
parent5882015eb5a21cb859794388e21d6dc023764480 (diff)
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
Diffstat (limited to 'exwm-randr.el')
-rw-r--r--exwm-randr.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/exwm-randr.el b/exwm-randr.el
index cd40fb43bd3f..6bddb00139bb 100644
--- a/exwm-randr.el
+++ b/exwm-randr.el
@@ -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