Мысли, истории и идеи.

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

WingPanel - Big gap between icons

Да, и действительно, мы добавили всего два индикатора, а на экране с резолюцией в 4K осталось не так много места между часами и индикаторами. Если присмотреться, то практически половина места занята.

Давайте это исправлять. Заодно, немного посмотрим на то, как устроена тема оформления нашей системы. Дело в том, что как и многие современные пользовательский интерфейс в Linux пользуются библиотекой gtk. А её оформления содержится в обычных CSS стилях. Таким образом все, что вы видите на экране, оформляется при помощи того же стиля как и обычные html страницы. Если вы когда-то занимались веб дизайном и работали со стилями оформления у вас не будет никаких проблем читать и понимать стили оформления, как и в Elementary OS, так и в любом дистрибутиве работающим с gtk.

Но вернемся к нашей проблеме. Раньше, в предыдущей версии (Loki или Juno) можно было изменить файлы стилей находящиеся в папке  /usr/share/themes/elementary/gtk-3.0/. Но им, наверное, надоело, что в их стили лезут кому не лень и меняют их на системном уровне, а потом жалуются что что-то не работает. По этому в последней версии (Hera) все не так. Стили встроены в систему, а вам остается только переопределить нужные вам значения в пользовательском пространстве.

Для этого с домашнем каталоге создайте папку ~/.config/gtk-3.0/, если её ещё нет.

mkdir -p ~/.config/gtk-3.0/

А в ней файл gtk.css:

vim ~/.config/gtk-3.0/gtk.css

Со следующим содержанием:

.composited-indicator {
    padding: 0 2px;
}

Для того, что бы в vim перейти в режим ввода текста нажмите [i], введите текст файла, после чего нажмите [Esc] ,что бы выйти из режима ввода. Что бы сохранить файл и выйти из vim, наберите :wq и нажмите [Enter]. Вот и всех делов. Теперь осталось только перезапустить панель. Для этого можно перезагрузиться, выйти и опять войти в систему или просто "убить" процесс wingpanel. Для этого воспользуемся командой pkill wingpanel. Верхняя панель исчезнет и через несколько секунд появится обратно.

После перезапуска панель будет выглядеть на много лучше:

WingPanel - No gap

Теперь есть место запихать туда еще немного индикаторов ;-).