From 3e9d1729bb17c5865ec7e195f40c82e23ace29a4 Mon Sep 17 00:00:00 2001 From: Ravi R Kiran Date: Sun, 22 Aug 2021 08:25:15 -0500 Subject: Work under wayland too diff --git a/init.el b/init.el index 90bae9c..d76cf6d 100644 --- a/init.el +++ b/init.el @@ -99,15 +99,28 @@ :ensure nil) (require 's) +(require 'dash) +(require 'dbus) (require 'ravi-ergodox-mode) -(let* ((xinput-string (and window-system (shell-command-to-string "xinput"))) - (xorg-ergodox (and window-system (s-contains? "Ergodox" xinput-string))) +(let* ((under-wayland (and window-system (not (s-blank-str-p (getenv "WAYLAND_DISPLAY"))))) + (xorg-ergodox (and window-system + (if under-wayland + (-any? (lambda (n) + (s-contains? "Ergodox" + (dbus-get-property :session "org.kde.KWin" + (concat "/org/kde/KWin/InputDevice/" n) + "org.kde.KWin.InputDevice" "name"))) + (dbus-get-property :session "org.kde.KWin" "/org/kde/KWin/InputDevice" + "org.kde.KWin.InputDeviceManager" "devicesSysNames")) + (s-contains? "Ergodox" (shell-command-to-string "xinput"))))) (under-xming (and window-system (or xorg-ergodox (s-contains? "vendor string: Colin Harrison" (shell-command-to-string "xdpyinfo"))))) (using-kitty (and (not window-system) - (string-match "^xterm-kitty" (getenv-internal "TERM" initial-environment))))) + (s-starts-with? "xterm-kitty" (getenv-internal "TERM" initial-environment))))) + ;; (message "Under wayland: %s" (prin1-to-string under-wayland)) + ;; (message "xorg-ergodox: %s" (prin1-to-string xorg-ergodox)) (if (or xorg-ergodox under-xming using-kitty) (progn (ravi-ergodox-mode) -- cgit v0.10.1