Dmitrii Kashin -> [email protected] @ Mon, 21 Jan 2013 14:49:51 +0400:
>> >> > Потом, когда активируется буфер, его окно отображается уже в реальный >> >> > размер, и терминальной программе внутри шлется SIGWINCH. rtorrent на >> >> > него, вероятно, реагирует адекватно, т.е. перерисовывается под новый >> >> > размер (куда именно уходит пара секунд - вопрос отдельный, я на него >> >> > сейчас ответить не готов), а newsbeuter, вероятно, нет. >> >> >> >> Была такая мысль. Но, как ни странно, если открыть newsbeuter в urxvt, >> >> то он будет адекватно реагировать на изменение размера окна. Стало быть, >> >> SIGWINCH он все-таки адекватно обрабатывает. >> >> AG> Подозреваю, что в случае запуска через emacs этот сигнал для newsbeuter >> AG> приходит настолько быстро, что nb ещё не закончил инициализацию, потому >> AG> обрабатывает его некорректно. В интерактивном режиме за счёт >> AG> относительной медлительности пользователя сигнал приходит гораздо >> позже. >> >> В оригинальном описании проблемы при ручной активации буфера не >> происходит перерисовки. А у rtorrent происходит, но с задержкой. А в >> то, что newsbeuter не запускается внутри демона, пока буфер не >> активирован, мне что-то не верится. DK> И правильно не верится. Когда переключаюсь на буфер newsbeuter - там DK> виден уже его curses-интерфейс. Так как до появления интерфейса ему DK> обычно при штатном запуске из терминала требовалось несколько секунд, DK> чтобы загрузить кэш, запускается он, судя по всему, гораздо раньше. А вот знаешь, что я могу предположить? Как известно, доставка сигналов устроена так, что за один раз можно принять только один сигнал (из тех, для которых установлены обработчики, кажется - на дефолтную обработку и игнорирование это не распространяется, но тут боюсь соврать). Поэтому, если почти одновременно будут присланы два обрабатываемых сигнала, то один потеряется. А emacs вполне может при начальном открытии окна посылать и несколько сигналов, и наверняка - практически одновременно. В качестве эксперимента могу предложить послать newsbeuter, запущенному внутри емакса, SIGWINCH вручную, kill'ом. Если отреагирует адекватно, то можно копнуть в эту сторону. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

