Function: ghostel--focus-change
ghostel--focus-change is a natively compiled function defined in
ghostel.el.
Signature
(ghostel--focus-change &rest _)
Documentation
Send terminal focus events for every live ghostel buffer.
Called from after-focus-change-function, window-selection-change-functions,
window-buffer-change-functions. Sends a focus event only when the buffer's
logical focus state transitions. Further gates on terminal mode 1004.
Source Code
;; Defined in /nix/store/1252krff0gb2kisjcpp45m50cpdskfrl-emacs-packages-deps/share/emacs/site-lisp/ghostel.el
(defun ghostel--focus-change (&rest _)
"Send terminal focus events for every live ghostel buffer.
Called from `after-focus-change-function', `window-selection-change-functions',
`window-buffer-change-functions'. Sends a focus event only when the buffer's
logical focus state transitions. Further gates on terminal mode 1004."
(dolist (buf (buffer-list))
(when (buffer-live-p buf)
(with-current-buffer buf
(when (derived-mode-p 'ghostel-mode)
(let ((focused (and (ghostel--buffer-focused-p buf) t)))
(when (and (not (eq focused ghostel--focus-state))
(ghostel--focus-event ghostel--term focused))
(setq ghostel--focus-state focused))))))))