[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ширина терминала в си



On 2005.01.10 at 21:44:39 +0600, Mikhail Gusarov wrote:

> 
> You (listreader@rambler.ru) wrote:
> 
> > То же поведение замечено с dpkg.
> > при терминале с COLUMNS=132
> > $ echo $COLUMNS
> > 132
> > $ dpkg -l
> > (вывод, отворматированный на 80 столбцов).
> 
> Ман bash по поводу export выкурен?
> 
Тут надо не по поводу export его курить, а по поводу COLUMNS.

Тут-то как раз и выяснится, что эту переменную выставляет (и меняет по
получению SIGWINCH сам bash. Причем исключительно для своих внутренних
целей - для встроенной команды select.

Поэтому авторы dpkg были в корне неправы, что зареклись на её
использование. Может быть в ранних версиях, когда dpkg был шелловским
скриптом, это имело смысл. А в C-шной программе надо использовать
выше по треду приведенный ioctl.

А то ведь export может привести к странным эффектам.

Например - берем терминал шириной 132, делаем там export COLUMNS,

Теперь запускаем из этого терминала 

xterm -geometry 80x25 -e tclsh
и в полученном tclsh делаем set env(COLUMNS)


-- 
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 



Reply to: