[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Support for explicitly resetting the idle timer?
From: |
Eli Zaretskii |
Subject: |
Re: Support for explicitly resetting the idle timer? |
Date: |
Sat, 27 Nov 2021 10:02:42 +0200 |
> Date: Sat, 27 Nov 2021 18:54:56 +1100
> From: Campbell Barton <ideasman42@gmail.com>
>
> There is a package I use/maintain which implements something like
> Firefox's auto-scroll (click-drag to scroll up/down) [0].
>
> An issue with this is (unlike mouse wheel scrolling) using track-mouse
> doesn't handle keyboard events in a way that resets the idle timer.
>
> So while scrolling, idle timers may run (which can cause visible
> stuttering).
>
> I've worked around this by locally let binding `timer-idle-list` to nil,
> however this back-fires if any timers are added while scrolling (rare
> but possible), workarounds for this are possible - but they involve
> clearing the list while scrolling then moving the contents into the real
> `timer-idle-list` list... which as far as I can see is quite error
> prone, especially if packages are inspecting the contents of this list.
>
> All this complexity could be avoided if the function `timer_stop_idle`
> in ./src/keyboard.c was exposed to elisp, this way scripts that use
> mouse input could explicitly reset the idle timer on mouse based
> user-interaction (when it makes sense).
The cleanest solution in this case would be to call timer_stop_idle if
Emacs is executing a command, no matter how it was invoked. In fact,
I'm surprised that we don't stop idle timers when track-mouse invokes
commands: it sounds like a bug we should fix.
- Support for explicitly resetting the idle timer?, Campbell Barton, 2021/11/27
- Re: Support for explicitly resetting the idle timer?,
Eli Zaretskii <=
- Re: Support for explicitly resetting the idle timer?, Campbell Barton, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Eli Zaretskii, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Campbell Barton, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Eli Zaretskii, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Campbell Barton, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Eli Zaretskii, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Campbell Barton, 2021/11/27
- Re: Support for explicitly resetting the idle timer?, Eli Zaretskii, 2021/11/27