summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi R Kiran <aine.marina@gmail.com>2021-08-22 13:25:15 (GMT)
committerRavi R Kiran <aine.marina@gmail.com>2021-08-22 13:25:15 (GMT)
commit3e9d1729bb17c5865ec7e195f40c82e23ace29a4 (patch)
treef48c28eb5de4d11b786300266826808ebb872441
parent04abd48a031b8a536096c053cabfb02f55d7531d (diff)
downloaddotemacs-3e9d1729bb17c5865ec7e195f40c82e23ace29a4.zip
dotemacs-3e9d1729bb17c5865ec7e195f40c82e23ace29a4.tar.gz
dotemacs-3e9d1729bb17c5865ec7e195f40c82e23ace29a4.tar.bz2
Work under wayland too
-rw-r--r--init.el19
1 files changed, 16 insertions, 3 deletions
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)