Fix with-slots

* exwm-randr.el (exwm-randr--refresh): Could not set the name slot in
  xcb:randr:GetOutputInfo~reply, turn to another variable.
This commit is contained in:
Chris Feng 2015-09-11 21:00:27 +08:00
parent cfbd9a5a45
commit 576a676f1f

View file

@ -48,7 +48,7 @@
(defun exwm-randr--refresh () (defun exwm-randr--refresh ()
"Refresh workspaces according to the updated RandR info." "Refresh workspaces according to the updated RandR info."
(let (geometry output-plist default-geometry workareas viewports) (let (output-name geometry output-plist default-geometry workareas viewports)
;; Query all outputs ;; Query all outputs
(with-slots (config-timestamp outputs) (with-slots (config-timestamp outputs)
(xcb:+request-unchecked+reply exwm--connection (xcb:+request-unchecked+reply exwm--connection
@ -60,11 +60,11 @@
(make-instance 'xcb:randr:GetOutputInfo (make-instance 'xcb:randr:GetOutputInfo
:output output :output output
:config-timestamp config-timestamp)) :config-timestamp config-timestamp))
(setq name ;UTF-8 encoded (setf output-name ;UTF-8 encoded
(decode-coding-string (apply #'unibyte-string name) 'utf-8)) (decode-coding-string (apply #'unibyte-string name) 'utf-8))
(if (or (/= connection xcb:randr:Connection:Connected) (if (or (/= connection xcb:randr:Connection:Connected)
(= 0 crtc)) ;FIXME (= 0 crtc)) ;FIXME
(plist-put output-plist name nil) (plist-put output-plist output-name nil)
(with-slots (x y width height) (with-slots (x y width height)
(xcb:+request-unchecked+reply exwm--connection (xcb:+request-unchecked+reply exwm--connection
(make-instance 'xcb:randr:GetCrtcInfo (make-instance 'xcb:randr:GetCrtcInfo
@ -73,7 +73,7 @@
(setq geometry (make-instance 'xcb:RECTANGLE (setq geometry (make-instance 'xcb:RECTANGLE
:x x :y y :x x :y y
:width width :height height) :width width :height height)
output-plist (plist-put output-plist name geometry)) output-plist (plist-put output-plist output-name geometry))
(unless default-geometry ;assume the first output as primary (unless default-geometry ;assume the first output as primary
(setq default-geometry geometry))))))) (setq default-geometry geometry)))))))
(cl-assert (<= 2 (length output-plist))) (cl-assert (<= 2 (length output-plist)))