Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB

SNAP Урок 03. Запускаем снап приложение из графического окружения

snap

Приветствую всех на продолжении темы, связанной с самодостаточными пакетами snap. В сегодняшней части мы разберем, как настроить приложение так, чтобы оно могло быть запущено не только в консоли, но так же и в графическом окружении (KDE, GNOME, XFCE и так далее).

Существует 2 варианта:

1 вариант

Для данной настройки понадобятся 2 файла, managetime.desktop и managetime.png. Данные файлы мы складываем в каталог snap/gui. То есть нужно только положить данные файлы в нужный каталог, и всё.

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

Рассмотрим, что из себя представляет файл managetime.desktop

[Desktop Entry]
Encoding=UTF-8
Categories=Application for time management
Comment=Applique for those who want to control their time
Exec=managetime
GenericName=Application for time management2
Icon=${SNAP}/meta/gui/managetime.png
Name=TimerProject_desktop
Type=Application
Terminal=false

Самое основное - это 5 и 7 строки. На 5 строке - это имя самого приложения

apps:
    managetime:

7 же строка указывает путь внутри снап пакета, где располагается иконка.
Так же в этом файле присутствует описание самого приложения, нужно ли открывать его в консоли или нет.

2 Вариант

Этот вариант работает уже через настройку в файле snapcraft.yaml Мы указываем среди остальных настроек приложения, где у нас находятся файлы.

name: managetime
version: "0.1.0"
summary: timer
description: |
    Application for time management
confinement: strict
grade: stable
architectures: [amd64]

base: core18

icon: snap/gui/managetime.png

apps:
    managetime:
        desktop: share/applications/managetime.desktop
        command: bin/projecttimer
        plugs: 
            - home

Как видите, мы дополнили 2 пункта:

  • первый - это иконка, где файл остается в том же месте.
  • А вот файл app.desktop перекочевал в другой каталог и мы уже через desktop: указываем его место положение.

Как это работает вы можете посмотреть на моем готовом приложении снап

Всем спасибо.
Продолжение следует)

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
A
22 января 2019 г. 21:22
Allyonz

C++ - Тест 001. Первая программа и типы данных

  • Результат:40баллов,
  • Очки рейтинга-8
A
22 января 2019 г. 14:15
Alex

Qt - Тест 001. Сигналы и слоты

  • Результат:89баллов,
  • Очки рейтинга6
IO
20 января 2019 г. 18:39
Ivan Otreshko

C++ - Тест 003. Условия и циклы

  • Результат:0баллов,
  • Очки рейтинга-10
Последние комментарии
22 января 2019 г. 13:17
Евгений Легоцкой

Создайте тогда тему здесь на форуме в разделе Qt с выкладками кода и вашими попытками внедрения делегата, позже гляну или может кто-то ещё глянет из опытных пользователей.
I
22 января 2019 г. 13:13
IscanderChe

Не проще тогда использовать сразу кастомный делегат с чекбоксом? Я попробовал, но там засада в том, что чекбокс показывается только при щелчке на ячейку, а дефолтно показывается значение. Как ...
22 января 2019 г. 12:15
Евгений Легоцкой

Если будет не приемлемо потом, то тогда через кастомный Item Delegate нужно будет перерисовать ячейки в той колонке.
I
22 января 2019 г. 12:09
IscanderChe

Получилось приемлемо. Спасибо!Нюанс только в том, что поле рядом с чекбоксом не пропадает, оно просто пустое, что видно при выделении ячейки. Но этого достаточно.
22 января 2019 г. 11:50
Евгений Легоцкой

Переопределить метод data для той колонки и роли Qt::DisplayRole, чтобы в том случае возвращался QVariant() я так думаю... Но возможно, что у вас там будут нюансы, если вы туда чекбокс за...
Сейчас обсуждают на форуме
23 января 2019 г. 7:54
Михаиллл

Зарание спасибо.А еще на эту тему можно будет сделать статью. Это контент будет уникальным.
23 января 2019 г. 7:37
Евгений Легоцкой

Hello. Maybe the English will be better for you? I think russian is not native language for you, or did I mistake? Did I undesrtood rightly, that you mean this documentation ( ...
I
22 января 2019 г. 13:45
IscanderChe

Всем добрый день. Суть задачи: надо, чтобы в одной из колонок QTableView вместо хранимого в QSqlTableModel значения выводился чекбокс и при смене состояния чекбокса значения в базе тоже ...
M
22 января 2019 г. 13:15
Max-P85

Евгений, огромное спасибо, все работает!
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы