Наблюдая разницу подхода к юзабилити в Manjaro (KDE) и МСВСфере (Gnome) более чётко зафиксировал для себя общие способы создания ярлыков в linux. Заодно решил посмотреть как в Сфере будут смотреться дефолтные папки, если убрать с них градиент, или, допустим, перенести туда визуал папок из Manjaro.

Что касается ярлыков — для приложений установленных из репозитория с этим проблем особых нет, они и так попадают в общую панель. В KDE их можно перетянуть на панель задач или на рабочий стол. В Gnome — добавить в избранное на основной панели, чтобы они отображались также на панели задач и в доке. Со ссылками на папки тоже более менее ситуация нормальная. А вот если дело касается ярлыков для старта приложения установленного не из репозитория, всяких портабл-версий, разных .AppImage, пользовательских приложений и подобного — здесь уже возникают некоторые проблемы. По крайней мере для пользователей привыкших к windows-экспириенсу или для тех, кто использует какие-то приложения не из магазина, например (и в док их тоже нельзя так просто бросить, как я думал).
Про ярлыки
Способы решения этой проблемы в linux довольно разнообразны. Посмотрим на основные.
1. Конкретно в МСВСфере можно добавить файл/папку в избранное через диалог по правой кнопке. Они появляются в папке Избранные в файловом менеджере (на которую можно сделать ссылку и вынести её на рабочий стол). В Manjaro можно похожим образом добавить папку (но не файл) в раздел Places файлового менеджера, к тому же новая папка добавится туда целой новой строкой.


2. Собственно, можно просто ограничиться тем, что использовать ссылки не на файлы, а на папки. У них будет появляться стрелочка на иконке (в Сфере) или значок вроде скрепки (в Manjaro). К тому же такие ссылки на папки (в отличие от ссылок на файлы) без проблем работают в Сфере, что с рабочего стола, что изнутри прочих папок.
3. Некий комбинированный вариант, больше актуальный для Сферы и прочих ОС c Gnome-like окружением — сделать обычные ссылки на файлы, но собрать их в отдельной папке, а не на рабочем столе. Тогда они будут нормально срабатывать (с рабочего стола они стартуют только если выбирать каждый раз «запуск» в меню по правой кнопке, что неудобно).
4. Наконец, мы можем написать sh скрипт, запускающий нужное. Как если бы запускали терминал и вбивали команду, но более быстро, удобно и без показа терминала. Здесь, конечно, тоже чуть проще запускать приложения из репозитория — достаточно правильно написать имя приложения внутри скрипта. А вот прочие файлы придётся уже запускать через другую форму записи, требующую указать путь к файлу (что тоже довольно не сложно делается).


То есть, внутри sh файла просто пишем такое, где вместо /home/… ваш желаемый путь (а справа и слева один из символов с кнопки тильды, она же отвечает за букву Ё на клавиатуре, находится выше Tab):
#!/bin/bash `/home/...`
Некоторый минус способа — у всех sh файлов будет одна и та же стандартная иконка. Зато файл можно будет запускать с параметрами, например.
Опять же, в случае со Сферой это не вариант, так как для старта sh файла придётся прожимать запуск в меню по правой кнопке.

5. Ещё можно поискать и установить какой-то виджет/прогу для более удобного доступа к нужным файлам. Например, в Manjaro имеется встроенный виджет Quicklaunch, создающий окошко с юзерскими ярлыками. А в Сфере можно установить приложение Shortcut — оно позволяет заводить свои ярлыки, указывая в том числе и иконку, и они попадают в основное меню. Оттуда их можно добавить в избранное (появятся на панели задачи и в доке) или вывести на рабочий стол (потребуется дополнительно нажать на разрешение запуска ярлыка, в диалоге по правой кнопке).





6. Или же можно плотнее вникнуть в такую вещь, как .desktop файлы. Этот формат как раз и предназначен для создания ярлыков. Допустим, Manjaro позволяет пользователю удобно создавать ссылки в таком формате, автоматизируя процесс — по правой кнопке есть опция создания url-ярлыка, как раз и создающая .desktop файл и позволяющая настроить основные параметры через графический интерфейс, избавляя от излишних подробностей.
Тем не менее, .desktop файл можно сделать и вручную, в текстовом редакторе. Что в Gnome, что в KDE.


Одним словом, запись для .desktop запускающего файл примерно такая (где для Icon и Exec нужно указать свои пути, и поправить Name на свои варианты):
[Desktop Entry] Icon=/home/... Name[en_US]=custom_name Name=custom_name2 Type=Application Exec=$HOME/...
Или так, например:
[Desktop Entry] Name=custom_name Exec="/home/..." Terminal=false Type=Application
Нюансы — в той же Сфере .desktop работают (и отображают прописанную иконку) только на рабочем столе (такие вот особенности у Gnome). Иконку им можно прописать специальной строкой внутри файла, или же стандартным образом установить её через свойства файла.
Дополнительная фишка — .desktop файлы можно бросить в папку applications (удобнее в раздел home, включив отображение скрытых папок, по пути — .local/share/applications), чтобы помещённый туда ярлык отобразился в разделах основной панели ОС. Откуда уже с ним можно развлекаться описанными выше способами (отправить в панель задач, док или рабочий стол). Важный момент — если иконка была просто «натянута» поверх через свойства, то на панель она не перенесётся. Для того, чтобы она там отобразилась нужно именно прописывать путь к ней внутри текста .desktop файла. Другой важный момент — чтобы файл запускался с панели, внутри .desktop поле Type должно быть прописано как Application, а не Link.

Кастомные иконки
Свои иконки в linux делать не сложно, к тому же можно делать это упрощённым способом — просто меняя какой-то существующий в системе файл иконки. Достаточно найти в поиске подходящий .svg файл и установить приложение, которым его можно открыть, чтобы отредактировать его векторное изображение — через Inkscape, например, достаточно удобно (хотя конкретно к редактированию в нём ещё надо привыкнуть).
В данном случае я хотел сделать иконки не для приложений, а для папок, чтобы посмотреть как будут выглядеть дефолтные папки МСВСферы без градиента (и может быть, с дополнительной обводкой). И для начала просто сделал скрин с ними и набрасывал вариации векторых изображений поверх этого скрина, в редакторе Krita.





Примерно определившись с теми иконками, которые хотелось бы реально собрать в виде .svg файлов, стал по очереди их формировать в Inksсape и сохранять как отдельные иконки.



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

По идее можно залезть в системные папки и вручную заменить предустановленные иконки папок на свои, но там это всё может быть запаковано или иконка присутствует в нескольких вариантах размера, что осложняет замену.
В KDE можно разнообразно редактировать настройки используемой темы, но там редактируется цвет окон, разные стили, но не сами иконки — для них только выбор из доступных наборов или загрузка прочих наборов из интернета. Правда, можно сменить иконку для всех папок сразу иначе — в файловом менеджере Dolphin, открыв любую папку по правой кнопке, нажав Change и выбрав другой значок для всей категории. Но, опять же, выбирая из тех, что внутри имеющихся в системе наборов — при попытке открыть иные директории диалог сбрасывается.
Однако, я нашёл как это обойти — в данный диалог нужно заходить иначе, через System Settings, выбрав там Default Applications и раздел File Assotiations. Далее строку inode и внутри неё — directory. Где уже кликнув по картинке папки можно выбрать и любую свою иконку тоже, кроме внутрисистемных:


В Gnome настроек для замены иконок папок на собственные я, вроде, не видел, хотя в «доп. настройках Gnome» можно сменить системные значки на несколько иных вариантов и присутствует пункт более тонкого, видимо, управления темой, но по дефолту неактивен и требует включить «user-theme» (видимо это даст возможность более гибко настраивать тему, добавляя что-то из того функционала, что был в KDE, но не заменять значки на какие-то собственные). С другой стороны, наверное есть приложение для создания сразу всего набора системных значков, который уже и смогут использовать окружения.
Но мне достаточно было посмотреть на иконки папок, не меняя их вид везде в системе сразу. Вот что получилось:






Напоследок, сделал иконки папок ещё и из своих сделанных ранее иконок магических книг, убрав с обложки значки и немного уменьшив контуры. Почему бы папкам не быть книжками. Разве что тень под книгой можно было бы и убрать.


Прочие статьи про Linux:
ссылка на оригинал статьи https://habr.com/ru/articles/897570/
Добавить комментарий