воскресенье, 29 мая 2016 г.

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)")))))

0 коммент. :

Отправить комментарий

Следующее Предыдущее Главная страница

Blogger Template by Blogcrowds