about summary refs log tree commit diff
path: root/exwm-manage.el
diff options
context:
space:
mode:
Diffstat (limited to 'exwm-manage.el')
-rw-r--r--exwm-manage.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/exwm-manage.el b/exwm-manage.el
index f44071020d2d..ba5bc83b00fa 100644
--- a/exwm-manage.el
+++ b/exwm-manage.el
@@ -123,8 +123,14 @@ You can still make the X windows floating afterwards."
     (unless (and exwm--geometry (not force))
       (let ((reply (xcb:+request-unchecked+reply exwm--connection
                        (make-instance 'xcb:GetGeometry :drawable id))))
-        (when reply                     ;nil when destroyed
-          (setq exwm--geometry reply))))))
+        (setq exwm--geometry
+              (or reply
+                  ;; Provide a reasonable fallback value.
+                  (make-instance 'xcb:RECTANGLE
+                                 :x 0
+                                 :y 0
+                                 :width (/ (x-display-pixel-width) 2)
+                                 :height (/ (x-display-pixel-height) 2))))))))
 
 (defun exwm-manage--update-ewmh-state (id)
   "Update _NET_WM_STATE."