[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17439: 24.3.50; run-with-idle-timer runs on focus-out
From: |
Juri Linkov |
Subject: |
bug#17439: 24.3.50; run-with-idle-timer runs on focus-out |
Date: |
Mon, 12 May 2014 00:31:48 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (x86_64-pc-linux-gnu) |
>> + (unless (and (consp last-input-event)
>> + (symbolp (car last-input-event))
>> + (memq (car last-input-event)
>
> Aka (unless (memq (car-safe last-input-event)
This is what I thought about, but decided to keep
code consistency with `mouse-avoidance-ignore-p'.
But `mouse-avoidance-ignore-p' could be optimized too.
>> + '(
>> + ;; `run-with-idle-timer' generates the `focus-out'
>
> Huh? `run-with-idle-timer' is not supposed to generate any event.
It runs on `focus-out', as this short test demonstrates:
(defun test () (message "%S" last-input-event))
(setq timer (run-with-idle-timer 0.1 t 'test))
It generates:
(focus-in #<frame emacs@localhost 0x1121908>)
(focus-out #<frame emacs@localhost 0x1121908>)
>> + ;; event on switching out from the current frame,
>> + ;; but `raise-frame' brings the same frame back,
>> + ;; so ignore `focus-out' here.
>> + focus-out
>
> Running mouse avoidance after focus-out does not seem very useful, so we
> should filter out focus-out elsewhere than here.
I'll move `focus-out' back to `mouse-avoidance-ignore-p'
to not move the mouse pointer on `focus-out'.
>> + ;; Some window managers generate the `focus-in' event
>> + ;; when showing the Window List,
>
> What means "showing the Window List"?
It depends on the desktop environment, but usually this is a list of windows
shown after typing Alt-Tab.
>> + ;; but `raise-frame' forcibly switches to an Emacs
>> frame when the Window List is active,
>
> I don't know what this is talking about either.
This is specific behavior observed at least in one window manager (Gnome 2),
where typing Alt-Tab shows the Window List and generates the `focus-in' event
in Emacs at the same time.
>> + ;; so `focus-in' needs to be ignored here too.
>
> Shouldn't `switch-frame' be ignored for similar reasons, then?
Currently `switch-frame' is ignored in `mouse-avoidance-ignore-p',
so the mouse pointer is not moved when `switch-frame' is generated
in a new frame after switching between Emacs frames.
But maybe it should be handled like `focus-in', i.e. also
to not ignore it in `mouse-avoidance-ignore-p' and to move
the mouse pointer after switching between Emacs frames.
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/08
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Eli Zaretskii, 2014/05/09
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/09
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Eli Zaretskii, 2014/05/10
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/10
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/11
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Stefan Monnier, 2014/05/11
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out,
Juri Linkov <=
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Stefan Monnier, 2014/05/11
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/12
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Stefan Monnier, 2014/05/13
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/20
- bug#17439: 24.3.50; run-with-idle-timer runs on focus-out, Juri Linkov, 2014/05/20