sway+waybar

Стековые, фреймовые, динамические
Ответить
ugras
Аватара пользователя
Сообщения: 79
Зарегистрирован: 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
Сообщения: 524
Зарегистрирован: 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
Аватара пользователя
Сообщения: 79
Зарегистрирован: 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
Сообщения: 524
Зарегистрирован: 31.08.2022

#

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

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

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

ugras
Аватара пользователя
Сообщения: 79
Зарегистрирован: 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
Аватара пользователя
Сообщения: 79
Зарегистрирован: 11.09.2022

#

vasek:сейчас у меня в waybar всего 4 модуля
Я решил, что к чёрту аскетизм))
Изображение
P.S. кроме сетевого траффика всё кликабельное и нафаршировано свистелками/перделками, напр., память и cpu при нагрузках меняют цвет, а то ещё и мигать начинают, выключенные модули красненькие, ну и т.д...
Чем то же надо на работе заниматься))
vasek
Сообщения: 524
Зарегистрирован: 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
Аватара пользователя
Сообщения: 79
Зарегистрирован: 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
Аватара пользователя
Сообщения: 79
Зарегистрирован: 11.09.2022

#

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

#

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

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

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

lnx
Сообщения: 151
Зарегистрирован: 24.08.2022

#

есть ли возможность удбрать в sway заголовок окна? Ну жадный я до пикселей.
Arhei
Сообщения: 4
Зарегистрирован: 04.07.2025

#

lnx: есть ли возможность удбрать в sway заголовок окна? Ну жадный я до пикселей.
https://man.archlinux.org/man/sway.5.en
смотри параметры
default_border
default_floating_border

ну или можно даже вручную переключать стиль отображения текущего окна и его заголовка
bindsym $mod+t border toggle
lnx
Сообщения: 151
Зарегистрирован: 24.08.2022

#

ТОгда позвольте пожалуйста еще ряд вопросов -

1. чтобы горела лампочка капслука при смене раскладки добавлю строку и не реботает, причем сразу всеь блок -
#клавиатура - смена раскладки и лампочки
input * {
xkb_layout "us,ru"
xkb_options "grp:caps_toggle"
#xkb_options "grp_led:caps"
}
Как правильно заставить лампочку работать?

2. чтобы горячие клавиши не зависели от раскладки я объявил в конфиге -

# Чтобы реакция на клавиши не зависела от раскладки добавляем --to-code
set $bindsym bindsym --to-code
set $unbindsym unbindsym --to-code

В давнишнем описании конфига использовался ключ, который тоже не работает. Как правильно это сделать?

4. как обязать запускаемое по горячей клавише приложение открываться на конкретном рабочем столе?

5. ресайз окон, не работает. Оно не для всех окон может работать?


# Разделение окон горизонтально и вертикально
bindsym --to-code $mod+b splith
bindsym --to-code $mod+v splitv

# Switch the current container between different layout styles
bindsym --to-code $mod+s layout stacking
bindsym --to-code $mod+w layout tabbed
bindsym --to-code $mod+e layout toggle split

# Resizing containers:
#
bindsym $mod+r mode "resize"
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px

Ну и вообще, все твкики, о которых я еще не спросил, пожалуйста, если есть выстраданные, опубликуйте пожалуйста.
Последний раз редактировалось lnx 06.07.2025 13:28, всего редактировалось 1 раз.
lnx
Сообщения: 151
Зарегистрирован: 24.08.2022

#

и хинтиг шрифтов, используемых приложениями, - где настраивается?
Ответить