Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB

SNAP Tutorial 03. Start snap application from a graphic environment

snap

Greetings to all on the continuation of the topic of self-contained snap packages. In today's part, we will discuss how to configure the application so that it can be launched not only in the console, but also in the graphical environment (KDE, GNOME, XFCE, and so on).

There are 2 options:

Option 1

This setup will require 2 files, managetime.desktop and managetime.png. We add these files to the snap / gui directory. That is, you just need to put these files in the correct directory, that's all.

The previous article showed the tree structure of directories and files based on my application.

Consider what is the managetime.desktop file.

[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

The most basic is 5 and 7 lines. Line 5 is the name of the application itself.

apps:
    managetime:

7 the same line indicates the path inside the snap package where the icon is located.
Also in this file there is a description of the application itself, whether to open it in the console or not.

Option 2

This option already works through the setting in the file snapcraft.yaml We indicate among the other settings of the application, where we have the files.

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

As you can see, we have added 2 points:

  • the first is the icon where the file remains in the same place.
  • But the app.desktop file has migrated to another directory and we have already through the desktop: we specify its location.

How it works you can look at my finished application. snap

Thanks to all.
To be continued)

Comments

Only authorized users can post comments.
Please, Log in or Sign up
IO
Jan. 20, 2019, 6:39 p.m.
Ivan Otreshko

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

  • Result:0points,
  • Rating points-10
IO
Jan. 20, 2019, 3:27 p.m.
Ivan Otreshko

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

  • Result:0points,
  • Rating points-10
v
Jan. 17, 2019, 11:51 a.m.
vitalir12

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:20points,
  • Rating points-10
Last comments
I
Jan. 16, 2019, 8:06 a.m.
IscanderChe

Заработало. Забыл model->select(); вписать.
I
Jan. 16, 2019, 8:02 a.m.
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
Jan. 16, 2019, 7:51 a.m.
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
Jan. 16, 2019, 7:43 a.m.
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Now discuss on the forum
Jan. 21, 2019, 9:32 p.m.
Евгений Легоцкой

Добрый день. Потому, что C# и Java библиотеки внутри имеют байт-код, а не компилированные исходники в машинном коде, как в C++. Для их использования нужен JIT-компилятор, который на лету...
Jan. 21, 2019, 9:16 p.m.
Евгений Легоцкой

День добрый. Я у себя это дело запустил. Но у меня оба варианта заработало. Но у меня версия Qt была 5.11.2. Из-за этого версия Qt Quick 2.12,которую вы использовали, не нашлась. Я...
Jan. 21, 2019, 4:24 p.m.
Михаиллл

Нашел ссылку на древние типы данных , а тут нынешние их аналоги.Но все равно каое что непоня:что такое : LPCTSTR, CALLBACK (наверно QDialig),IDOK, EDITSTREAM, TCHARКод...
Jan. 21, 2019, 2:30 p.m.
Евгений Легоцкой

Порядок создания тем - пункт 4
Jan. 21, 2019, 7:36 a.m.
Евгений Легоцкой

Добрый день! Из ваего вопроса понятна первая часть. На сайте есть статья по динамическому созданию виджетов, посмотрите её для начала - Динамическое создание виджетов . ...
Join us in social networks

For registered users on the site there is a minimum amount of advertising