Моя личная невероятно быстрая и эффективная строка состояния + виджеты, на случай, если кто-нибудь найдет ей применение.
гБар: G ТК Бар
Если у вас нет дополнительных зависимостей, некоторые функции будут недоступны.
Клонировать гБар
git clone https://github.com/scorpion-26/gBar
Настроить с помощью мезона
Все дополнительные зависимости включены
meson setup build
Сборка и установка
ninja -C build && sudo ninja -C build install
Для систем Arch gBar можно найти в AUR. Вы можете установить его, например: с помощью yay yay -S gbar-git
Если вы выберете установку Nix/NixOS, есть несколько способов сделать это, но все они требуют включения флейков.
gBar.defaultPackage.x86_64-linux
либо в Environment.systemPackages, либо в home.packages.gBar.homeManagerModules.x86_64-linux.default
в раздел imorts вашего домашнего менеджера. Это открывает доступ к опции program.gBar для домашнего менеджера, используйте ее, как показано ниже. # Inputs section
inputs . gBar . url = "github:scorpion-26/gBar" ;
...
# Inside home config
home-manager . users . user = {
...
imports = [ inputs . gBar . homeManagerModules . x86_64-linux . default ] ;
...
programs . gBar = {
enable = true ;
config = {
Location = "L" ;
EnableSNI = true ;
SNIIconSize = {
Discord = 26 ;
OBS = 23 ;
} ;
WorkspaceSymbols = [ " " " " ] ;
} ;
} ;
} ;
Открытая панель на мониторе "ДП-1"
gBar bar DP-1
Открытая панель на мониторе 0 (устаревший способ указания монитора)
gBar bar 0
Открыть аудиопролет (либо на текущем мониторе, либо на указанном мониторе)
gBar audio [monitor]
Открытый микрофон, это эквивалентно звуковому полету.
gBar mic [monitor]
Открыть виджет Bluetooth
gBar bluetooth [monitor]
Панель с CSS по умолчанию
Аудио виджет с CSS по умолчанию
Виджет Bluetooth с CSS по умолчанию
Бар:
UseHyprlandIPC
имеет значение false, хотя управление рабочим пространством зависит от Hyprland)Bluetooth:
Аудио полет:
Скопируйте пример конфигурации (находится в разделе data/config) в ~/.config/gBar/config и измените его в соответствии со своими потребностями.
gBar использует систему плагинов для пользовательских виджетов, которые каждый может создать без изменения исходного кода. Плагины — это собственные общие библиотеки, которые необходимо разместить внутри ~/.local/lib/gBar
, /usr/lib/gBar
или /usr/local/lib/gBar
. Внутри example/ есть пример настройки плагина. Чтобы собрать и запустить его, выполните следующие команды внутри каталога примера:
meson setup build -Dprefix=~/.local
для локального пользователя ИЛИ
meson setup build
для всех пользователей
ninja -C build install
gBar gBarHelloWorld
Второй аргумент — это имя общей библиотеки (без «lib» и «.so»).
Дополнительные примеры использования API gBar можно найти во встроенных виджетах (AudioFlyin.cpp, BluetoothDevices.cpp, Bar.cpp), поскольку они используют один и тот же API.
И наконец: реализовать это самостоятельно — это весело и отличный повод узнать что-то новое!
Этот проект предназначен для моего личного использования, хотя я хочу, чтобы другие могли легко использовать его без ошибок или сложной настройки. Это означает следующее:
Цвета взяты из темы Дракулы: https://draculatheme.com.
Сначала найдите, где расположены данные для gBar. Возможные места:
echo $XDG_DATA_DIRS
Скопируйте файлы scss и css из направления данных в ~/.config/gBar. например:
mkdir ~/.config/gBar/
cp /usr/local/share/gBar/* ~/.config/gBar/
Это переопределит поведение по умолчанию. Если у вас установлен SASS, вы можете изменить файл scss, а затем соответствующим образом повторно сгенерировать файл css. В противном случае измените файл CSS напрямую.
Если у вас есть собственный стиль.[s]css, убедитесь, что поля/имена/... такие же, как и в style/style.[s]css
.
Если вы проверили CSS на исходном gBar и проблема не устранена, откройте проблему.
Основные (критические) изменения в CSS:
.lock-button
по умолчанию. Удалите /tmp/gBar__audio
/ /tmp/gBar__bluetooth
. Это происходит, когда вы закрываете виджет до того, как он закроется должным образом (автоматически через несколько секунд для аудиовиджета или кнопки закрытия для виджета Bluetooth). Однако Ctrl-C в терминале (SIGINT) работает нормально.
См. Конфигурацию вашей системы.
Установите шрифт Nerd с https://www.nerdfonts.com (я использую Caskaydia Cove NF) и соответствующим образом измените style.css/style.scss (для этого обратитесь к разделу «Я хочу настроить цвета»). Вам понадобится шрифт Nerd версии 2.3.0 или новее (подробнее см. в этом комментарии).
Некоторые приложения иногда не запрашивают активно приложения в лотке. Решение этой проблемы — запуск gBar перед приложением в трее. Если оно по-прежнему не отображается, откройте проблему с вашим приложением. Подтверждено, что значки на панели задач работают с Discord, Telegram, OBS, Steam и KeePassXC.
Это полупреднамеренная и известная ошибка (объяснение см. в #12 (комментарий)). Вы можете сделать его непрозрачным, установив свойство background-color для .popup в style.css/style.scss.
Начиная с bc0281c, это исправлено! Чтобы все выглядело правильно, вы можете обновить CSS (в частности, селекторы .popup
и menu
).