End of term mode
Достаточно повозившись с классическим эмулятором терминала в Emacs, я понял что все, хватит с меня, и дальше буду использовать только старый добрый Xterm. А чтобы это было не менее удобно.. да вообще, чтобы просто было удобно добавил немного быдлокода:
(defvar emacs-xterm-pid nil)
(defun run-xterm ()
"Launch Xterm"
(async-shell-command
(concat "xterm -geometry 70x40-0+0 -e \"cd " default-directory " && bash\""))
(setq emacs-xterm-pid (shell-command-to-string "echo -n $(pgrep xterm | tail -1)"))) ;; убираем перевод(ы) строк
(defun xterm-window-manager ()
"Manage Xterm window, replacement f*ing term mode."
(interactive)
(cond ((not emacs-xterm-pid) (run-xterm))
((string= (shell-command-to-string (concat "kill -0 " emacs-xterm-pid " 2>/dev/null || echo -n no")) ;; процесс еще существует?
"no")
(run-xterm))
(t (shell-command (concat "wmctrl -i -a $(wmctrl -lp | grep"
" " emacs-xterm-pid " "
"| tr -s '[:space:]' | cut -d ' ' -f1)")))))
Отправить комментарий