skupienie aplikacji na ramce emacsclient

10

Używam emacs24 i zwykle uruchamiam emacs jako demon na początku, a następnie używam ramek emacsclient.

Ale napotkałem problem: po utworzeniu pierwszej ramki, a następnie za każdym razem, gdy utworzyłem nową ramkę (po zamknięciu pierwszej ramki), pojawiał się komunikat systemowy "emacs24@myusername" is ready, aby nowa ramka straciła ostrość (fokus jest na wiadomość), co jest dość denerwujące. Wygląda na to, że dzieje się tak, ponieważ nawet jeśli zamknę wszystkie ramki, niektóre bufory są nadal otwarte (jak Scratch i Messages ). Zastanawiam się tylko, czy istnieje sposób, aby zapobiec wyskakiwaniu komunikatu systemowego?

Dzięki!

EDYCJA: zapomniałem wspomnieć, że używam Gnome 3.

użytkownik69818
źródło

Odpowiedzi:

9

Oto co robię:

(server-start)
(defun px-raise-frame-and-give-focus ()
  (when window-system
    (raise-frame)
    (x-focus-frame (selected-frame))
    (set-mouse-pixel-position (selected-frame) 4 4)
    ))
(add-hook 'server-switch-hook 'px-raise-frame-and-give-focus)
yPhil
źródło
2
Dzięki! Naprawdę mi to przeszkadzało w Ubuntu 16.04 i rozwiązałem to z/usr/bin/emacsclient -c -e "(progn (raise-frame) (x-focus-frame (selected-frame)))"
Marduk