diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2018-11-04T00·00+0000 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2018-11-04T00·00+0000 |
commit | e597ab4f785982d44f56f61ba113b54c501256ac (patch) | |
tree | 34d5c14c4f701691187128313bdb2be6c64b45cf /exwm-workspace.el | |
parent | fec85bb72a2d93fb86949f3409327b0f88ae60bc (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.el | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/exwm-workspace.el b/exwm-workspace.el index 383bf530b8a6..b8e48b258677 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 |