Документация
ОС Аврора 5.1.1

Файл .desktop

.desktop-файл приложения должен обладать следующей структурой:

Type=Application
X-Nemo-Application-Type=silica-qt5
Icon={название_пакета}
Exec={команда_запуска}
Name={отображаемое_название_приложения_на_английском_языке}
Name[ru]={отображаемое_название_приложения_на_русском_языке}

[X-Application]
Permissions={список_разрешений}
OrganizationName={доменное_имя}
ApplicationName={название_приложения}
ExecDBus={команда_запуска_для_службы_D-Bus}
ExportDBusInterfaces={название_интерфейса_1};{название_интерфейса_2};...

Ключи и разделы:

X-Nemo-Application-Type

Строка X-Nemo-Application-Type=silica-qt5 указывает, что приложение использует модуль Silica. Это позволяет ускорить запуск графического интерфейса пользователя.

Icon

Ключ Icon должен содержать общее базовое имя файлов значка приложения. Согласно требованиям оно совпадает с названием пакета.

Exec

Ключ Exec должен содержать команду, которая выполняется при запуске приложения:

  • Exec=/usr/bin/{название_пакета}, если приложение содержит исполняемый бинарный файл;
  • Exec=sailfish-qml {название_пакета}, если приложение реализовано только на QML.

Name

Ключ Name определяет название приложения на экране приложений ОС Аврора. Его значение не обязательно должно совпадать с названием пакета или быть уникальным. Таким образом, на экране приложений ОС Аврора могут быть несколько значков с одинаковым названием.

Для локализации названия приложения используется конструкция Name[<двухбуквенный_код_языка>]. Например, Name[ru] позволяет задать название приложения для русскоязычного интерфейса.

Запуск нескольких экземпляров приложения

Для приложений рекомендуется использовать запуск только одного экземпляра, когда повторное касание значка приложения откроет окно запущенного ранее экземпляра. Если по какой-либо причине требуется отключить такое поведение, то в .desktop-файл следует добавить строку X‑Nemo‑Single‑Instance=no.

Если требуется не только запускать несколько экземпляров приложения, но и управлять количеством обложек, то следует обратиться к параметру X-Aurora-Single-Cover. X-Aurora-Single-Cover=no разрешает несколько обложек, X-Aurora-Single-Cover=yes ограничивает количество обложек одной.

Настраивать X-Aurora-Single-Cover имеет смысл только когда задано значение X‑Nemo‑Single‑Instance=no.

Изоляция приложений

Начиная с ОС Аврора версии 4.0.1 каждое приложение запускается в изолированном окружении, которое ограничивает доступ к API и данным. Раздел [X-Application] позволяет настроить параметры изоляции приложения. Он обязательно должен быть описан.

Ключ Permissions определяет список необходимых приложению разрешений в виде набора строк, разделённых знаком ;. Например, Permissions=Audio;Location.

Разрешения для использования API и доступа к директориям пользователя в приложениях приведены в списке. Разрешения для использования API также приводятся в описаниях библиотек в разделе Допустимые зависимости приложений ОС Аврора и в статьях справочной документации по API. Разрешения для доступа к директориям пользователя описаны в разделе Данные пользователя.

Ключи OrganizationName и ApplicationName используются для предоставления доступа к директориям, соответствующим приложению, и должны содержать {доменное_имя} и {название_приложения} соответственно.

Ключ ExecDBus используется для создания service-файла systemd, регистрирующего D-Bus службу для приложения. {команда_запуска_для_службы_D-Bus}, описываемая этим ключом, должна содержать полный путь до основного или дополнительного исполняемого файла приложения, а также может включать параметры запуска.

На основе значений ключей .desktop-файла при установке RPM-пакета будет сгенерирован файл {доменное_имя}.{название_приложения}.service.

Таким образом, при обращении к службе D-Bus {доменное_имя}.{название_приложения}, если она не зарегистрирована в системе, будет выполняться команда

/usr/bin/invoker --type=silica-qt5 --id={доменное_имя}.{название_приложения} --single-instance {команда_запуска_для_службы_D-Bus}

В результате её выполнения будет запущен основной или дополнительный исполняемый файл приложения, который может обработать аргументы командной строки и должен зарегистрировать службу D-Bus {доменное_имя}.{название_приложения}.

Экспортировать собственную D-Bus-службу можно с помощью ключа ExportDBusInterfaces.

ExportDBusInterfaces={название_интерфейса_1};{название_интерфейса_2};...

Список разрешений

Разрешения используются для использования API и для доступа к директориям пользователя

Разрешение Описание Профиль
AccessSecurityLog Чтение, запись и прослушивание событий безопасности MDM
Audio Воспроизведение и запись аудио, отображение элементов управления аудио на Экране блокировки Все
AuthService Обмен аутентификационными данными пользователя со службой аутентификации Все
Bluetooth Подключение и использование Bluetooth-устройств Все
Call Работа в качестве сервиса голосовых вызовов, использование интерфейса приложения Телефон для создания и управления голосовыми вызовами Все
Camera Съёмка фотографий и видео Все
DeviceInfo Извлечение данных об этом устройстве Все
Documents Использование сохранённых файлов документов Все
Downloads Использование загруженных файлов Все
Internet Использование подключения к Интернету Все
Location Использование геолокации с высокой и низкой точностью Все
LogSecurityEvents Регистрация событий в журнале безопасности Antivirus, MDM, Extended
ManagedConfiguration Использование унифицированной настройки Все
ManagedConfigurationAdmin Работа с приложениями, поддерживающими унифицированную настройку MDM
Market Разрешение на установку и удаление приложений магазина Market
MediaIndexing Список файлов, хранящихся на устройстве Все
Microphone Запись звука с помощью микрофона Все
Music Использование сохранённых музыкальных файлов Все
NFC Подключение и использование устройств с NFC Все
Pictures Использование сохранённых файлов изображений Все
Printing Обнаружение и использование доступных принтеров Все
PublicDir Доступ к общей папке Все
PushNotifications Получение push-уведомлений Все
RemovableMedia Использование карты памяти и USB-накопителей Все
ScreenCapture Получение содержимого экрана Все
SecureStorage Secure Storage для зашифрованных паролем файлов приложений Все
Sensors Доступ к показаниям датчиков устройства Все
UserdataWiper Удаление пользовательских данных Все
UserDirs Общий доступ к пользовательским каталогам Все
Videos Использование сохранённых видеофайлов Все
VPN Управление VPN-соединениями MDM, Extended
WebView Просмотр веб-содержимого Все

Секция X-Aurora-SplashScreen

Для всех запускаемых приложений имеется упрощённый экран заставки, который раскрывается при нажатии на иконку приложения.

Автоматически выбранные цвета возможно переопределить полями GradientStartColor и GradientEndColor в секции X-Aurora-SplashScreen.

  1. GradientStartColor — начало градиента, слева-сверху.
  2. GradientEndColor — конец градиента, справа-снизу.

Пример:

[X-Aurora-SplashScreen]
GradientStartColor=#AAA000
GradientEndColor=#FEDCBA

Секция X-Aurora-Application

Ориентация приложения

Когда приложение работает в какой-либо исключительной ориентации (только в альбомной или только в портретной), можно заранее подготовить Домашний экран пользователя, "повернув" его в правильную ориентацию до запуска непосредственно самого приложения.

Такое поведение определяется группой полей в секции X-Aurora-Application:

  • SmallScreenOrientation — для устройств с категорией Silica.Screen.sizeCategory == Silica.Screen.Small.
  • MediumScreenOrientation — для устройств с категорией Silica.Screen.sizeCategory == Silica.Screen.Medium.
  • LargeScreenOrientation — для устройств с категорией Silica.Screen.sizeCategory == Silica.Screen.Large.
  • ExtraLargeScreenOrientation — для устройств с категорией Silica.Screen.sizeCategory == Silica.Screen.ExtraLarge.
  • Orientation — для устройств любой категории, но может быть переопределено другим полем из списка выше.

Значения, принимаемые в данных полях: Portrait, Landscape, PortraitInverted, LandscapeInverted, PortraitMask, LandscapeMask, All.

Каждое поле может принимать либо одну конкретную ориентацию из предложенного списка, либо список возможных значений, задаваемый через символ ; (точка с запятой).

Пример для приложения, которое может работать во всех ориентациях, но на устройствах с маленьким дисплеем — только в портрете:

[X-Aurora-Application]
Orientation=All
SmallScreenOrientation=Portrait

Пример для приложения, которое может работать только в неинвертированных ориентациях:

[X-Aurora-Application]
Orientation=Portrait;Landscape

Иконка приложения

По умолчанию иконки отрисовываются на белом фоне с размером 80% от оригинального.

Переопределить такое поведение можно полем IconMode в секции X-Aurora-Application, которое может принимать одно из двух значений:

  • Scale — по умолчанию, иконка масштабируется.
  • Crop — иконка отрисовывается без масшабирования, а края подрезаются системной формой.

Пример:

[X-Aurora-Application]
IconMode=Crop

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.