about summary refs log tree commit diff
path: root/exwm-workspace.el
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2018-11-04T00·00+0000
committerChris Feng <chris.w.feng@gmail.com>2018-11-04T00·00+0000
commite597ab4f785982d44f56f61ba113b54c501256ac (patch)
tree34d5c14c4f701691187128313bdb2be6c64b45cf /exwm-workspace.el
parentfec85bb72a2d93fb86949f3409327b0f88ae60bc (diff)
Add support for RandR 1.5 monitor
* exwm-randr.el (exwm-randr-workspace-monitor-plist): New user option
for specifying which monitor each workspace should be displayed on.
(exwm-randr-workspace-monitor-plist): Made obsolete.
(exwm-randr--get-monitors): New function for fetching active monitors.
(exwm-randr--refresh): Adapted to use monitor.
(exwm-randr--init): Now requires RandR 1.5.

* exwm-randr.el:
* exwm-workspace.el: Rename `output' to `monitor'.
Diffstat (limited to 'exwm-workspace.el')
-rw-r--r--exwm-workspace.el18
1 files changed, 9 insertions, 9 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 383bf530b8..b8e48b2586 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -374,7 +374,7 @@ NIL if FRAME is not a workspace"
   (run-hooks 'exwm-workspace--update-workareas-hook))
 
 (defun exwm-workspace--set-active (frame active)
-  "Make frame FRAME active on its output."
+  "Make frame FRAME active on its monitor."
   (exwm--log "active=%s; frame=%s" frame active)
   (set-frame-parameter frame 'exwm-active active)
   (if active
@@ -543,15 +543,15 @@ for internal use only."
         (set-frame-parameter (buffer-local-value 'exwm--frame (window-buffer))
                              'exwm-selected-window (selected-window)))
       ;; Show/Hide X windows.
-      (let ((output-old (frame-parameter old-frame 'exwm-randr-output))
-            (output-new (frame-parameter frame 'exwm-randr-output))
+      (let ((monitor-old (frame-parameter old-frame 'exwm-randr-monitor))
+            (monitor-new (frame-parameter frame 'exwm-randr-monitor))
             (active-old (exwm-workspace--active-p old-frame))
             (active-new (exwm-workspace--active-p frame))
             workspaces-to-hide)
         (cond
          ((not active-old)
           (exwm-workspace--set-active frame t))
-         ((equal output-old output-new)
+         ((equal monitor-old monitor-new)
           (exwm-workspace--set-active frame t)
           (unless (eq frame old-frame)
             (exwm-workspace--set-active old-frame nil)
@@ -560,8 +560,8 @@ for internal use only."
          (t
           (dolist (w exwm-workspace--list)
             (when (and (exwm-workspace--active-p w)
-                       (equal output-new
-                              (frame-parameter w 'exwm-randr-output)))
+                       (equal monitor-new
+                              (frame-parameter w 'exwm-randr-monitor)))
               (exwm-workspace--set-active w nil)
               (setq workspaces-to-hide (append workspaces-to-hide (list w)))))
           (exwm-workspace--set-active frame t)))
@@ -818,8 +818,8 @@ INDEX must not exceed the current number of workspaces."
           ;; Floating.
           (setq container (frame-parameter exwm--floating-frame
                                            'exwm-container))
-          (unless (equal (frame-parameter old-frame 'exwm-randr-output)
-                         (frame-parameter frame 'exwm-randr-output))
+          (unless (equal (frame-parameter old-frame 'exwm-randr-monitor)
+                         (frame-parameter frame 'exwm-randr-monitor))
             (with-slots (x y)
                 (xcb:+request-unchecked+reply exwm--connection
                     (make-instance 'xcb:GetGeometry
@@ -1240,7 +1240,7 @@ Please check `exwm-workspace--minibuffer-own-frame-p' first."
     ;; prevent potential problems.  The values do not matter here as
     ;; they'll be updated by the RandR module later.
     (let ((w (car exwm-workspace--list)))
-      (dolist (param '(exwm-randr-output
+      (dolist (param '(exwm-randr-monitor
                        exwm-geometry))
         (set-frame-parameter frame param (frame-parameter w param))))
     (xcb:+request exwm--connection