about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2021-10-08T02·02-0700
committerWilliam Carroll <wpcarro@gmail.com>2021-10-08T02·02-0700
commit1909d4bd73101f89c0056c44076122da37866b9d (patch)
tree8cc4da083808cc7cff32932a00701e39edb9003b
parentf6ade91595b784dd3022dd79a82804ceb5ea4084 (diff)
Define 4k-vertical display
Back to having three monitors :)

I'm also calling `display-arrange-primary` in `exwm-init-hook`, which calls
`xrandr` to ensure my displays are configured as I expect.
-rw-r--r--emacs/.emacs.d/wpc/display.el20
-rw-r--r--emacs/.emacs.d/wpc/window-manager.el15
2 files changed, 28 insertions, 7 deletions
diff --git a/emacs/.emacs.d/wpc/display.el b/emacs/.emacs.d/wpc/display.el
index a3c54f1aa9da..24c00e3f73ea 100644
--- a/emacs/.emacs.d/wpc/display.el
+++ b/emacs/.emacs.d/wpc/display.el
@@ -41,7 +41,7 @@ NAME    - the human-readable identifier for the display
 OUTPUT  - the xrandr identifier for the display
 PRIMARY - if true, send --primary flag to xrandr
 COORDS  - X and Y offsets
-SIZE    - the pixel resolution of the display
+SIZE    - the pixel resolution of the display (width height)
 RATE    - the refresh rate
 DPI     - the pixel density in dots per square inch
 rotate  - one of {normal,left,right,inverted}
@@ -107,7 +107,8 @@ See the man-page for xrandr for more details."
 (display-register laptop
                   :output "eDP1"
                   :primary nil
-                  :size (3840 2160)
+                  :coords (2560 1440)
+                  :size (1920 1080)
                   :rate 30.0
                   :dpi 144
                   :rotate normal)
@@ -115,14 +116,23 @@ See the man-page for xrandr for more details."
 (display-register 4k-horizontal
                   :output "DP2"
                   :primary t
-                  :coords (0 1062)
-                  :size (3840 2160)
+                  :coords (0 0)
+                  :size (2560 1440)
                   :rate 30.0
                   :dpi 144
                   :rotate normal)
 
+(display-register 4k-vertical
+                  :output "HDMI1"
+                  :primary nil
+                  :coords (-1440 -560)
+                  :size (2560 1440)
+                  :rate 30.0
+                  :dpi 144
+                  :rotate left)
+
 (display-arrangement primary
-                     :displays (4k-horizontal laptop))
+                     :displays (laptop 4k-horizontal 4k-vertical))
 
 (provide 'display)
 ;;; display.el ends here
diff --git a/emacs/.emacs.d/wpc/window-manager.el b/emacs/.emacs.d/wpc/window-manager.el
index 98ee1cece96b..6030461da61b 100644
--- a/emacs/.emacs.d/wpc/window-manager.el
+++ b/emacs/.emacs.d/wpc/window-manager.el
@@ -72,7 +72,15 @@
         (make-window-manager--named-workspace
          :label "Coding"
          :kbd "d"
-         :display display-4k-horizontal))
+         :display display-4k-horizontal)
+        (make-window-manager--named-workspace
+         :label "Vertical"
+         :kbd "h"
+         :display display-4k-vertical)
+        (make-window-manager--named-workspace
+         :label "Laptop"
+         :kbd "p"
+         :display display-laptop))
   "List of `window-manager--named-workspace' structs.")
 
 ;; Assert that no two workspaces share KBDs.
@@ -337,7 +345,10 @@ predicate."
 ;; Startup Applications in `window-manager--named-workspaces'
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-(add-hook 'exwm-init-hook (lambda () (window-manager--switch "Coding")))
+(add-hook 'exwm-init-hook
+          (lambda ()
+            (display-arrange-primary)
+            (window-manager--switch "Coding")))
 
 (provide 'window-manager)
 ;;; window-manager.el ends here