LINUX.ORG.RU

i3wm: Отображение и скрытие иконок в трее по шорткату

 , i3bar, ,


1

2

(Если не воспроизводится гифка, кликните по ней)

Работаю я на ноутбуке, и у меня постоянно открыто много рабочих столов в i3, поэтому свободного места в панельке i3bar у меня впритык. Когда же в трей ещё залетают 3-4 приложения, то строка статуса в принципе перестает помещаться и съедается кнопками рабочих столов.

Кроме того, постоянно торчащие значки в трее, каждый в своём стиле и размере, выглядят колхозно, выбиваются из общей стилистики и просто меня бесят. Но трей - полезная штука, позволяет следить за программами, которые запущены на фоне и получать к ним быстрый доступ, поэтому полностью отказываться от него я не хочу.

К сожалению, в i3 нет возможности в рантайме менять поведение i3bar, разрешая или запрещая отображение трея. Однако после часа поисков и экпериментов, я смог найти обходной путь.

Суть метода состоит в том, что i3 поддерживает несколько панелей. В моём случае надо создать две панели:

  • bar-primary (трей отключен, i3status включен). Видна по-умолчанию.
  • bar-tray (i3status отключен, трей включен). По-умолчанию скрыта.

Отобразить вторую панель можно или зажав клавишу-модификатор, или путём специальной команды. Первый случай оказался неудобным для меня дефолтом - поэтому я его сразу же отключил, и для отображения/скрытия панели использую сочетание клавиш: Ctrl+].

Не знаю, баг это или фича, но панель bar-tray отображается поверх панели bar-primary, что создает ощущение бесшовного включения-отключения трей-иконок.

Конфигурация:

bar {
    id bar-primary
    tray_output none
    status_command i3status
}

bar {
    id bar-tray
    tray_padding 1
    tray_output primary
    mode hide
    modifier none
}

bindsym $mod+bracketright bar hidden_state toggle bar-tray


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

Ответ на: комментарий от hobbit

Конкретно на этом скрине - убунта 22.04, развернутая на рабочем ноуте.

А на домашнем ноуте стоит арч, да. Кстати, история по переносу окружения с арча на последнюю лтсшную убунту достойна отдельной статьи, правда там будет слишком много матов в сторону каноникал %)

Fizzika ()

Можно изменить формат времени, даты и аккумулятора. Сразу освободится треть панели, как раз под трей.

Но идея со второй панелью, да, хорошая. А какая из них сверху, наверное зависит или от сортировки по названию или от позиции в конфиге. Я по названию менял место sbxbk, сделал симлинк aaxkb, чтобы индикатор переключалки шел первым слева.

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

Можно изменить формат времени, даты и аккумулятора. Сразу освободится треть панели, как раз под трей.

Да, но эстетический момент никуда не исчезает >_<

Иконки в трее выглядят как-то инородно, один gxkb и qbittorrent ещё держат марку

А какая из них сверху, наверное зависит или от сортировки по названию или от позиции в конфиге.

Там позиция панели в конфиге настраивается, ставишь position: top, и у тебя панелька сверху. Я сначала и планировал панельку с треем сверху сделать, но потом оказалось, что снизу она в режиме hide накладывается на основную, которая тоже снизу в режиме dock.

Даже не пришлось писать скрипт, который менял бы панельки снизу.

Fizzika ()

Как высоту панели увеличить?

Pinux001 ()
Ответ на: комментарий от Pinux001
bar {
    id bar-primary
    bindsym button4 nop
    bindsym button5 nop
    tray_output none
    colors {
	background #1c1c24
    }
    status_command i3status
    mode dock
}

bar {
    id bar-tray
    bindsym button4 nop
    bindsym button5 nop
    tray_padding 1
    tray_output primary
    colors {
	background #1c1c24
    }
    mode hide
    modifier none
}
Fizzika ()

У вас $mod забиндин на ctrl? В конфиге mod+], и в тексте указана комбинация ctrl+]

Редко такое увидишь, обычно на Super или Alt. Чем обоснован такой выбор?

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

У вас $mod забиндин на ctrl? В конфиге mod+], и в тексте указана комбинация ctrl+]

Я перепутал %)

Мод у меня на Super стоит.

Fizzika ()

Какое-то превозмогание. Сама концепция ущербна, когда нет обычной панели задач, где сто лет в обед можно группировать вкладки.

gutaper ★★★★★ ()
18 января 2023 г.
Ответ на: комментарий от gutaper

Но ведь это же не проблема. Я в i3 использую xfce4-panel, она меня полностью устраивает.

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