Налаштування openbox conky - it notes

Conky - дуже багатофункціональний додаток для створення панелей. Якщо пошукати в інтернеті, то можна знайти масу дуже красивих прикладів конфігурацій conky з використанням lua. Ми ж поговоримо про створення панелей, що включають тільки текст (дешево і практично).

Наша перша conky-панель

Створимо просту панель в нижній частині екрана за допомогою наступного коду:

Конфігураційний файл складається з двох частин: опис властивостей панелі, так і вміст (після слова TEXT). Можете зберегти цей файл у домашньому каталозі під назвою .conkyrc. Це ім'я конфігураційного файлу за замовчуванням. Якщо ви вирішите, що вам вистачить однієї панелі, то можете просто запускати conky без додаткових параметрів. Якщо ж вам потрібно кілька панелей, то потрібно використовувати ключ -c. наприклад:

Розберемо найбільш цікаві параметри першої частини:

  1. xftfont - шрифт, застосовуваний за замовчуванням для відображення вмісту панелі;
  2. update_interval - часовий інтервал між оновленнями вмісту. Зазвичай за допомогою conky відображають корисну системну інформацію, яка періодично змінюється. Сам conky не може дізнатися, що виводяться значення змінилися, тому він сам змушений регулярно себе перемальовувати, щоб показувати актуальні дані;
  3. own_window_argb_visual і own_window_argb_value. Перший включає можливість управління прозорістю панелі, а другий - задає значення прозорості (від 0 до 255). Значення 255 означає, що панель повністю НЕ прозора;
  4. minimum_size - задає мінімальні розміри панелі. Вимагає вказівки двох значень: мінімальна ширина і мінімальна висота. В наведеному вище прикладі для ширини обраний розмір екрану віртуальної машини, а для висоти - 0. Нуль в даному випадку означає, що масштабування по висоті буде здійснюватися на підставі вмісту. Якщо ви вирішите використовувати наведену конфігурацію, то вам доведеться підправити цей параметр, щоб панель відповідала розмірам екрану;
  5. default_bar_size - розмір індикаторів, який буде використаний за замовчуванням. Індикатори в conky чимось схожі на індикатори прогресу, але можуть відображати різноманітні дані;
  6. alignment - визначає щодо якої позиції здійснювати вирівнювання панелі на екрані. Допустимі значення bl (bottom_left), bm (bottom_middle), br (bottom_right), tl (top_left), tm (top_middle), tr (top_right), ml (middle_left), mm (middle_middle), mr (middle_right). Наприклад, якщо вибрано значення bl. то лівий нижній кут панелі виявиться в лівому нижньому кутку екрану, а якщо вибрано mm. то панель виявиться рівно по середині і т.д .;
  7. gap_x і gap_y - відступ від точки вирівнювання по осі x і по осі y. Наприклад, якщо точка вирівнювання - правий нижній кут, то відступи будуть зроблені вліво і вгору;
  8. own_window_colour - колір фону. Цей параметр в прикладі не наводиться, але може когось зацікавити, тому я не міг його не вказати;
  9. use_spacer - визначає необхідність використання наповнювачів для витримування постійної ширини виведених на панелі значень (наприклад, обсяг оперативної пам'яті або обсяг зайнятого swap-простору). Без цього параметра написи в панелі будуть "плавати".

Панель закріплена вздовж всієї нижньої частини екрану, щоб вона розташовувалася на противагу панелі завдань tint2. яка знаходиться зверху:

Налаштування openbox conky - it notes

Тепер трохи щодо вмісту. Якщо ви хочете вивести якийсь текст, то можете його набрати і він відобразиться в лівому верхньому кутку панелі. Все просто, але не особливо цікаво. Набагато більший інтерес для нас представляють conky -змінного:

  1. cpubar - індикатор навантаження на процесор. Як параметр приймає ім'я ядра;
  2. membar - індикатор використання оперативної пам'яті;
  3. swapbar - індикатор використання swap-розділу;
  4. fs_bar - індикатор зайнятого простору файлової системи, зазначеної в якості параметра;
  5. mixerbar - індикатор гучності;
  6. mem і memmax - обсяг використаної та доступної пам'яті;
  7. swap і swapmax - обсяг використаної та доступної пам'яті в swap-розділі;
  8. mixer - поточний рівень гучність (від 0 до 100);
  9. uptime - час роботи системи;
  10. execi - результат виконання консольної команди або скрипта;
  11. offset - відступ в пікселях по осі x. який потрібно зробити між виведеними написами;
  12. color - колір, який повинен мати текст, що виводиться (за замовчуванням - білий).

Зроблю кілька зауважень. У наведеній панелі для відображення поточної температури процесора використовується висновок команди sensors. що входить до складу пакету lm_sensors. Однак у мене на віртуальній машині вона не працює, тому висновок порожній. На фізичному комп'ютері такі проблеми не спостерігаються. Якщо у вас більше ядер і дозволяє розмір монітора, то доповніть список до потрібної кількості. Те ж саме стосується будь-яких накопичувачів або розділів жорсткого диска, для яких вам може бути цікаво дізнатися обсяг зайнятого простору. Звертаю увагу, що новий рядок в розділі TEXT з файлу конфігурації панелі означає новий рядок і при її відображенні на екрані. Щоб виводити довгі ланцюжки значень, як в прикладі, використовується символ \. Сам він не виводиться, але вказує, що перехід на новий рядок враховувати при відображенні не слід.

Для роботи змінних mixerbar і mixer потрібно включений модуль ядра snd_pcm_oss. Не можу не привести швидкі клавіші для зміни гучності і відключення звуку в Openbox (додайте в

Виділяємо місце для панелі

Якщо ви запустите яке-небудь додаток на весь екран, то воно перекриє нашу панель. А нам би хотілося, щоб вона була видна постійно. Але є просте рішення. Для цього нам буде потрібно тільки obconf. Змініть за допомогою цієї утиліти знизу:

Налаштування openbox conky - it notes

більше панелей

Ще не зайве мати панель, на якій відображається час, мережева навантаження і повідомлення про пошту. Найзручніше розмістити все це на окремому моніторі, але спробуємо в якості експерименту розмістити все на одному (над уже наявної панеллю). Я б хотів, щоб годинник були вирівняні по центру, мережева навантаження - по правому краю, а поштові повідомлення - по лівому. Звичайно, все це можна розмістити і на одній панелі, але враховуйте інтервали оновлення, які для цих даних відрізняються.

Спочатку створимо файл

Більшість параметрів ми вже встигли розібрати, тому повторювати їх роз'яснення я не буду. Зверну лише увагу, що вам знадобиться шрифт a_LCDNova. який добре підходить для відображення цифрових годин. Оновлювати панель досить кожну секунду.

Далі створюємо файл

Тут вам може знадобиться поміняти ім'я мережевого інтерфейсу (в прикладі - enp0s3). До того ж, для візуалізації динаміки використання мережі використовуються елементи downspeedgraph і upspeedgraph. які показують не тільки поточне значення, як звичайний індикатор. але і хронологію змін за останній час.

Інформацію про наявність вхідних повідомлень отримує наступний простий скрипт (в цілях безпеки рекомендую обмежити права на читання по максимуму):

Після запуску всіх панелей (conky -c

/.conkyrc1 і т.д.) і додаткового налаштування відступів:

Налаштування openbox conky - it notes

І це ще не все

Додамо ще кілька корисних панелей. Перша з них - календар:

Не будемо особливо розбиратися в вмісті. Єдине, що важливо: для коректного відображення панелі в системі повинні бути встановлені шрифти DejaVu і EtcherSkesch Inverse.

Аналогічно створимо панель для відображення активних процесів:

Для її відображення вам знадобляться ті ж шрифти.

А ось як виглядають ці панелі:

Налаштування openbox conky - it notes

Їх вже можна буде побачити не завжди, а тільки на чистому робочому столі, але не так часто це і потрібно (для швидкого згортання-розгортання вікон використовуйте стандартне поєднання клавіш Win + D).

Не забудьте про автостарт conky

Щоб все панелі з'являлися автоматично при запуску Openbox, спочатку створимо подібний скрипт (

Якщо не використовувати затримку (sleep) при запуску двох останніх панелей, то вони можуть не відобразитися.

А тепер, як зазвичай, додаємо цей скрипт в список додатків для автозапуску в наш

висновок

На цьому ми поки що завершуємо серію статей про настройку Openbox. Звичайно, існують і інші цікаві утиліти, які дозволяють зробити Openbox ще гарніше і яскравіше, але мій досвід роботи з ними обмежений. В результаті численних експериментів я прийшов до описаного поєднанню, яке мене влаштовує. Думаю, що ви без зусиль зможете самі розширити свій Openbox (якщо знадобиться) і підібрати те, що підходить саме вам.


Conky: Простий висновок погоди


Налаштування Openbox: Закріплення вікон


Налаштування Openbox: Юзабіліті


Налаштування Openbox: Перші кроки


Чому я користуюся Openbox?


Налаштування Openbox: Оформлення


ТОП 15 додатків для Openbox


Налаштування dwm: Патчі

У ковзанах досить часто потрібно висновок погоди (судячи по форумах). Можна поставити всякі погодні віджети, але, імхо, було б зручніше вивести погоду в ковзанах. Може ви знаєте, як це простіше зробити і щоб працювало всюди і для будь-якого міста?

Просто отримати дані не так складно. Для цього можна написати bash-скрипт, який буде запитувати поточну температуру і іншу корисну інформацію у відповідних інтернет-ресурсів. При бажанні можна поритися і знайти погодні сайти, які мають rss-канали. Тоді не знадобиться навіть писати скрипт (conky має вбудовану підтримку rss). Якщо є бажання, щоб це ще й виглядало дуже красиво (зі значками опадів і т.д.), то без lua не обійтися. В інтернеті багато подібних conky-віджетів для відображення прогнозу.

З прив'язкою до конкретного міста доведеться розбиратися в настройках скриптів. Хоча в теорії можна використовувати дані про поточне місцезнаходження, але готові рішення мені не відомі.

Думаю, що потім доповню цю статтю (або напишу нову) з простим прикладом виведення поточної погоди.

А як же проклята комбінація SUPER + D? Як пофиксить?

А в чому полягає проблема з цією комбінацією? У мене на тестовій (та й робочої) системі з наведеними конфіга помітних труднощів на спостерігається.

Можу припустити, що conky-панель згортається разом з усіма вікнами. Але цього не повинно відбуватися при використанні налаштування own_window_type зі значенням desktop.

Тільки тепер помітив, що в тексті статті з цього приводу опечатка. Там написано Ctrl + D, а повинно бути Win + D. Виправив.