16.5.2. Размеры окна

16.5.2. Размеры окна

Существуют два запроса ioctl(), которые, к сожалению, не были закодированы как часть интерфейса termios, хотя и должны были. Размер tty, измеряемый строками и столбцами, должен управляться tcgetwinsize() и tcsetwinsize(), но, поскольку они не существуют, вместо этого следует использовать ioctl(). Для запроса текущего размера и установки нового размера применяйте структуру struct winsize.

#include <termios.h>

struct winsize {

 unsigned short ws_row;    /* количество строк */

 unsigned short ws_col;    /* количество столбцов */

 unsigned short ws_xpixel; /* не используется */

 unsigned short ws_ypixel; /* не используется */

};

Для запроса текущего размера используйте следующий вызов:

struct winsize ws;

ioctl(fd, TIOCGWINSZ, &ws);

Для установки нового размера заполните struct winsize и предусмотрите такой вызов:

ioctl(fd, TIOCSWINSZ, &ws);

В конце этой главы представлен пример условий, при которых возникает потребность в установке нового размера окна.

При изменении размеров окна лидеру группы процессов переднего плана на данном tty передается сигнал SIGWINCH. Ваш код может перехватить этот сигнал; используйте TIOCGWINSZ для запроса нового размера и внесите в свою программу все необходимые изменения.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Надписи и размеры

Из книги ArCon. Дизайн интерьеров и архитектурное моделирование для всех автора Кидрук Максим Иванович

Надписи и размеры Для настройки параметров текстовых надписей, добавляемых в проект, выполните команду Опции ? Надпись или щелкните правой кнопкой мыши на кнопке Ввод текста вертикальной панели инструментов. В результате должно открыться окно для настройки параметров


Слуховые окна и окна в крыше

Из книги ArchiCAD 11 автора Днепров Александр Г

Слуховые окна и окна в крыше Фактически наш дом, с конструктивной точки зрения, принял уже вполне законченный вид. Однако попробуем добавить к нему еще некоторые элементы, которые хоть и не обязательны, но нередко встречаются в различных коттеджах. Сначала построим одно


Линейные размеры

Из книги Excel. Мультимедийный курс автора Мединов Олег

Линейные размеры Для нанесения линейных размеров, в том числе размерных цепочек, предназначен инструмент Dimension (Размер) расположенный в разделе Document Документ) палитры ToolBox (Палитра инструментов). После щелчка на этом инструменте на информационной палитре появятся


Радиальные размеры

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Радиальные размеры Для активизации инструмента построения радиальных размеров щелкните на кнопке Radial Dimension (Радиальный размер) расположенной в разделе More (Дополнительно) палитры Toolbox (Палитра инструментов). При этом на информационной палитре появятся параметры


Угловые размеры

Из книги КОМПАС-3D V10 на 100 % автора Кидрук Максим Иванович

Угловые размеры Для нанесения угловых размеров предназначен инструмент Angle Dimension (Угловой размер) который расположен в разделе More (Дополнительно) палитры Toolbox (Палитра инструментов). После щелчка на этом инструменте на информационной палитре появляются настройки


Размеры ячеек

Из книги AutoCAD 2009. Начали! автора Соколова Татьяна Юрьевна

Размеры ячеек По умолчанию размеры всех ячеек равны. Иногда требуется изменить размер ячейки, чтобы в ней полностью отображались текст или число. Вы не можете изменить размер отдельной ячейки, можно только увеличить или уменьшить ширину столбца либо высоту строки.Чтобы


Ординатные размеры

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Ординатные размеры Ординатные размеры определяют расстояние по оси координат от базовой точки до образмериваемого объекта (например, до отверстия в детали). Применение таких размеров предохраняет от накапливающихся ошибок, поскольку положение объектов отмеряется от


Угловые размеры

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Угловые размеры Команда DIMANGULAR позволяет проставить угловой размер. Она вызывается из падающего меню Dimension ? Angular или ооооощелчком на пиктограмме Angular на панели инструментов Dimension.Запросы команды DIMANGULAR: Select arc, circle, line, or <specify vertex>: – выбрать дугу, круг, отрезок Select second line:


Базовые размеры

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

Базовые размеры Базовые размеры и размерные цепи представляют собой последовательность линейных размеров.Базовые размеры – это последовательность размеров, отсчитываемых от одной базовой линии. У размерных цепей начало каждого размера совпадает с концом предыдущего.


Размеры и обозначения

Из книги автора

Размеры и обозначения Ни один чертеж не может считаться полноценным, если в нем нет размеров и различных обозначений (знаков шероховатостей, баз, отклонений, линий выносок и пр.), предусмотренных стандартами. Система КОМПАС-График содержит большой набор средств для


Линейные размеры

Из книги автора

Линейные размеры AutoCAD обеспечивает несколько видов простановки линейных размеров, отличающихся углом, под которым проводится размерная линия. Команда DIMLINEAR позволяет создавать горизонтальный, вертикальный или повернутый размеры. Команда вызывается из падающего меню


Угловые размеры

Из книги автора

Угловые размеры Команда DIMANGULAR позволяет проставить угловой размер. Она вызывается из падающего меню Dimension ? Angular или щелчком на пиктограмме Angular на панели инструментов Dimension.Запросы команды DIMANGULAR:Select arc, circle, line, or <specify vertex>: – выбрать дугу, круг, отрезокSelect second line: – если


Базовые размеры

Из книги автора

Базовые размеры Базовые размеры – это последовательность размеров, отсчитываемых от одной базовой линии. У размерных цепей начало каждого размера совпадает с концом предыдущего. Перед построением базового размера или цепи на объекте должен быть проставлен хотя бы один


16.5.2. Размеры окна

Из книги автора

16.5.2. Размеры окна Существуют два запроса ioctl(), которые, к сожалению, не были закодированы как часть интерфейса termios, хотя и должны были. Размер tty, измеряемый строками и столбцами, должен управляться tcgetwinsize() и tcsetwinsize(), но, поскольку они не существуют, вместо этого следует


Базовые размеры

Из книги автора

Базовые размеры Базовые размеры и размерные цепи представляют собой последовательность линейных размеров.Базовые размеры – это последовательность размеров, отсчитываемых от одной базовой линии. У размерных цепей начало каждого размера совпадает с концом предыдущего.


Линейные размеры

Из книги автора

Линейные размеры AutoCAD обеспечивает несколько видов простановки линейных размеров, различающихся углом, под которым проводится размерная линия. Команда DIMLINEAR позволяет создавать горизонтальный, вертикальный или повернутый размеры. Команда вызывается из падающего меню