about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2015-09-27T11·31+0800
committerChris Feng <chris.w.feng@gmail.com>2015-09-27T11·43+0800
commit5184f0d7c1b540a6241904528d068dce288a911e (patch)
tree1f7cecd5399eb739293104f8e5dc9c6cab50b5d6 /exwm-manage.el
parentf685de12d464b334ba7efdfe67e989dd63a96fa0 (diff)
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.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index d83fc447d6..ae707f73ee 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -124,8 +124,9 @@ corresponding buffer.")
             (xcb:+request exwm--connection
                 (make-instance 'xcb:ConfigureWindow
                                :window id
-                               :value-mask (logior xcb:ConfigWindow:X
-                                                   xcb:ConfigWindow:Y)
+                               :value-mask (eval-when-compile
+                                             (logior xcb:ConfigWindow:X
+                                                     xcb:ConfigWindow:Y))
                                :x (/ (- (frame-pixel-width
                                          exwm-workspace--current)
                                         width)