Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Консоль и ее плюшки 
:(
    Опции темы
500mhz
Дата 24.2.2011, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



вопрос про консоль,
я знаю 3 способа работы с консолью и ее эмуляцией в Х
1) ncurses
2) esc последовательности
3) /dev/vcs* /dev/vcsa*

первые 2 какбэ одно и тоже но 1 вариант имеет "интерфейс" и базу данных по эмуляторам консоли
второй вариант может не работать если эмулятор не поддерживает esc
3 вариант требует рута (я не знаю как с ним в Х работать, пока еше не получилось)

и собственно вопрос, а сушествует ли универсальный способ который бы работал и в консоли (ctrl+alt+F*) и в Х (в эмуляции) ?


пс
как все запушено в линюхе )))


--------------------

PM MAIL ICQ   Вверх
500mhz
Дата 24.2.2011, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шайтан
***


Профиль
Группа: Завсегдатай
Сообщений: 1017
Регистрация: 5.5.2008
Где: Киев / Italy

Репутация: нет
Всего: 14



вопрос в догонку, как определить размер консоли?


--------------------

PM MAIL ICQ   Вверх
fish9370
Дата 24.2.2011, 22:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 15.4.2007
Где: Москва

Репутация: 2
Всего: 1



Код

int get_termcols(int fd)
{
         struct winsize win;
         int cols = 0;
 
         if (!isatty(fd))
                 return -1;
 
         if (ioctl(fd, TIOCGWINSZ, &win) != -1) {
                 if (!cols && win.ws_col > 0)
                         cols = (int) win.ws_col;
         } else {
                 /* assume 80 characters if the ioctl fails for some reason */
                 cols = 80;
         }
 
         return cols;
}



Код

int screenwidth = get_termcols(STDOUT_FILENO);



--------------------
undefined
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.1058 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.