From 5184f0d7c1b540a6241904528d068dce288a911e Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sun, 27 Sep 2015 19:31:00 +0800 Subject: Work around subrs that block EXWM; other minor fixes Some subrs (e.g. x-file-dialog) create X windows and block the execution of EXWM, so they won't work normally. This commit partly fixes this issue by invoking them in a subordinate Emacs instance and trying to fetch the result back. * exwm.el (exwm-blocking-subrs): New variable for specify such subrs. * exwm.el (exwm-enable, exwm--server-name, exwm--server-stop) (exwm--server-eval-at): The implementation. * exwm-core.el: * exwm-floating.el: * exwm-layout.el: * exwm-manage.el: * exwm-randr.el: Evaluate constants at compile-time. * README.md: Renamed from README.org to make the 'Commentary:' section used by GNU ELPA instead. * exwm.el: Depends on XELB version 0.3. --- exwm-core.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'exwm-core.el') diff --git a/exwm-core.el b/exwm-core.el index 0f39c2d344e8..1ac867865988 100644 --- a/exwm-core.el +++ b/exwm-core.el @@ -69,12 +69,14 @@ (make-instance 'xcb:ChangeWindowAttributes :window exwm--root :value-mask xcb:CW:EventMask - :event-mask (logior xcb:EventMask:StructureNotify - xcb:EventMask:SubstructureRedirect))) + :event-mask (eval-when-compile + (logior xcb:EventMask:SubstructureRedirect + xcb:EventMask:StructureNotify)))) (xcb:flush exwm--connection)) (defconst exwm--client-event-mask - (logior xcb:EventMask:StructureNotify xcb:EventMask:PropertyChange) + (eval-when-compile + (logior xcb:EventMask:StructureNotify xcb:EventMask:PropertyChange)) "Event mask set on all managed windows.") ;; Internal variables -- cgit 1.4.1