Julien Cubizolles <j.cubizol...@free.fr> writes: > All the org-*-idle-seconds func test at some point for > org-x11idle-exists-p which is defvar-ed at load time. > > For me, org-x11idle-exists-p is always nil at startup, but is set to > true if I eval it later on. I guess it's because I'm starting Emacs in > daemon mode, (as a systemd user service actually), and > org-x11idle-exists-p relies on (eq window-system 'x) which is somehow > not set in the terminal when the daemon. > > For the time being, it manually set org-x11idle-exists-p to true but > shouldn't all this tests on (eq-window-system) be run each time a new > frame is created ?
Does the attached patch work for you?
>From 95ec1073ab27bbfe522b25c9852f1e5e85e38e32 Mon Sep 17 00:00:00 2001 Message-Id: <95ec1073ab27bbfe522b25c9852f1e5e85e38e32.1666931293.git.yanta...@posteo.net> From: Ihor Radchenko <yanta...@posteo.net> Date: Fri, 28 Oct 2022 12:26:09 +0800 Subject: [PATCH] org-x11idle-exists-p: Do not demand X window system at load time * lisp/org-clock.el (org-x11idle-exists-p): Do not check if load-time `window-system' is `x'. Instead, rely on the check in `org-user-idle-seconds'. Emacs may start as a daemon and hence `window-system' may not yet be `x' during startup. Reported-by: Julien Cubizolles <j.cubizol...@free.fr> Link: https://orgmode.org/list/871qqs6gqs....@free.fr --- lisp/org-clock.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index e98a34f0d..ca026c44f 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -1201,8 +1201,7 @@ (defun org-mac-idle-seconds () (defvar org-x11idle-exists-p ;; Check that x11idle exists - (and (eq window-system 'x) - (eq 0 (call-process-shell-command + (and (eq 0 (call-process-shell-command (format "command -v %s" org-clock-x11idle-program-name))) ;; Check that x11idle can retrieve the idle time ;; FIXME: Why "..-shell-command" rather than just `call-process'? -- 2.35.1
-- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>