sway+waybar

Стековые, фреймовые, динамические
Ответить
ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

Сегодня пришло обновление до версии 0.9.13 waybar - пожалуй, самой популярной панели для sway , и не только. Изменений много, но первое, что бросилось в глаза, и чего я не нашёл пока в What's Changed - это то, что все кликабельные модули теперь "подсвечиваются" при наведении мыши. По моим догадкам кликабельные - это те, у которых в ~/.config/waybar/config присутствует опция on-click или (возможно и) другая на действия мыши. Например:
...
"memory": {
        "interval": 5,
        "format": " {}%",
        "states": {
            "warning": 70,
            "critical": 90
        },
        "on-click": "swaymsg exec \\$term_float 'htop --sort-key=PERCENT_MEM'"
    },
...
Подсвечивается только фон, и как я заметил, цветом @theme_selected_bg_color
Управлять этим эффектом можно в ~/.config/waybar/style.css через параметр
...
*:hover {
    color: @theme_selected_bg_color;
    background: @theme_base_color;
}
...
Естественно, цвета можно указывать в HEX или rgba - например, #434c5e, rgba(27, 34, 36, 0.5), alpha(@theme_bg_color, 0.8) и т. д., в том числе менять шриф (напр, на наклонный) и всё что придёт в голову и что позволяется стилями .
А вот НЕ кликабельные модули приобрели серый шрифт, и никакими пинками в ~/.config/waybar/style.css вышибить их из этого цвета мне не удалось, разве что только насильственным путём в ~/.config/waybar/config:
...
"custom/netspeed": {
        "format": "<span color=\"#d8dee9\">{}</span>",
        "exec": "~/.bin/wb-get-netspeed",
        "tooltip": false,
    },
...
P.S. Это информация на скорую руку, но может кому-то окажется полезной.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Дополнение в части параметра on-click модулей waybar.
Их 5 значений: on-click, on-click-middle, on-click-backward, on-click-forward, on-click-right
Им можно присваивать любые действия. Например, у меня для вывода даты прописан свой пользовательский модуль
"custom/clock": {
        "exec": "date  '+  %d-%m-%Y (%a), %H:%M  '",
        "on-click": "xterm -geometry 25x25+100+100 -bg blue -e 'cal -3; sleep 15'",
        "interval": 20
    },
при нажатии левой кнопкой мыши в области отображение даты появляется вывод календаря 3-х месяцев.
А при желании можно добавить в waybar модуль pacman и при нажатии на эту область откроется терминал и начнется обновление системы.
Вообщем возможностей много, было бы желание. А вообще очень привык к sway - удобно и просто и практически почти не использую spectrwm.

Ошибки не исчезают с опытом - они просто умнеют

ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

vasek: в waybar модуль pacman и при нажатии на эту область откроется терминал и начнется обновление системы
У меня это сделано:
Изображение

~/.config/waybar/config.jsonc
...
"custom/checkupdates": {
        "format": " {}",
        "interval": 3600,
        "exec-if": "[ $(~/.bin/checkupdates-with-aur | wc -l) -gt 0 ]",
        "exec": "~/.bin/checkupdates-with-aur | wc -l",
        "on-click": "~/.bin/wb-checkupdates",
        "tooltip": false,
        "signal": 4
    },
...
~/.bin/checkupdates-with-aur
#!/usr/bin/bash
# Dependencies: aurutils from the aur

if command -v checkupdates >/dev/null
then
    checkupdates
fi

if command -v aur >/dev/null
then
    pacman -Qm | aur vercmp
fi
~/.bin/wb-checkupdates
#!/usr/bin/env bash

footclient -a floating_shell ~/.bin/pm && \
    pkill -RTMIN+4 waybar
Где первая команда - запуск того чем обновляетесь, вторая - сигнал на панель чтобы проверить чем закончилось, т.е., если обновились, то значок исчезнет, иначе останется.

Чтобы бросалось в глаза, можно подкрасить:
~/.config/waybar/style.css
...
#custom-checkupdates {
    color: #ebcb8b;
}
...
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Для reboot/shutdown использую скрипт, вызываемый по hotkey, думаю тоже перенести его в waybar, используя on-click ...

PS - сейчас у меня в waybar всего 4 модуля: cpu, mem, temperatur, date .... все остальное закомментировал ...

Ошибки не исчезают с опытом - они просто умнеют

ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

vasek:Для reboot/shutdown
Один из вариантов:
1. установить oblogout-py3-git (AUR)
2. в конфиге sway:
...
for_window [app_id="oblogout"] fullscreen enable
...
$bindsym Control+Alt+Delete exec oblogout
...
Примечание: $bindsym изначально обьявляется в конфиге как
...
# Add --to-code to bindsym, support for non-latin layouts
set $bindsym bindsym --to-code
...
чтобы корректно отрабатывалось при любой раскладке, и далее везде применяется вместо стокового bindsym

Вариант настроек в /etc/oblogout.conf
...
[looks]
opacity     = 70
bgcolor     = black
buttontheme = foom
buttons     = cancel, restart, shutdown, suspend, lock

[shortcuts]
cancel      = Escape
shutdown    = S
restart     = R
suspend     = U
lock        = L

[commands]
shutdown    = systemctl poweroff
restart     = systemctl reboot
suspend     = systemctl suspend
lock        = ~/.bin/lock.sh
switch      = gdm-control --switch-user
...
ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

vasek:сейчас у меня в waybar всего 4 модуля
Я решил, что к чёрту аскетизм))
Изображение
P.S. кроме сетевого траффика всё кликабельное и нафаршировано свистелками/перделками, напр., память и cpu при нагрузках меняют цвет, а то ещё и мигать начинают, выключенные модули красненькие, ну и т.д...
Чем то же надо на работе заниматься))
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

ugras:Один из вариантов:
1. установить oblogout-py3-git (AUR)
Сделал проще, ничего дополнительно не устанавливая, просто прописал в конфиг waybar
1. Прописал custom/Reb-Shut-Susp
"modules-right": [ "custom/Reb-Shut-Susp", "cpu", "memory", "temperature", "custom/clock"],
2. Описал этот "custom/Reb-Shut-Susp"
"custom/Reb-Shut-Susp": {
        "exec": " echo 'Reboot-Shutdown-Suspend' ",
        "on-click": "xterm -geometry 15x7+100+100 -bg blue -fg green -e '/home/vasek/.local/bin/reboot-shutdown-suspend.sh'"
    },
При нажатии появляется небольшое окно терминала, в котором вводишь нужную цифру и Enter ...
Скрипт /home/vasek/.local/bin/reboot-shutdown-suspend.sh довольно простой
Cкрытый текст
#!/bin/bash
#
#read -p "Что делаем?: Reboot - 1, Shutdown - 2, Suspend - 3, Отмена - 4: " N
read -p "..............
Reboot - 1
Shutdown - 2
Suspend - 3
Отмена - 4
" N
case "$N" in
1) reboot
;;
2) shutdown now
;;
3) systemctl suspend
;;
4) exit
;;
*) echo "$N отсутствует"
sleep 1
exit
;;
esac

Ошибки не исчезают с опытом - они просто умнеют

ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

vasek:Описал этот "custom/Reb-Shut-Susp"
А зачем там "exec": " echo 'Reboot-Shutdown-Suspend' ",?
Можно просто нарисовать значок:
"custom/Reb-Shut-Susp": {
        "format": "",
        "on-click": "xterm -geometry 15x7+100+100 -bg blue -fg green -e '/home/vasek/.local/bin/reboot-shutdown-suspend.sh'"
},
ugras
Аватара пользователя
Сообщения: 73
Зарегистрирован: 11.09.2022

#

vasek:xterm
И зачем в sway нужен xterm из иксов? Есть же замечательный заточенный под wayland foot или уж Alacritty
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

ugras:Есть же замечательный заточенный под wayland foot или уж Alacritty
Alacritty установлен ... но в работе в основном использую tilix ... xterm использую редко и только при запуске из скритов (bash) ... просто работу Alacritty при запуске из скриптов (bash) еще не проверял, да вообщем то и особого смысла нет, использую редко.
К Alacritty никак привыкнуть не могу .... все-таки tilix мне нравится намного больше.

PS - tilix - tiling terminal (эмулятор) ....

Ошибки не исчезают с опытом - они просто умнеют

Ответить