Я использую Wanderlust с Emacs для OSX 10.6.8 (Snow Leopard) и часто переключаюсь на другое приложение, пока Wanderlust выполняет предварительную загрузку электронной почты и организует сводные буферы. На нескольких этапах этого процесса Emacs получает фокус и отвлекает меня от всего, что я делал в другом приложении. Я не думаю, что в Wanderlust есть какие-либо встроенные сценарии яблок, и я их не добавил, поэтому я понятия не имею, что может заставить Emacs требовать сосредоточенности. Любые идеи, как оставить Emacs в фоновом режиме при обновлении Wanderlust?
1 ответ
В этом конкретном случае я изменил wl-summary-get-buffer-create
чтобы использовать настраиваемую функцию display-buffer
( https://stackoverflow.com/a/18371427/2112489 ). Когда эта функция была выполнена, Emacs сфокусировался на OSX 10.6.8 (после того, как он вернулся).
Функция wl-summary-goto-folder-subr
может занять значительное время для выполнения в зависимости от различных факторов и пользовательских настроек, и эта функция также использует wl-summary-get-buffer-create
.
Если Emacs каким-то таинственным образом получает фокус после того, как вернулся обратно, обратите внимание на использование таких функций, как display-buffer
и select-window
и set-window-buffer
и специальных функций, таких как switch-to-frame
: https://stackoverflow.com/a/17824173/2112489 Наиболее вероятными подозреваемыми являются: select-frame-set-input-focus
, который содержит такие функции, как: x-focus-frame
, raise-frame
, select-frame
.