stumpwm/external-screens.lisp @ 890e2d48b6f7

More
author Steve Losh <steve@stevelosh.com>
date Wed, 22 Oct 2025 15:28:13 -0400
parents 4673e928c08e
children (none)
(in-package :stumpwm-user)

(defcommand screen-laptop () ()
  (only)
  (hostcase
    ((:gro :juss) (loop :with laptop = "eDP"
                        :with extern = (hostcase (:gro "DisplayPort-0")
                                                 (:juss "HDMI-A-0"))
                        :for (output commands) :in `((,laptop ("--auto"))
                                                     (,laptop ("--primary"))
                                                     (,extern ("--off")))
                        :do (progn (uiop:run-program `("xrandr" "--output" ,output ,@commands)))))
    (t (message "Not configured on this system."))))

(defcommand screen-external () ()
  (only)
  (hostcase
    ((:gro :juss) (loop :with laptop = "eDP"
                        :with extern = (hostcase (:gro "DisplayPort-0")
                                                 (:juss "HDMI-A-0"))
                        :for (output commands) :in `((,extern ("--auto"))
                                                     (,extern ("--primary"))
                                                     (,laptop ("--off")))
                        :do (uiop:run-program `("xrandr" "--output" ,output ,@commands))))
    (t (message "Not configured on this system."))))

(defcommand screen-alan () ()
  (hostcase
    ((:juss) (loop :with laptop = "eDP"
                   :with extern = "DisplayPort-0"
                   :for (output commands) :in `((,laptop ("--mode" "1920x1080"))
                                                (,extern ("--mode" "1920x1080" "--same-as" "eDP")))
                   :do (uiop:run-program `("xrandr" "--output" ,output ,@commands))))
    (t (message "Not configured on this system."))))