LINUX.ORG.RU

ConConky

 ,


0

1

Дело в общем такое:
Мне некоторое время пришлось посидеть без иксов.
И информативности консоли не хватало. Всякой, на первый взгляд, бесполезной мелочёвки.
В результате я написал демон, который в правом верхнем углу выводит load average, uptime и конечно же (ну как же без них-то!)часы.
Кому-то надо?
Я могу допилить до «товарного» вида и выложить.

Если кому надо что-то подобное — говорите что именно.
Набор отображаемых данных сейчас настраивается, так что можно сделать вполне полезный комбайн.

P.S. Кстати mc прикольно выглядит с этим демоном.

★★☆

Ответ на: комментарий от vurdalak

Не могу:)
fbgrab как-то странно делает скриншот.
На нём не видно нифига.
Я добиваюсь результата редактируя /dev/vcs. Видимо для fbgrab это слишком необычно.

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Я понял. Я запускаю fbgrab. Происходит прокрутка на пару строк, а я обновляю запись раз в секунду.

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Я сейчас временно поднял частоту рефреша до over 9000. Куда сейчас принято выкладывать скриншоты?

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Набор данных определяется параметрами командной строки.
Не вижу особого смысла в прикручивании файла конфига.
Который ещё и хранить где-то надо.

Stahl ★★☆
() автор топика
Ответ на: комментарий от vurdalak

Не, произвольную не получится. Писать универсальный парсер на чистом си мне не хочется:)
Интервал обновления? Хм. Надо будет прикрутить возможность настройки.

Stahl ★★☆
() автор топика

А чем screen не угодил, что нужно было писать свою программу? В screen есть hardstatus и caption, в которые можно занести нужную информацию.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

screen — это терминальный мультиплексор, дающий несколько отдельных
«экранов» на одном физическом текстовом терминале.

А как мне это поможет?

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

А как мне это поможет?

Я же говорю, там есть возможность выделить одну строку под hardstatus и одну строку под caption, а в этих строках разместить любую информацию, которая будет динамически обновляться. Отличие hardstatus от caption в том, что hardstatus одинаковый для всех экранов, а caption индивидуальный для каждого экрана.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

Прикольно.
Но мой демон чуточку отличается в сторону красоты.
Так, например, при запущенном mc данные оказываются поверх.
Помнишь, как в нортоне часы были? Вот с моим демоном получается такой же эффект.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Но мой демон чуточку отличается в сторону красоты. Так, например, при запущенном mc данные оказываются поверх. Помнишь, как в нортоне часы были? Вот с моим демоном получается такой же эффект.

Да, эту фичу я заметил. Такой способ годится для размещения небольшого количества информации, которое помещается в углу. В hardstatus screen'а я помещал гораздо больше информации, когда баловался с ним. Занята была вся строка по всей ширине, а не только небольшая часть в углу, поэтому для меня удобнее была отдельная строка.

А ещё твой демон работает только на виртуальных консолях Линукса, а в xterm он уже не будет работать (screen работает везде). О том, что можно затереть полезную информацию в некоторых программах, я не говорю, потому что не могу вспомнить ни одной консольной программы, которая в правом верхнем углу печатает что-то нужное.

А минимальная возможность настройки всё-таки нужна. Например, можно в конфиге задать строку вида «%a|%u|%t» — её распарсить очень легко, подставив вместо %t время и т.п. А для непредусмотренной информации можно использовать синтаксис вида «%(команда)» для запуска команды, выводящей что-то на stdout (при этом не забыть, что в команде может быть скобка, которую нужно экранировать обратным слешем).

gentoo_root ★★★★★
()
Ответ на: комментарий от kostik1

Исходники сейчас окультуриваются, а принцип прост:

if((fd = open("/dev/vcs", O_WRONLY)) < 0)
{
        show_error("Have no rights to write to /dev/vcs");
}

Фигня всякая и формирование total_res;

lseek(fd, cols - total_len, 0);
write(fd, total_res, total_len);

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Ух ты, интересно, спасибо. Ну что ж, буду ждать полных исходников.

kostik1
()

Куда выложишь? У тебя там vcs используется какая? А то можно на github или там сурсьфорж

Zorn
()
Ответ на: комментарий от Zorn

А х.з. куда.
Скорее всего, не мудрствуя лукаво, на своём сервачке сделаю сайтец, да кину туда архив.

Stahl ★★☆
() автор топика

tmux + status line чем не подошел?

ZuBB ★★★★★
()

Задумка любопытная, но как выше уже отметили - есть screen.

unfo ★★★★★
()

ConConky

load average, uptime и конечно же (ну как же без них-то!)часы.

Не очень понятно, он использует conky-cli? Если да, то зачем второе - и так понятно. А если нет - то зачем велосипедить, или там проблемы с чатотой обновления?

anonymous
()
Ответ на: комментарий от anonymous

conky-cli?

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

Stahl ★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.