пятница, 20 мая 2011 г.

Unity customization


Статья о том, как можно изменить внешний вид графической оболочки Natty Narwhal — Unity. 

Немного предыстории
Началось все с выпуска Ubuntu 11.04 Beta 2, очень уж мне захотелось попробовать в деле пакет Ayatana Scrollbars, однако установка его на 10.10 оказалась невозможной — версии в PPA начинаются с Natty.

Честно говоря, исходники то доступны, так что, теоретически, установить overlay-scrollbar на 10.10 можно, но для этого придется обновить libglib до версии 2.28, а в Synaptic'е Maverick'а наивысшая версия — 2.26. А переставлять libglib руками — это то еще удовольствие.

Ближе к делу

Итак, на моем ноутбуке удобно устроился Нарвал, вторая beta. Загрузился в Unity — посмотреть. Раньше уже сталкивался с Unity2D, но еще на ранних стадиях, так что впечатления были не ахти. На overlay-scrollbar я насмотрелся вдоволь, понравились. Но вот окружение… Стандартные настройки Unity Plugin удручают, их всего-то ничего. Да и сторонних программ по настройке Unity тогда еще не было.

Но душе хотелось гармонии и легкости, а стандартная тема вкупе с обоями оставляли ощущение дискомфорта.

Что ж, поехали!


Копаемся в настройках

Ненадолго остановлюсь на стандартном диалоге настроек.
Super -> Compiz -> Ubuntu Unity Plugin




Тут нас заинтересуют только строчки 'Panel Opacity' и 'Dash Blur' на вкладке 'Experimental'.
Panel Opacity, как ни странно, меняет прозрачность верхней панели Unity. Рекомендуемое значение — 0.8, т.к. оно совпадает со значением прозрачности боковой панели, которое изменить, к сожалению, нельзя.
Dash Blur добаляет к Dash размытие, выглядит приятно.
На более глубоких настройках я остановлюсь чуть позже. 

Философия тем

Темы в Unity — это отдельное концентрированное зло.
Во-первых, emerald'а нет и больше не будет.
Во-вторых, верхняя панель меняет свой вид в зависимости от выбранной темы GTK, а вот боковая всегда остается такой, какая есть. В некоторых случаях это выглядит весьма интересно, но лично мне больше нравится вариант, когда обе панели выглядят примерно одинаково. Тут, впрочем, дело каждого.
Для того, чтобы избежать неприятного момента с изменением вида верхней панели, мне пришлось установить unity-theme.


sudo add-apt-repository ppa:isantop/iansanto-ppa
sudo apt-get update && sudo apt-get install unity-theme


Этот пакет также заменил cntrol buttons, которые размещаются на самой панели, если окно развернуть.



Кроме того, опять же как ни странно, в списке GTK тем появилась некая 'unity-theme'. На практике — это самая обычная Ambiance, не считая вышеупомянутого. Однако, тут присутствует одно очень важное отличие от стандартной Ambiance — файлы темы помещены в /usr/share/themes/Unity, а это значит, что все можно ручками поменять.
Например:
/usr/share/themes/Unity/metacity-1 — тема Metacity, тут мы можем поменять control buttons окна. Мне хватило просто обесцвечивания, после этого можно преспокойно играть с цветовой схемой, не опасаясь, что рыжая кнопка будет смотреться аляпистым пятном.
Вот такие настройки темы у меня:



А вот так выглядят заголовки окон с обесцвеченной Metacity:





Ubutnu-theme я советую поставить каждому, даже если вы собираетесь использовать другие темы (исключения: elementary, orta, minty), т.к. это позволит вам настроить одинаковый внешний вид для верхней и боковой панели. Ну и control buttons очень подходят под этакой HUD-стиль.


Если вы хотите использовать стороннюю тему, меняющую внешний вид верхней панели и при этом верхнюю панель оставить в покое, то вам нужно заменить элементы управления (скрин выше) на unity или на любые другие из тем, которые не меняют панель. Естественно, сами элементы управления тоже будут меняться (кнопки/списки/ползунки и т.п.). 

Детальная настройка боковой панели и Dash

Теперь обратим взор к боковой панели.

Не препарируя пациента мы можем изменить:

— размер иконок

— режим подсветки

— анимации

Маловато как-то.

Открываем /usr/share/unity и видим 3 папки:

3: тут содержатся графические файлы, которыми мы и будем заниматься

places: конфигурация, не трогаем

themes: отсюда нам пригодятся только несколько png-шек



Подробнее остановимся на папке 3:

Верхний ряд иконок в Dahs:

find_files.png
find_internet_apps.png
find_media_apps.png
find_more_apps.png
Обводка иконки (отображается когда подсветка отключена):

round_outline_54x54.png
Маска подсветки:
round_corner_54x54.png
В themes:

Индикаторы активного приложения:

launcher_arrow_ltr.png
launcher_arrow_outline_ltr.png
launcher_arrow_outline_rtl.png
launcher_arrow_rtl.png


Дальше оставляю место вашей фантазии и находчивости.



Полезно знать: Изменения не применяются на лету. Чтобы их увидеть, нужно либо перелогиниться, либо: unity --replace.


Обои
Нет, тут я не буду рассказывать как поменять обои в Ubuntu и где взять те, которые «не надоели» (Привет, Денис!).
Обои — это огромный плацдарм кастумизатора.
Поясняю: вы можете капитально изменить вид вашего рабочего стола, не написав при этом ни строчки кода. Все дело в имитации. Например, можно выставить значение прозрачности для верхней панели равное 0, а саму панель нарисовать на обоях. И тут уж добавляйте любые примочки — вас ограничивает только ваша фантазия.
Поделюсь одной из своих плюшек — скругленные углы монитора/дисплея а-ля Apple iPhone: просто верхним слоем добавляем абсолютно черные скругленные уголки. Кода вы просто смотрите на рабочий стол это не бросается в глаза, но…


В «Экспо» это выглядит намного интереснее!
Кэп сообщает: чем светлее обои, тем лучше будут смотреться уголки.
Сторонние приложения для управления Unity или Tweaks
На данный момент существует парочка приложений, которые помогут настроить Unity.
1. Gunity
Это приложение просто собирает все настройки в 1 окне. Ничего сверхъестественного.
2. Confity
А вот тут помимо обычных настроек присутствует и несколько твиков. Например:


Управление Banshee/Rhythmbox из выпадающего меню


Быстрый доступ к продуктам LibreOffice
Compiz
Немного отвлечемся от Unity и взглянем на Compiz.
После перехода с GNOME2 на Unity я заметил несколько раздражающих меня вещей:
1. Переключение между ВРС происходило с появлением крайне несимпатичного viewport switcher preview, да еще и с миниатюрами обоев и окон внутри
2. Рабочие столы в «Экспо» были настроены как в GNOME, а в Unity панели зафиксированы, поэтому два левых ВРС были перекрыты боковой панелью
3. Анимаций почти не было
4. Никакой прозрачности
5. Conky и Covergloobus обзавелись неприятными глюками: отрисовывалась тень от прямоугольного окна, а в Covergloobus еще и Metacity затесался
Все это прекрасно лечится через CopmizConfig:
1. Desktop Wall -> Show Viewport Switcher Preview и далее по списку
2. Expo -> Appearance
3. Animations — играемся на каждой вкладке
Первые три пункта не претендуют на оригинальность, но все же я счел нужным их тут описать.
4. Прозрачность, яркость и насыщенность:
Прозрачность панелей и меню в GNOME задавалась так: class=Gnome-panel ##
Где ## — значение непрозрачности окна в %.
В Unity эта строчка ничего нам не дает. Для выпадающих меню прозрачность настраиваем так:
(type=Menu | PopupMenu | Dialog | DropdownMenu) ##
Где ## — значение непрозрачности окна в %.
Про отдельные отдельные окна писать не буду, и так все ясно.
5. Оформление окна:


Добавление собственных ярлыков на боковую панель
И напоследок: добавить приложение на боковую панель по умолчанию можно несколькими способами:
— открыть Dash, найти приложение, перетащить на панель
— перетащить ярлык приложения с рабочего стола на панель
Однако, если вы используете собственные скрипты для запуска приложений с какими-нибудь особенными параметрами или вообще — написали свое приложение и хотите его добавить на боковую панель, то простым перетаскиванием тут не обойдешься.
Рецепт: кладем исполняемый файл в ~/.local/share/applications и после этого либо находим его в Dash, либо перетаскиваем из Nautilus.


Ну вот и все. Возникнут какие-то вопросы — отвечу в комментариях.

Комментариев нет:

Отправить комментарий