Параметры настройки менеджера окон fly-wm#
Важно
Документация дорабатывается по мере развития продуктов Группы Астра и по пожеланиям пользователей.
Ваши пожелания и замечания направляйте на почту docs@astralinux.ru
Общие сведения#
Процесс настройки взаимодействия приложения с пользовательской средой Fly
(менеджер окон fly-wm — менеджер окон, рабочий стол, классическое меню «Пуск», панель инструментов, переключатель рабочих столов, блокировщик экрана),
включает:
создание и регистрацию
*.desktop-файла (ярлыка приложения),создание
*.directory-файла с собственной категорией (для кастомизации ярлыков в меню приложений),настройку ассоциаций MIME-типов (открытие файлов нужным приложением).
Описание функций fly-wmfunc — инструмента редактирования оконного менеджера fly-wm — представлено в статье.
Рабочие каталоги менеджера окон fly-wm (для настройки приложения)#
Системные конфигурационные файлы:
/usr/share/fly-wm/shared/— каталог интеграционных настроек приложений оконного менеджера;/usr/share/fly-wm/shared/flydesktop— размещение в этом каталоге ярлыков (файлов*.desktop) приводит к их немедленному появлению на первых рабочих столах всех пользователей (и наоборот, удаление объекта из каталога ведет к удалению объекта с рабочих столов);/usr/share/fly-wm/shared/flystartmenu— каталог для объектов меню «Пуск» (файлы*.directory— описатель категории меню);/usr/share/fly-wm/shared/flytoolbar— каталог для объектов панели инструментов (файлы*.desktop);/usr/share/mime/packages/— каталог для XML-файлов регистрации MIME-типов;/usr/share/icons/hicolor— каталог иконок приложения.
Файлы, представленные в каталогах выше, будут применены ко всем пользователям. Пользовательская настройка,
заданная в каталоге ~/.config, переопределяет системную настройку.
Примечание
Описанные выше каталоги flydesktop, flystartmenu и flytoolbar задаются переменными окружения FLY_SHARED_DESKTOP_DIR, FLY_SHARED_STARTMENU_DIR, FLY_SHARED_TOOLBAR_DIR.
Директории должны быть созданы заранее (если переменная пустая, то используется дефолтный каталог из /usr/share/fly-wm/shared/).
После обновления значения переменной необходимо перезайти в пользовательскую сессию.
Нежелательно использовать стандартные пути для нестандартных целей.
Предупреждение
В более ранних обновлениях:
/usr/share/applications/flydesktop— каталог для объектов рабочего стола;/usr/share/applications/flystartmenu— каталог для объектов меню «Пуск»;каталог для объектов панели инструментов отсутствует.
Использование данных каталогов для настройки собственного ПО в последних обновлениях ALSE не рекомендуется.
Конфигурационные файлы#
.desktop-файл — текстовый файл с расширением .desktop, соответствующий стандарту Freedesktop.org.
Он содержит метаданные о приложении и используется для интеграции программы в графические среды рабочего стола Linux.
Основные поля .desktop-файла включают:
название приложения (
Name),команда, запускающая приложение (
Exec),рабочая директория, из которой следует запускать команду (
Path),иконка (
Icon),категория (
Categories, например, «Разработка», «Интернет»),список MIME-типов, с которыми может работать приложение (
MimeType).
.directory-файл — это специальный файл, описывающий категорию (или подменю) в меню приложений «Пуск». Он используется для
группировки .desktop-файлов по логическим разделам. Содержит следующие ключевые поля:
Name(отображаемое имя категории, поддерживает локализацию черезName[ru]),Categories(имя, по которому*.desktop-файлы ассоциируются с этой категорией),Comment(краткое описание категории, появляется при наведении),Icon(иконка категории),Type=Directory(обязательное поле, указывающее, что это файл категории).
Категория ярлыка — логическая группа, к которой относится программа, связанная с этим ярлыком.
Может использоваться для создания кастомизированной группы в меню Пуск, например, категория «ППО» и входящие в ее состав
«SDK ППО», «Информация о версии ППО», «Лицензия ППО», «Справочник ППО» и др.
Совет
Стандартные категории — Инструменты («Utility»), Научные («Education»), Разработка («Development»), Игры («Game»), Графика («Graphics»), Мобильные («Mobile»), Мультимедиа («Multimedia»), Интернет («Network»), Офис («Office»), Параметры («Settings»), Системные («System»).
MIME (Multipurpose Internet Mail Extensions) — стандарт, описывающий типы файлов (обычно по расширению, определяется
glob-паттерном) и способы их обработки. В контексте Linux-десктопов MIME-типы используются для определения,
какое приложение должно открывать файл определённого типа (в .desktop файле в поле MimeType указываются
MIME-типы, с которыми приложение умеет работать).
MIME-файл содержит описание новых или пользовательских MIME-типов, включая:
<mime-type type="application/x-myformat">— объявление типа,<glob pattern="*.myext"/>— сопоставление файла с MIME-типом (задается glob-паттерном, обычно указывается расширение файла),<comment>— описание типа.
Примечание
Редактор меню Пуск и панели быстрого запуска (fly-menuedit) позволяет графически редактировать ярлыки и категории программ.
Интеграция ППО в ALSE#
Описанные ниже способы настройки рекомендуется использовать в постинсталяционном скрипте.
Предупреждение
Данные настройки актуальны для обновления ALSE 1.8.5.
Добавление приложения в меню Пуск#
Создать
myapp.desktopфайл для приложения myapp:
[Desktop Entry]
Name=My App
Name[ru]=Мое приложение
Exec=/opt/myapp
Icon=myappicon
Type=Application
Categories=Utility;
Terminal=false
Совет
Иконка задается png или svg файлом либо по указанному пути (например, /home/user/myicon.svg), либо с помощью заданного псевдонима
(например, если задана ассоциация myappicon с файлом /usr/share/icons/hicolor/scalable/apps/myappicon.svg).
Добавить ярлык в меню (для всех пользователей, требуются права администратора):
sudo mv myapp.desktop /usr/share/fly-wm/shared/flystartmenu
Результат — после добавления файла myapp.desktop в директорию /usr/share/fly-wm/shared/flystartmenu
иконка приложения автоматически появится у всех пользователей в меню Пуск.
Примечание
Удаление файла myapp.desktop из директории /usr/share/fly-wm/shared/flystartmenu приведет к автоматическому удалению
ярлыка приложения из меню Пуск у всех пользователей.
Совет
Для добавления приложения в меню Пуск от пользователя рекомендуется выполнить графическую настройку из меню
Предупреждение
Пользовательская настройка имеет приоритет над системной. При возникновении ошибок с системной настройкой рекомендуется проверить нет ли конфликта с пользовательскими настройками.
Примечание
При появлении ярлыка приложения в меню Пуск пользователю будет удобно самостоятельно добавить ярлык на рабочий стол, панель инструментов, избранное или автозапуск. Для этого необходимо нажать правой кнопкой мыши на ярлык в меню и нажать кнопку «Добавить».
Создание ярлыка на рабочем столе#
Создать файл myapp.desktop из предыдущего примера в директории /usr/share/fly-wm/shared/flydesktop (для всех пользователей, требуются права администратора).
Результат — после создания файла в директории ярлык автоматически появится на рабочих столах всех пользователей.
Примечание
Удаление файла myapp.desktop из директории /usr/share/fly-wm/shared/flydesktop приведет к автоматическому удалению
ярлыка приложения со всех рабочих столов у всех пользователей.
Совет
Для добавления приложения на рабочий стол от пользователя рекомендуется выполнить графическую настройку с рабочего стола: и заполнить обязательные поля «Имя» и «Команда».
Предупреждение
Пользовательская настройка имеет приоритет над системной. При возникновении ошибок с системной настройкой рекомендуется проверить нет ли конфликта с пользовательскими настройками.
Добавление ярлыка на панель инструментов#
Создать
myapp.desktopкак в примере выше.Добавить ярлык на панели инструментов (для всех пользователей, требуются права администратора):
sudo mv myapp.desktop /usr/share/fly-wm/shared/flytoolbar
Результат — файл myapp.desktop появится в каталоге /usr/share/fly-wm/shared/flytoolbar и автоматически появится на
панели инструментов всех пользователей (появится в пользовательском каталоге ~/.local/share/applications/).
Примечание
Удаление файла myapp.desktop из директории /usr/share/fly-wm/shared/flytoolbar приведет к автоматическому удалению
ярлыка приложения с панели инструментов у всех пользователей.
Совет
Для добавления приложения на панель управления пользователю необходимо выполнить следующие действия: .
Предупреждение
Пользовательская настройка имеет приоритет над системной. При возникновении ошибок с системной настройкой рекомендуется проверить нет ли конфликта с пользовательскими настройками.
Задание иконки#
Иконка задается файлами png или svg, который необходимо поместить в соответствующую директорию
(для png файла — /usr/share/icons/hicolor/<размер>/apps/имя_иконки.png, для svg — /usr/share/icons/hicolor/scalable/apps/имя_иконки.svg):
sudo mv myicon.png /usr/share/icons/hicolor/48x48/apps/myicon.png
Совет
Рекомендуется использовать несколько размеров (16x16, 32x32, 48x48, 64x64, 128x128), но достаточно хотя бы одного — система подберёт ближайший.
Результат — иконка появится в реестре иконок и может быть использована по псевдониму как значок ярлыка.
Настройка ассоциации MIME-типа#
До настройки ассоциации (связи *.xml с *.desktop) необходимо убедится, что *.desktop имеет поле MimeType и находится в ~/.local/share/applications/
(пользовательские приложения) или /usr/share/applications/ (стандартные приложения Astra Linux Special Edition).
Пусть задан файл myapp.desktop:
[Desktop Entry]
Name=My app
Name[ru]=Мое приложение
Exec=/opt/myapp/myapp
Icon=myapplication
Type=Application
Categories=Utility;
Terminal=false
MimeType=application/x-myapp;
Предупреждение
Согласно Freedesktop.org Desktop Entry Specification,
поле MimeType должно содержать полные имена MIME-типов в формате type/subtype, где type может быть
application, text, video или image, а subtype — x-myapp, pdf, png или др. Использование неправильных типов может приводить к ошибкам связывания.
1. Для работы приложения с определёнными файлами (например, *.myapp) необходимо зарегистрировать MIME-тип в системе,
создав файл application-x-myapp.xml:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-myapp">
<comment>MyApp Data File</comment>
<glob pattern="*.myapp"/> <!-- glob-паттерн для файлов, например, config_*.cfg -->
</mime-type>
</mime-info>
Установить новый MIME-тип в системе (требуются права администратора):
sudo mv application-x-myapp.xml /usr/share/mime/packages/
sudo update-mime-database /usr/share/mime
Связать его с приложением:
xdg-mime default myapp.desktop application/x-myapp
Результат — описанные в mime файлы (заданные glob-паттерном, например, .myapp) открываются системой в заданном
приложении. Проверить работоспособность можно, открыв файл new.myapp командой xdg-open new.myapp.
Создание новой категории#
1. Создать папку MyApp с описателем категории .directory (обязательные поля - Type=Directory, Name, Categories)
следующего содержания:
Совет
Иконка (icon) должна быть задана предварительно, если используется нестандартная. В примере folder - стандартная иконка каталогов.
[Desktop Entry]
Name=MyApp Tools
Name[ru]=Средства MyApp
Icon=folder
Type=Directory
Categories=MyCategoryName
Скопировать каталог
MyApp, содержащий описатель.directory, в/usr/share/fly-wm/shared/flystartmenu(содержат описание стандартных категорий):
sudo mv MyApp /usr/share/fly-wm/shared/flystartmenu
Примечание
Новая категория появится в меню Пуск у всех пользователей.
3. Создать файл MyApp.desktop с новой категорией и добавить его в меню Пуск (если *.desktop с новой категорией был
создан до выполнения шагов 1-2, он находился в категории меню «Прочее», а после создания новой категории меню переместится в нее).
[Desktop Entry]
Name=MyApp
Name[ru]=MyApp
Exec=/opt/myapp/myapp
Icon=myapp
Terminal=false
Type=Application
Categories=MyCategoryName;
Примечание
В новой категории меню Пуск у всех пользователей появится ярлык приложения.
Результат — ярлыки приложений (*.desktop) с заданной категорией MyCategoryName отобразятся в меню «Пуск»
в новой категории меню.
Предупреждение
Изменение категории в файле *.desktop, уже находящегося в каталоге /usr/share/fly-wm/shared/flystartmenu/,
не приведет к перемещению ярлыка приложения в новую категорию меню (даже после ручного обновления оконного менеджера с помощью fly-wmfunc).
Обновление оконного менеджера#
При изменении файлов в /usr/share/fly-wm/shared/ системным администратором обновление происходит
автоматически. Ниже приведены команды fly-wmfunc, с помощью которых можно применить изменения вручную.
Обновление стартового меню (применение - после добавления новой категории):
fly-wmfunc FLYWM_CREATE_STARTMENU
Обновление значков на рабочем столе:
fly-wmfunc FLYWM_UPDATE_SHORTCUT
Обновление панели быстрого запуска:
fly-wmfunc FLYWM_UPDATE_TOOLBAR
Перезагрузка графической сессии пользователя без перезагрузки сессии или ОС:
fly-wmfunc FLYWM_RESTART
Предупреждение
Изменение в файлах каталога /usr/share/fly-wm может не привести к изменению даже после выполнения команд выше.
Рабочим вариантом является удаление изменяемого файла и последующим его созданием с изменениями.