From b6cae76bb57ea622c81df353f64dac5c81f9fc8d Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 1 Feb 2026 02:00:38 -0600 Subject: feat(env): add X11 and Wayland detection functions env-x11-p returns t when on X11 (not Wayland). env-wayland-p checks WAYLAND_DISPLAY env var, works with XWayland. --- modules/host-environment.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/host-environment.el b/modules/host-environment.el index 3cec5df1..af9248c2 100644 --- a/modules/host-environment.el +++ b/modules/host-environment.el @@ -44,6 +44,17 @@ "Return t if host system is running the X Window System." (string= (window-system) "x")) +(defun env-x11-p () + "Return t if running under X11 (not Wayland)." + (and (eq (window-system) 'x) + (not (getenv "WAYLAND_DISPLAY")))) + +(defun env-wayland-p () + "Return t if running under Wayland. +Checks WAYLAND_DISPLAY env var, which is set by Wayland compositors. +This returns t even if Emacs is running through XWayland." + (and (getenv "WAYLAND_DISPLAY") t)) + (defun env-terminal-p () "Return t if running in a terminal." (not (display-graphic-p))) -- cgit v1.2.3