about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2016-08-12T11·18+0800
committerChris Feng <chris.w.feng@gmail.com>2016-08-12T11·18+0800
commitdb5128c1b9f77ecefd62a7150ccbdef33dd870af (patch)
tree6a6078d9d3bdd28e4dab4c28398aa698c408a810 /exwm-manage.el
parent8e3fc3602f649fca47a61a2be2072521a352a62a (diff)
Fix CreateWindow attributes
; Also fix various compile warnings.

* exwm-floating.el (exwm-floating--set-floating):
* exwm-manage.el (exwm-manage--manage-window):
* exwm-systemtray.el (exwm-systemtray--init):
* exwm-workspace.el (exwm-workspace--add-frame-as-workspace)
(exwm-workspace--init):
* exwm.el (exwm--init-icccm-ewmh):
Explicitly specify the class (InputOutput or InputOnly) and for an
InputOutput X window the background pixmap when creating an X window.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el18
1 files changed, 13 insertions, 5 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index b88312455d..a8713ff714 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -83,6 +83,7 @@ corresponding buffer.")
 (defvar exwm-workspace--current)
 (defvar exwm-workspace--switch-history-outdated)
 (defvar exwm-workspace-current-index)
+(defvar exwm-workspace--workareas)
 
 (declare-function exwm--update-window-type "exwm.el" (id &optional force))
 (declare-function exwm--update-class "exwm.el" (id &optional force))
@@ -208,14 +209,21 @@ corresponding buffer.")
       (setq exwm--container (xcb:generate-id exwm--connection))
       (xcb:+request exwm--connection
           (make-instance 'xcb:CreateWindow
-                         :depth 0 :wid exwm--container
+                         :depth 0
+                         :wid exwm--container
                          :parent (frame-parameter exwm-workspace--current
                                                   'exwm-workspace)
-                         :x 0 :y 0 :width 1 :height 1 :border-width 0
-                         :class xcb:WindowClass:CopyFromParent
-                         :visual 0      ;CopyFromParent
-                         :value-mask (logior xcb:CW:OverrideRedirect
+                         :x 0
+                         :y 0
+                         :width 1
+                         :height 1
+                         :border-width 0
+                         :class xcb:WindowClass:InputOutput
+                         :visual 0
+                         :value-mask (logior xcb:CW:BackPixmap
+                                             xcb:CW:OverrideRedirect
                                              xcb:CW:EventMask)
+                         :background-pixmap xcb:BackPixmap:ParentRelative
                          :override-redirect 1
                          :event-mask xcb:EventMask:SubstructureRedirect))
       (exwm--debug