Quitter Emacs et renommer le pavé tactile


8

J'ai le code elisp ci-dessous dans ma configuration emacs qui désactive mon pavé tactile, donc cela ne me gênera pas lors de l'écriture.

;; disable touchpad when on emacs

(defun turn-off-mouse (&optional frame)
  (interactive)
  (call-process-shell-command "xinput --disable bcm5974"
                              nil "*Shell command output*" t))

(defun turn-on-mouse (&optional frame)
  (interactive)
  (call-process-shell-command "xinput --enable bcm5974"
                              nil "*Shell command output*" t))

(add-hook 'focus-in-hook #'turn-off-mouse)
(add-hook 'focus-out-hook #'turn-on-mouse)
(add-hook 'delete-frame-functions #'turn-on-mouse)

(provide 'setup-xinput)

Cela fonctionne bien; le problème ne se pose que lorsque vous quittez Emacs.

Si je quitte Emacs sur Emacs, mon pavé tactile reste désactivé. Je dois donc ouvrir un nouveau terminal avec le clavier et exécuter xinput --enable bcm5974.

Y a-t-il une solution à cela? Comment pourrais-je quitter Emacs et en quittant la réactivation de mon pavé tactile?

Réponses:


11

Vous pouvez utiliser kill-emacs-hookce qui est exécuté lorsque emacs est quitté «normalement».

Hook run when kill-emacsest appelé. Étant donné que kill-emacspeut être invoqué lorsque le terminal est déconnecté (ou dans d'autres situations similaires), les fonctions placées sur ce crochet ne doivent pas s'attendre à pouvoir interagir avec l'utilisateur. Pour demander une confirmation, voir à la kill-emacs-query-functionsplace.

Ajoutez simplement turn-on-mouseà kill-emacs-hookaimer

(add-hook 'kill-emacs-hook #'turn-on-mouse)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.