about summary refs log tree commit diff
path: root/third_party/exwm/exwm-core.el
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-03-30T09·25+0200
committerVincent Ambo <mail@tazj.in>2022-03-30T09·25+0200
commit79d1345012b1542b44a682bb7b99e0615187e4b5 (patch)
tree81e7b80cb26743d0d0a4af8f7aa6a826a489ac79 /third_party/exwm/exwm-core.el
parent8e85079012dd9869753d0f60849f83b8f3cb6459 (diff)
parente43bd782580fc7f2aa7f5f92da1c5d7c992b6d1c (diff)
subtree(3p/exwm): Update to commit 'e43bd782' r/3921
Change-Id: I832c4d7f26e8fa4a2d7c3f26a81ba981ebbc1d8c
Diffstat (limited to 'third_party/exwm/exwm-core.el')
-rw-r--r--third_party/exwm/exwm-core.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/third_party/exwm/exwm-core.el b/third_party/exwm/exwm-core.el
index 5356ef9b97e1..995b590dc582 100644
--- a/third_party/exwm/exwm-core.el
+++ b/third_party/exwm/exwm-core.el
@@ -193,6 +193,21 @@ least SECS seconds later."
               (lsh (lsh (pop rgb) -8) 8)
               (lsh (pop rgb) -8)))))
 
+(defun exwm--get-visual-depth-colormap (conn id)
+  "Get visual, depth and colormap from X window ID.
+Return a three element list with the respective results."
+  (let (ret-visual ret-depth ret-colormap)
+    (with-slots (visual colormap)
+        (xcb:+request-unchecked+reply conn
+            (make-instance 'xcb:GetWindowAttributes :window id))
+      (setq ret-visual visual)
+      (setq ret-colormap colormap))
+    (with-slots (depth)
+        (xcb:+request-unchecked+reply conn
+            (make-instance 'xcb:GetGeometry :drawable id))
+      (setq ret-depth depth))
+    (list ret-visual ret-depth ret-colormap)))
+
 ;; Internal variables
 (defvar-local exwm--id nil)               ;window ID
 (defvar-local exwm--configurations nil)   ;initial configurations.