/bin/dev - IT Lounge

Полная версия: Мой уютненький awesome
Вы просматриваете упрощённую версию нашего контента. Просмотр полной версии с полным форматированием.

Панелей нет, есть минимальный HUD, отображающий раскладку клавиатуры и индикатор "уведомлений" (кружок справа от раскладки, меняет цвет в зависимости от "уровня", об этом ниже).




По умолчанию окна не имеют заголовков, они включаются по хоткею для каждого окна.




Док скрыт, показывается при переключении между окнами и тегами (рабочими столами), его можно закрепить (иконка слева). Также возле иконки закрепления есть трей, скрыт когда пуст.

Иконки на рабочем столе — маунтпоинты. Завязано на sysutils/dsbmc-cli.

Обоина "композитная" — максимизированный фон (режим простых "обоев" и возможность переключить в режим автоматической смены день/ночь по времени), клипарт и оверлей для затемнения, каждый элемент настраивается в конфиге темы.




Запуск приложений, пресеты ниже строки ввода кликабельны.




Все информационные виджеты на дэшборде. Календарь умеет в напоминания. Некоторые виджеты напоминают о себе через HUD.
  • battery: показывает уровень заряда батареи, меняет цвет в зависимости от статуса (discharging, charging, full); завязан на sysctl(8) oid hw.acpi.battery.
    При низком заряде уведомляет через HUD.
  • brightness: показывает уровень яркости, завязан на sysctl(8)[i/] oid hw.acpi.video.lcd0.brightness.
  • calendar: календарь, умеет в уведомления, список формируется в json-конфиге.
    При наличии уведомления на сегодня уведомляет через HUD.
  • cpu: показывает loadavg, температуру (нужен [i]coretemp(4) и sysctl(8) oid dev.cpu.%d.temperature) и нагрузку в процентах и графиком (завязано на sysctl(8) oid kern.cp_time).
    О высокой температуре или высокой нагрузке уведомляет через HUD.
  • fan: показывает обороты и режим кулера; завязан на acpi_ibm(4), использует sysctl(8) oid dev.acpi_ibm.0.fan, dev.acpi_ibm.0.fan_speed и dev.acpi_ibm.0.fan_level.
  • mail: показывает счётчики почты для mbox (справа) (${MAIL}//var/mail/${LOGNAME}) и Maildir (слева) (настраивается через json-конфиг); для Maildir требуется find(1).
    При наличии почты уведомляет через HUD.
  • memory: показывает RAM и swap (если есть), завязан на sysctl(8) oid'ы hw.*.
  • network: показывает имя интерфейса или SSID (имя точки доступа Wi-Fi) и IP, определяет активное соединение через route(8), собирает остальную информацию через ifconfig(8).
  • uptime: показывает аптайм; при старте получает время запуска системы из sysctl(8) oid kern.boottime.
  • volume: показывает уровень громкости левого и правого каналов, получает
    данные из mixer(8).
  • weather: показывает текущую погоду, направление ветра, влажность, восход/закат и брифинг на неделю вперёд; требуется API key OpenWeatherMap.


Под капотом автоматизировано всё, что только можно было автоматизировать.
Красиво. В некоторых местах (3 и 5 скриншот) напоминает планшет. Наверное, на устройствах вроде Microsoft Surface или Lenovo Yoga этим будет удобно пользоваться.

Поймал себя на мысли, что это похоже на типичные скриншоты из /r/unixporn. Только не вижу выложенных конфигов. Big Grin
(12.02.2021 13:Feb)ozz Написал: [ -> ]В некоторых местах (3 и 5 скриншот) напоминает планшет.

На данный момент dashboard несёт только информационный характер, взаимодействовать можно только с календарём (листать месяцы назад/вперёд), даже громкость не регулируется (всё это будет, но не сразу).

(12.02.2021 13:Feb)ozz Написал: [ -> ]Наверное, на устройствах вроде Microsoft Surface или Lenovo Yoga этим будет удобно пользоваться.

Вряд ли. Вызов дэшборда завязан на левый верхний угол (там же висит меню завершения сессии и вызов запускалки всего), вызов дока — на нижний край. Активная область первого триггера — 8×8 пикселей (вне зависимости от PPI), второго — 2 пикселя в высоту. Активность дока завязана на положение курсора если он не запинен.

Ну и скрытие HUD завязано на наведение курсора на активатор дэшборда (альтернативой является развёртывание окна в fullscreen, что тоже скрывает HUD).

(12.02.2021 13:Feb)ozz Написал: [ -> ]Только не вижу выложенных конфигов. Big Grin

А никто не обещал OpenSource! Tongue

Выложить архивом могу здесь, но кому это надо?
(12.02.2021 13:Feb)mord0d Написал: [ -> ]Выложить архивом могу здесь, но кому это надо?

Людям может пригодиться. Тем более, что Awesome кроссплатформенный.
(12.02.2021 15:Feb)ozz Написал: [ -> ]Людям может пригодиться.
Будет нужно — выложу. Тем более это не окончательный результат, к моменту запроса может какие баги всплывут и я их пофикшу, или чего нового накидаю. Аттачи место занимают.

(12.02.2021 15:Feb)ozz Написал: [ -> ]Тем более, что Awesome кроссплатформенный.
В общем-то да, но большая часть виджетов завязана на FreeBSD:
  • battery
  • brightness
  • cpu
  • fan
  • memory
  • network
  • uptime
  • volume
(volume завязан на mixer(8), остальное на oid'ы sysctl(8), специфичные для FreeBSD; даже uptime вычисляется не парсингом выхлопа команды, а через вычитание oid:kern.boottime от луашного os.time())

Остаётся только:
  • calendar
  • mail
  • weather

Трудно назвать такую конфигурацию кроссплатформенной. ☺
(13.02.2021 10:Feb)mord0d Написал: [ -> ]большая часть виджетов завязана на FreeBSD

Ну, если так.