Function: claude-code-ide--terminal-position-keeper
claude-code-ide--terminal-position-keeper is a natively compiled
function defined in claude-code-ide.el.
Signature
(claude-code-ide--terminal-position-keeper WINDOW-LIST)
Documentation
Maintain stable terminal view position across window switches.
WINDOW-LIST contains windows requiring position synchronization. Implements intelligent scroll management to preserve user context when navigating between terminal and other buffers.
Source Code
;; Defined in /nix/store/yjvbhwl7p6zrbw9xlnni7y4hra8sa3pl-emacs-packages-deps/share/emacs/site-lisp/claude-code-ide.el
(defun claude-code-ide--terminal-position-keeper (window-list)
"Maintain stable terminal view position across window switches.
WINDOW-LIST contains windows requiring position synchronization.
Implements intelligent scroll management to preserve user context
when navigating between terminal and other buffers."
(dolist (win window-list)
(if (eq win 'buffer)
;; Direct buffer point update
(goto-char (eat-term-display-cursor eat-terminal))
;; Window-specific position management
(unless buffer-read-only ; Skip when terminal is in navigation mode
(let ((terminal-point (eat-term-display-cursor eat-terminal)))
;; Update window point to match terminal state
(set-window-point win terminal-point)
;; Apply smart positioning strategy
(cond
;; Terminal at bottom: maintain bottom alignment for active prompts
((>= terminal-point (- (point-max) 2))
(with-selected-window win
(goto-char terminal-point)
(recenter -1))) ; Pin to bottom
;; Terminal out of view: restore visibility
((not (pos-visible-in-window-p terminal-point win))
(with-selected-window win
(goto-char terminal-point)
(recenter)))))))))