Dmitrii Kashin -> Debian Russian List @ Sat, 19 Jan 2013 14:12:10 +0400:
DK> Приветствую сообщество. Имею вопрос к сидящим здесь емаксерам. DK> Недавно я подумал о том, что помимо Emacs я запускаю всего две программы DK> - rtorrent и newsbeuter. Потому что первый средствами Emacs не DK> реализован, а nnrss - жутко медленная вещь. DK> Так вот, я захотел, чтобы при старте Emacs Daemon у меня бы создавались DK> буферы с терминалами, в которых работали бы эти две программы. DK> При помощи ielm я написал следующую функцию: DK> (defun run-program (prog) DK> (term (replace-regexp-in-string "\n" "" (shell-command-to-string (concat "which " prog)))) DK> (rename-buffer prog t)) DK> В интерпретаторе она отработала хорошо, и я поместил ее в DK> конфигурационный файл .emacs, приписав ниже строчки: DK> (run-program "rtorrent") DK> (run-program "newsbeuter") DK> Затем, когда я перезапустил сервер Emacs и переключился на буфер DK> "newsbeuter", я с удивлением обнаружил, что от интерфейса программы DK> отображается только кусок 10x6 символов левого верхнего угла. DK> Стал разбираться. Обнаружил, что если я просто запущу Emacs командой DK> 'emacs -nw', newsbeuter отображается нормально. DK> Что касается rtorrent, то как только я активирую его буфер - он поначалу DK> пару секунд отображается также, как и newsbeuter, но потом растягивается DK> на весь экран. DK> Собственно, хочется понять, почему, если стартовать Emacs демоном, DK> автоматически запускаемые консольные приложения так странно себя ведут. Почему - понятно. Какой-то размер терминала терминальной программе на старте нужен, а окно, под которое его подогнать, еще не нарисовали. Подбирается исходя из дефолтного размера неотмапленного окна, по количеству символов и из общих соображений рискну предположить, что этот размер 100x100 пикселов. Потом, когда активируется буфер, его окно отображается уже в реальный размер, и терминальной программе внутри шлется SIGWINCH. rtorrent на него, вероятно, реагирует адекватно, т.е. перерисовывается под новый размер (куда именно уходит пара секунд - вопрос отдельный, я на него сейчас ответить не готов), а newsbeuter, вероятно, нет. Скажу сразу, что готового ответа на вопрос "что делать" у меня вот так сходу нет. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

