Оформление Plasma: разные цвета приложений

09.10.2018

Я собирался было написать следующую заметку о том, какие существуют визуальные стили для приложений Qt5, но подумал, что для начала следует использовать возможности оформления, не меняя стандартный стиль Breeze.
Рабочий стол KDE Plasma 5 очень гибкий и настраиваемый. В частности, он позволяет одновременно запускать по-разному оформленные программы. Например, так:

Как это сделать?

Всё довольно просто: нужно создать директории, в которых будут храниться наборы настроек для каждого варианта оформления. После завершения настройки нужно будет запускать приложения, меняя значение переменной XDG_CONFIG_HOME. Теперь подробнее.

Для примера, показанного на картинке, я создал две дополнительные директории: ~/.dark и ~/.yellow. Расположение и названия, на самом деле, могут быть любыми, это не так важно. Далее я запускаю Параметры системы из командной строки для настройки «тёмного» профиля для Konsole:
XDG_CONFIG_HOME=~/.dark systemsettings5
В открывшемся окне я могу настроить что угодно: цвета, наборы значков, шрифты, стиль элементов управления и многое другое. После нажатия кнопки Применить в ~/.dark появятся новые файлы:


Теперь можно запустить какое-нибудь приложение с настроенным профилем. Например:
XDG_CONFIG_HOME=~/.dark konsole

Однако, что делать с рамками окон? Нам поможет замечательная функция в KDE под названием Особые параметры окна:

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

В результате, приложение Konsole будет выглядеть аккуратно и в одной цветовой гамме. Аналогично можно сделать и «жёлтый» профиль для калькулятора.

Вообще, отдельные параметры для окон в KDE — это очень мощная и недооценённая функция. С её помощью можно настраивать очень многие штуки. В качестве примера я покажу, как может выглядеть Gimp:

Реклама

Оформление Plasma: скругление углов

08.10.2018

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

Большинство тем оформления для оконного менеджера Kwin5 (который как раз и отвечает за «рамки окон») и так имеют небольшое скругление. Это относится и к стандартной теме Breeze. Окно приложения с этой темой выглядит так:

Screenshot_20181008_171457

Тем не менее, существует такая интересная штука как ShapeCorners. Это дополнительный эффект для Kwin5, который дорисовывает чуть большее скругление. Результат выглядит следующим образом:

Screenshot_20181008_171559

Рассмотрим поближе:

Тепер самое интересное: как этот эффект установить и включить?

В принципе, ничего сложного нет 🙂 Итак:

    1. Забираем cебе срез репозитория:
      git clone https://git.code.sf.net/p/shapecorners/code shapecorners-code
    2. Создаём директорию для сборки:
      mkdir shapecorners-code/build && cd "$_" # люблю такие штуки!
    3. Далее нужно запустить команду cmake, указав расположение файла CMakeLists.txt. В данном случае, он находится уровнем выше (..), плюс я специально задаю префикс и расположение системной директории с библиотеками. Этого делать не нужно если вы хотите потом установить скомпилированные файлы в /usr/local:
      cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib64 ..
      На данном этапе, команда cmake, скорее всего, будет ругаться на недостающие зависимости для сборки: их нужно будет доустановить, после чего повторить указанную выше команду. Потребуется около дюжины пакетов вида lib64qt5*-devel, lib64kwin5*-devel и lib64kf5*-devel прежде чем cmake прекратит ругаться.
    4. Далее сборка и установка:
      make && sudo make install

После этого можно будет открыть Параметры системы (systemsettings5), перейти в раздел Поведение рабочей среды > Эффекты и включить новый эффект ShapeCorners:

Screenshot_20181008_174037

На сегодня всё. До новых встреч!


Мои статьи в Fedora Magazine

02.10.2018

1234

У меня вышли четыре статьи в популярном журнале для пользователей Fedora Linux.  В частности:

Самой полезной, как мне самому видится, оказалась последняя статья, и именно на эту тему я недавно писал здесь (см. пост про Waifu2x). Однако, надеюсь, что и остальное вам тоже понравится!

 


Интересные места на фото

14.09.2018

Глядя на эти снимки, никогда не скажешь, что это Петербург:

18,35,237,236.42634613,17,204,234.165100

Хочу собрать коллекцию подобных видов.


Растягивание изображений без потерь

05.09.2018

Надеюсь, у меня получился громкий заголовок 🙂 На самом деле, никакого волшебного растягивания без потерь не существует, разве что в голливудских фильмах. В реальном мире есть неплохой алгоритм xBR для растягивания рисованных изображений, есть удобная программа Smilla Enlarger со своей собственной реализацией этой функции для неплохого увеличения фотографий. Но есть и кое-что получше: Waifu2x. В принципе, у этой программы говорящее имя, ведь тут видны отсылки к аниме и к «увеличению вдвое». Так и есть, Waifu2x отлично справляется с растягиванием именно аниме, и всего, что на него похоже. Но и все прочие типы изображений, включая фотографии, Waifu2x увеличивает очень даже неплохо, как минимум не хуже чем обе другие программы, которые я упомянул выше.

Секрет Waifu2x в использовании двух мощных компонентов:

  • Torch7 — MATLAB-подобной библиотеки для языка программирования Lua с открытым исходным кодом, которая предоставляет большое количество алгоритмов для глубинного обучения и научных расчётов;
  • Nvidia CUDA — набора для разработки приложений, в которых часть вычислений производится на графическом процессоре Nvidia.

Таким образом, для развёртывания Waifu2x в Linux вам потребуются видеокарта Nvidia, адекватная инструкция (наподобие этой), терпение и приличный запас кофе. Однако разработчики Waifu2x cжалились над теми, кто не обладает хотя бы одним из перечисленных выше элементов, и выкатили веб-версию своего конвертера. Теперь растягивание доступно каждому!

Мы же пойдём третьим путём. В недрах Гитхаба, который, слава Богу, не испорчен пока Майкрософтом, нашлась альтернативная реализация нашего растягивателя. Она называется Waifu2x-converter-cpp и отличается тем, что для работы не требуется наличие графического ядра Nvidia. По сути, это «программная» реализация Waifu2x, которая работает только с ЦП (и потому медленнее), но гораздо проще в установке и настройке. Например, для пользователей openSUSE имеется уже готовый пакет, который нужно просто установить. Поскольку у меня не Tumbleweed, а Leap 15, я скачал пакет с исходным кодом и пересобрал его сам, это заняло не более 5 минут.

Для растягивания картинки следует использовать следующий синтаксис:
waifu2x-converter-cpp --scale_ratio <X> -i <исходный файл> -o <целевой файл>

Пример команды:

waifu2x-converter-cpp --scale_ratio 2 -i input.jpg -o output.jpg
К счастью, мне удалось найти графическое приложение, которое позволяет избежать возни с командной строкой. Это Qtwaifu2x, интерфейс к Waifu2x, поддерживающий и Waifu2x-converter-cpp. Выглядит программа просто и лаконично:

В самом простом случае достаточно просто перетащить на окно Qtwaifu2x любое изображение и нажать кнопку. Следует учитывать, что чем больше размеры исходного изображения, тем дольше будет длиться преобразование. Поэтому лучше тренировать на маленьких картинках. Результат должен вас порадовать!

Теперь примеры. Я использовал два тестовых изображения: фрагмент экранного снимка выше и фрагмент городского вида. Оба изображения были растянуты вдвое в программе Krita следующими способами: Кубическим (Cubic),  Фильтром Ланцоша (Lanczos3) и фильтром Box (он же Nearest neighbor). После этого я растянул исходные изображения с помощью Waifu2x-converter-cpp. Посмотрим на результаты (нажимайте на изображения для просмотра в полный размер):

Исходное изображение

 

Cubic

 

Lanczos3

 

Box (nearest neighbor)

 

Waifu2x

Исходное изображение

 

Cubic

 

Lanczos3

 

Box (nearest neighbor)

 

Waifu2x

Спасибо за внимание!


Что полезно знать о приложениях elementaryOS?

03.05.2018

Проект elementaryOS развивает собственную экосистему приложений, которые доступны для установки в фирменном магазине AppCenter. Инициатива, безусловно, хорошая и правильная. Более того, в свете недавнего выхода Ubuntu 18.04 стало окончательно ясно, что рабочий стол Pantheon в elementaryOS намного толковее и удобнее Gnome Shell, как не перекраивай последний. В общем, если вы предпочитаете мир приложений GTK3, то выбор, по большому счёту, будет сводиться к Cinnamon и Pantheon.

Но, возвращаясь к AppCenter, количество новых «курируемых» приложений (сами отцы-основатели называют их приложениями «третьего поколения») явно пошло в ущерб их качеству. Новые маленькие и аккуратные программы отлично выглядят на экранных снимках, но стоит начать ими пользоваться — халтура лезет изо всех щелей. В этом небольшом обзоре я хочу показать скудную функциональность и малую полезность этих приложений. Это становится понятным, если сравнить их с аналогичными программами в составе KDE Plasma (кстати, Kubuntu 18.04 весьма неплох…).

Итак:

1. Desktop Folder — позволяет разместить на рабочем столе elementaryOS папку с файлами, картинку, заметки и т.п.

Desktop

Наиболее очевидная аналогия — стандартная организация рабочего стола в KDE Plasma. Если щёлкнуть правой кнопкой мыши по рабочему столу, выбрать пункт Настроить рабочий стол… и в поле Тип комнаты выбрать значение Рабочий стол по умолчанию, то вы сможете размещать на рабочем столе разнообразные виджеты — плазмоиды. Один из них называется Просмотр папки, и он делает именно то, что пытались скопировать поклонники elementaryOS.

Screenshot_12.png

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

123

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

2. AppEditor — редактор меню для elementaryOS. Появление подобных сторонних программ для, казалось бы, простых и стандартных действий, говорит об изначальной ущербности и примитивности что Gnome 3, что elementaryOS. Какой смысл было сначала всё упрощать, выкидывая из системы якобы ненужные функции, чтобы потом их потихоньку возвращать в виде костылей и подпорок?

Menueditor

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

124

3. Color Picker — «пипетка» для захвата цвета из любой части экрана. Позиционируется как инструмент для графических дизайнеров и веб-разработчиков. Отличительное свойство — наличие «лупы», упрощающей точный выбор цвета. В общем, программа действительно хороша, недаром же за неё просят пусть и символический, но полновесный доллар.

Screenshot

Однако же, проблема в том, что при интенсивном использовании Color Picker вовсе не так удобен как кажется. Это станет очевидным после того, как вы попробуете одноимённый плазмоид из стандартной поставки KDE Plasma. У него нет «лупы», но зато есть другие полезные свойства. Во-первых, это плазмоид, следовательно, его можно разместить не только на рабочем столе, но и на любой панели, благодаря чему он вообще не будет загораживать собою что-то на экране.

Screenshot_13

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

125

Это очень удобно: вместо наматывания километража мыши, вы просто нажимаете придуманную вами же комбинацию на клавиатуре, и плазмоид сразу же переходит в режим «пипетки».

4. Nimbus — прогноз погоды. Про эту позорную поделку я уже писал. В принципе, тут нечего добавить, т.к. любая альтернатива будет лучше Nimbus по определению.Weather

На моём рабочем столе эта программа показывает погоду так:

Screenshot_14

Фаренгейт убер аллес, лучше не скажешь! Не буду показывать здесь лишний раз великолепный Weather Widget, лучше посмотрите на другой достойный плазмоид:

Screenshot_15

Достаточно оценить количество информации, которую показывает Yahoo Weather Widget и сравнить с Nimbus…

И ещё кое-что напоследок. Желание владельцев elementaryOS собрать с населения денег вполне понятно, но то как это реализовано вызывает ассоциации с окном Овертона. Смотрите сами:

Updates

У всех обновлений теперь есть метка Платно/Бесплатно. У большинства компонентов, естественно, стоит пометка Бесплатно, как у драйверов для Virtualbox на картинке выше. Однако, если раньше бесплатность обновлений была очевидной и не требовала уточнений, то теперь эта невинная пометка говорит нам о том, что чисто теоретически, когда-нибудь, некоторые обновления могут стоить несколько долларов. Почему бы и нет, в конце концов?

Вот такие пироги…

 


Ubuntu 18.04 LTS

27.04.2018

ubuntu1804[1]

Свежий выпуск Ubuntu 18.04 LTS стал, пожалуй, первым, который мне совершенно не хочется обозревать. Кроме интересной и хорошо интегрированной технологии LivePatch (обновление ядра без перезагрузки), новая «убунта» может похвастаться только многочисленными регрессиями и ненужными нововведениями. К первым, безусловно, относится переход с Unity на Gnome Shell, ко вторым — превращение стройной и упорядоченной пакетной системы apt в неразбериху из пакетов DEB, Snap и Flatpak. Это явный шаг назад, и таких шагов в Ubuntu 18.04 много.

Грядущий релиз elementaryOS 5.0 Juno меня волнует намного сильнее. Несмотря на убогость подавляющего числа новых приложений, призванных создать «экосистему elementaryOS», надо признать, что некоторые решения там вполне удачны (например терминал и фотобудка). О полезности фирменных (curated) приложений из магазина elementaryOS я напишу в следующей заметке.

Для меня самым ожидаемым релизом этой весны по-прежнему остаётся openSUSE Leap 15, бета-версия которого уже довольно давно у меня установлена на втором жёстком диске. Там довольно шустро работает свежая версия Plasma 5.12 LTS и полно замечательных функций, которых нет и не предвидится более нигде! Следите за моим блогом, чтобы ничего не пропустить!