29 мая 2017

Изменить цвет системной панели и конфигурацию значка раскладки клавиатуры в elementary OS 0.4.1

Я не буду в этой статье возвращаться к настройкам elementary OS Loki, они описаны в   Elementary OS 0.4 "Loki" после установки, т.к. elementary OS 0.4.1 отличается от Elementary OS 0.4 только тем, что обновлённая elementary OS 0.4.1 использует пакетную базу Ubuntu 16.04.2, ядро Linux 4.8 с улучшенной поддержкой оборудования и новой версией Центра установки приложений (AppCenter) с поддержкой установки программ, специально разработанных для Elementary OS и размещённых в каталоге AppCenter Dashboard.

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

Примечание. Прежде чем начать описание изменений, хочу заметить, что не стоит в  дистрибутиве  elementary OS устанавливать другие темы, т.к. в нём  используются специфические библиотеки libgranite и установка других тем оформления, не имеющих зависимости libgranite, попросту "ломает" конфигурацию основных и модальных (по правому клику) окон приложений. Поэтому я рекомендую использовать в elementary OS тему оформления по умолчанию - elementary, о которой в дальнейшем пойдёт речь.

Итак, в теме оформления  elementary, разработчики дистрибутива применили некую фишку. Если мы открываем рабочий стол с обоиной по умолчанию или окно на нём, открытое не на весь экран, то верхняя панель - Wingpanel остаётся прозрачной:


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

Для любителей "поковыряться" в конфигурационных файлах, я предлагаю изменить цвет системной панели на пользовательский, т.е. ваш. Для примера я использовал цветовой код #007b82 вместо прозрачного.

Вот так будет выглядеть Wingpanel с обоиной по умолчанию и окном приложения, открытым не на весь экран:


А так Wingpanel будет отображаться при открытии окна приложения на весь экран.


И, наконец, отображение Wingpanel'и с некоторыми обоями и окнами открытыми не на весь экран.


Приступим.
Для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида приложений и рабочего стола используются так называемые каскадные таблицы стилей CSS (англ. Cascading Style Sheets) в конфигурационных файлах системы.

Примечание. Чтобы редактировать файлы, нам необходим текстовый редактор. Тот что по умолчанию - Scratch, какой-то "обрубок", по сравнению с гнововским - Gedit, поэтому я предлагаю установить его следующей командой в терминале:

sudo apt install gedit

Теперь откройте на редактирование файл apps.css в теме elementary следующей командой в терминале:

sudo gedit /usr/share/themes/elementary/gtk-3.0/apps.css


Когда откроется редактор с файлом, перейдите в раздел * Panel * и в строке .panel background-color измените на код #007b82 вместо transparent.
 Нажмите кнопку Сохранить.

Чтобы изменения вступили в силу, необходимо перезагрузить Wingpanel следующей командой в терминале:

killall wingpanel

Если вы хотите изменить/применить другой код цвета панели вместо #007b82, откройте в браузере поисковик Google, введите в поиск этот код, в первом же результате поиска:  1- выберите нужный цвет, 2 - в цветовом цилиндре передвигайте флажок для выбора тона, 3 - и когда выберите нужный цвет и тон, скопируйте код для вставки из левой колонки:


Примечание.  В этом же файле, раздела  * Panel *, в строке .panel .maximized background-color: #000; (чёрный), также можете изменить на свой код вместо #000. Тогда при открытии окна на весь экран, Wingpanel будет принимать выбранный вами цвет вместо чёрного.
Не забывайте нажать кнопку Сохранить и выполнить команду для перезагрузки панели.

Изменение конфигурации значка раскладки клавиатуры.


К сожалению с переходом значка раскладки на ibus, стало невозможным встроить флажки стран вместо текста.
Чтобы изменить значок с квадратного на круглый, в этом же файле apps.css раздела * Panel *, в строке .composited-indicator .keyboard, в значении border-radius: измените с 2px на 10px (верхний снимок), сохраните изменения и перезагрузите панель.

Вот и всё.

Удачи.

9 комментариев :

  1. Владимр, добрый день.
    Прошу прощения за явный офтопик.
    Как можно выключить комп (или заблокировать клавиатуру по паролю) при нажатии любой клавиши на клавиатуре? Дети смотрят мультики, если что не нравится, долбят куда ни попадя. Машинка старая и этой атаки на клавиатуру не выдерживает - виснет, что провоцирует дальнейшее долбление.
    Спасибо.

    ОтветитьУдалить
    Ответы
    1. Почитайте здесь
      https://lxadm.com/Disable_/_enable_keyboard_and_mouse_in_Linux
      Там найдете инструкцию, как составить команды для отключения и включения клавиатуры. Остается сделать ярлыки (файлы *.desktop) с этими командами на рабочем столе (или скажем на панели, зависит от вашего DE), и запускать их мышкой - как один из вариантов.

      Удалить
  2. Тачпад можно выключить, например, так:

    Ищем идентификатор тачпада командой в терминале:

    xinput list

    http://pix.toile-libre.org/upload/original/1496173124.png

    Выбираем требуемое устройство в списке, пусть его id будет 10 (в моём случае).

    Выключаем командой в теминале:

    xinput set-prop 10 "Device Enabled" 0

    Измените в команде цифру 10 на свой id

    Включаем:

    xinput set-prop 10 "Device Enabled" 1

    Измените в команде цифру 10 на свой id

    P.S. Сохраните эти две команды в текстовом редакторе на рабочем столе или в Домашней папке, чтобы не держать в голове на будущее.

    ОтветитьУдалить
  3. А работает ли указание цвета с альфа каналом?
    Background-color: rgba(200,200,200,.5)
    Должен быть такой серый прозрачный наполовину

    ОтветитьУдалить
    Ответы
    1. ==А работает ли указание цвета с альфа каналом? ==
      Работает.

      Удалить
  4. Интересно в планы разработчиков Elementary OS входит интеграция глобального меню в Wingpanel? Тем более они позиционируют себя как альтернатива OSX, а человеку привыкшему к глобальному меню без него не очень комфортно. Лично для меня пока это основная причина, почему не "пересел" с Unity.

    ОтветитьУдалить
  5. Доброго всем времени суток! Сегодня поставил elementary OS 0.4.1 и сразу столкнулся со следующей проблемой: при установке выбрал русский язык, а когда перезагрузился, то вся система на английском! Подскажите, что нужно сделать, чтобы система была на русском?
    Заранее благодарен.

    ОтветитьУдалить
    Ответы
    1. Открыть Настройки системы - Язык системы, добавить русский, отметить его как основной и перезагрузить систему (компьютер не обязательно). Когда вновь войдёте, будет предложено переименовать папки или оставить прежние названия. Нажмите - Переименовать.
      Вот и всё.

      Удалить