LINUX.ORG.RU

Ubuntu Sway

 , , ,


2

1

На свежеустановленной Ubuntu 20.04 решил попробовать Sway. Поставил больше из любопытства, сильно увлекаться настройками не хотелось. Но совсем без настраивания, конечно, не обошлось.

Многие настройки описаны в файле config, даже с пояснениями, где узнать об этих настройках подробнее. Например, настройки вывода:

### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg #111111 solid_color

output LVDS-1 resolution 1920x1080 position 0,0

# You can get the names of your outputs by running: swaymsg -t get_outputs
Экранное разрешение сразу определилось верно, а вот фон «рабочего стола» я убрал, заменив на цвет как у верхней панели.

Настроил переключение раскладок по CapsLock и тачпад. Все это тоже достаточно подробно описано в файле config:

### Input configuration

input "2:14:ETPS/2_Elantech_Touchpad" {
    dwt enabled
    tap enabled
    natural_scroll enabled
    middle_emulation enabled
}

input "1:1:AT_Translated_Set_2_keyboard" {
    xkb_layout "us, ru"
    xkb_options "grp:caps_toggle,grp_led:caps"
}

# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
Верхняя панель — waybar. Напоминает i3blocks для i3wm — каждый элемент является блоком со своим именем и своими параметрами. Для каждого блока можно назначать действия при нажатии кнопок мыши, а также при прокрутке (например, так можно регулировать громкость). Трей работал, там отображался nm-applet и update-notifier, но первый мне не нужен, а второй периодически падал, поэтому трей убрал. У многих блоков есть альтернативный режим отображения — по клику на часах отображается дата, а у блока с Wi-fi показывается состояние проводного подключения. Блок с индикатором батареи умеет мигать цветом при разрядке батареи до определенного значения. Для этих настроек у waybar есть отдельный конфиг, а для настройки цветов и шрифтов отдельный файл CSS. Индикаторы правой части панели, слева направо: раскладка, часы, блокировка хранителя экрана, громкость, сеть, батарея, яркость экрана.

Индикатор раскладки взял с Хабра и немного изменил, чтобы имена раскладок отображались не целиком. Сам скрипт kb_layout.sh (чтобы работал, нужно установить jq):

query='select(.change == "xkb_layout") | .input.xkb_active_layout_name | sub("English \\(US\\)"; "En") | sub("Russian"; "Ru")'
swaymsg -m -t SUBSCRIBE "['input']" | jq --unbuffered -r "$query"
Индикатор на панели, нужно вписать это в конфиг waybar, а в список модулей в нужном месте вписать «custom/kblayout»:
"custom/kblayout": {
    	"exec": "~/.config/sway/kb_layout.sh"
    	}
    },
Единственный нюанс — сразу после запуска Sway индикатор не отображается, появляется только после первого переключения раскладки. Что делать с этим, я не знаю, может, кто дополнит. Добавление в автозагрузку через exec не работает.

Цвета взял стандартные для Ubuntu, потому что серо-синие и черно-синие комбинации как-то приелись. Приложения используются из GNOME. Изначально в Sway темы GTK и значки настроены не были, настраивать их через файлы конфигурации было лень, поэтому запустил gnome-tweak и все настроил через него. Шрифт интерфейса — Ubuntu. Вообще, моим глазам настройки шрифтов нравятся только в Ubuntu. Не знаю, почему, но даже Kubuntu и Xubuntu для глаз неприятны, именно в плане рендеринга шрифтов. Если бы не это — наверное, попробовал бы Debian с i3wm. Для значков на верхней панели использовал Font Awesome.

Для уведомлений использую Dunst, но его почти не настраивал. Mako, который «Dunst для Wayland», у меня запускаться отказался, есть баг, но почему-то закрыт. Приложения запускаю через wofi. Sway запускаю через GDM3. Подсветка клавиатуры на ноутбуке заработала сразу, для яркости экрана установил brightnessctl и добавил себя в группу video, для громкости pactl:

bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% 
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym XF86MonBrightnessUp exec brightnessctl set +5%

В целом все работает хорошо, особых глюков не заметил, мне пользоваться удобно, глазам приятно. Настраивать не особо сложно, глаза не покраснели. Ничего не падает, не фризится. Иногда не хватает KDEConnect и уведомлений об обновлениях на панели, но пока лень прикручивать.

>>> Просмотр (1920x2160, 787 Kb)

★★★★★

Проверено: cetjs2 ()

ого, судя по иконкам canonical действительно забил на десктоп.

Landgraf ★★★★★ ()

Изначально в Sway темы GTK и значки настроены не были, настраивать их через файлы конфигурации было лень, поэтому запустил gnome-tweak

Вот любят люди создавать себе проблемы :-) Нет чтоб просто набрать в терминале:

gsettings set org.gnome.desktop.interface font-name 'Bla-bla'
gsettings set org.gnome.desktop.interface gtk-theme 'Bla-bla' 
gsettings set org.gnome.desktop.interface icon-theme 'Bla-bla'

Годный конфиг, в целом получился. Но названиям рабочих столов явно не хватает пробелов по краям.

qtm ★★ ()
Ответ на: комментарий от Landgraf

ого, судя по иконкам canonical действительно забил на десктоп.

Вкусовщина. Мне нравятся новые иконки (особенно после мерзких Humanity, которые в 9.10 пришли на смену симпатичным Human) и новая тема с этим фиолетовым компонентом тоже.

OSBuster ()

Индикатор раскладки взял с Хабра и немного изменил, чтобы имена раскладок отображались не целиком

ну это была самая первая версия того, что я написал. Сейчас я пользуюсь примерно таким:

parse_flags='split(",") | map(explode | map(. + 127365) | implode)'
flags="$( jq --raw-input "$parse_flags" <<< "$FLAGS" )"
jq -nr --argjson flags "$flags" '$flags[0]'

query="select(.change == \"xkb_layout\") | $flags[.input.xkb_active_layout_index]"
swaymsg -m -t SUBSCRIBE "['input']" | \
jq -r --unbuffered --argjson flags "$flags" "$query"

запуск: FLAGS=us,ru kblayout.sh. Показывает флаг в виде собственно флага, используя юникодовые эмодзи.

Lrrr ()

Неплохо. Обычно мне не нравится гтк3, убунту и вайланд. Но тут ничего так.

kirill_rrr ★★★★★ ()

sway - это хорошо, а убунтовая тема страшненькая, конечно. видео драйвер какой?

crypt ★★★★★ ()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от OSBuster

и новая тема с этим фиолетовым компонентом тоже.

а мне винегрет из свеклы с китайской морковкой напоминает:)

crypt ★★★★★ ()

Единственный нюанс — сразу после запуска Sway индикатор не отображается, появляется только после первого переключения раскладки.

Ну так для этого тебе надо вывести этот индикатор сразу после запуска скрипта. Если тебе надо на shell, то добавь в начало скрипта swaymsg -r -t get_inputs и отфильтруй его вывод с помощью jq (я не умею писать запросы на нём). Могу также поделиться моим скриптом индикатора на python (для него нужна достаточно свежая версия питоновской библиотеки i3ipc).

eternal_sorrow ★★★★★ ()
Последнее исправление: eternal_sorrow (всего исправлений: 1)

Mako, который «Dunst для Wayland», у меня запускаться отказался, есть баг, но почему-то закрыт.

а у тебя user-session dbus’а запущен? попробуй systemctl --user start dbus.service а потом запускать mako

eternal_sorrow ★★★★★ ()

я не понял, убунта в 2020 не даёт настроить раскладку по капсу во время установки что ли? O_O

eR ★★★★★ ()
Ответ на: комментарий от qtm

Во, спасибо большое, на будущее буду знать. Просто не заморачивался и использовал то, что было под рукой, благо gnome-tweak всегда для GNOME устанавливаю.

Насчет пробелов по краям – есть CSS для waybar, там можно это настроить. По умолчанию было 5px, сделал 10px, вроде стало получше.

Silent ★★★★★ ()
Последнее исправление: Silent (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

Я вообще не умею в скрипты. Нашел на Хабре один и еще один на реддите. С Хабра взял основную часть, с реддита ту часть, где названия раскладок укорачиваются до двух символов. Объединил эти скрипты методом тыка и получил такой результат. В принципе, все устраивает пока, спасибо.

По Mako - спасибо, я посмотрю.

Silent ★★★★★ ()
Ответ на: комментарий от eR

Насчет настроек во время установки – я уже не помню. А вот в Sway после первого запуска была всего одна раскладка, английская, поэтому пришлось настроить еще русскую и, соответственно, переключение.

Silent ★★★★★ ()
Ответ на: комментарий от Silent

Насчет пробелов по краям – есть CSS для waybar, там можно это настроить. По умолчанию было 5px, сделал 10px, вроде стало получше.

Ну или так. Я waybar не особо ковырял, хотя очень годная вещь. Пока и swaybar устраивает.

qtm ★★ ()

сразу видно скрин постановочный. Без гапсов тайловые выглядят мягко говоря топорно.

jtad ()
Ответ на: комментарий от jtad

Без гапсов тайловые выглядят мягко говоря топорно.

Гапсы не нужны.

Odalist ★★★★★ ()

а нет, уже нашел. В репе 1.4.2 Самая свежая.

Odalist ★★★★★ ()
Ответ на: комментарий от jtad

ну и зачем по твоему нужны гапсы? использую sway без них, нет желания включать. только экранное место расходуют. и эстетику портят

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

запоминание раскладки для каждого окна в sway есть?

bass ★★★★★ ()
Ответ на: комментарий от Sunderland93

Да, это вкусовщина уровня шрифт или тема иконок.

bass ★★★★★ ()
Ответ на: комментарий от jtad

не нужны тому, кому и тайловые не нужны

Посмотри на мои скриншоты, и все поймешь. А гапсы-это никому ненужная трата пространства.

Odalist ★★★★★ ()

Ууу, когда-нибудь и у юзеров нвидии на улице будет праздник!

А сейчас либо sway, либо vulkan.

melkor217 ★★★★★ ()
Последнее исправление: melkor217 (всего исправлений: 1)

приятно все сделано

Zlo ★★★ ()

Для уведомлений использую Dunst, но его почти не настраивал. Mako, который «Dunst для Wayland», у меня запускаться отказался, есть баг, но почему-то закрыт.

вот тут рекомендуют отключить apparmor для mako, какой то баг с ним в ubuntu 20.04.

eternal_sorrow ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.