BlinCTDec. 17, 2018, 1:33 a.m.

SNAP Tutorial 03. Start snap application from a graphic environment

Content

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)

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it
Donate

Good day, Dear Users!!!

I am Evgenii Legotckoi, developer of EVILEG. And it is my hobby project, which helps to learn programming another programmers and developers

If the site helped you, and you want also support the development of the site, than you can donate by following ways

PayPalYandex.Money
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
KA

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

  • Result:78points,
  • Rating points2
R

C++ - Test 002. Constants

  • Result:75points,
  • Rating points2
R

C++ - Test 001. The first program and data types

  • Result:73points,
  • Rating points1
Last comments
V

Django - Tutorial 027. Implementation Google reCAPTCHA

Спасибо. Только использую декоратор не в urls.py а перед views
R

Qt WinAPI - Lesson 001. How to collect all DLL, which used in Qt project?

Вы меня не совсем правильно поняли, но все равно спасибо, принял все к сведению. Все сделал как вы сказали, все отлично работает, еще раз огромнейшее спасибо) Разве что только что были опять про…

Qt WinAPI - Lesson 001. How to collect all DLL, which used in Qt project?

Стоило перед использованием что ли инструкцию прочитать https://www.cyberforum.ru/blogs/131347/blog2457.html "После сборки при запуске требовались dll," Ясное дело стоило задепло…
R
R

Qt WinAPI - Lesson 001. How to collect all DLL, which used in Qt project?

Да, собралось. После сборки при запуске требовались dll, перекинул всю папки bin, plugins(не знаю как можно было сделать более умно). Как я понял в первой строке путь к екзешнику вставляю, втор…
Now discuss on the forum

Как в Qt сохранить файл в папку загрузок в Android

Вызывайте эту функцию или в самом начале, или когда нужно сохранять файлы. Она дает права доступа для записи.

QML+QtGraphicalEffects

да, сборку делал без параметра поиска qml, хотя dll QtGraphicalEffects он подтягивает, когда я добавил всю папку QtGraphicalEffects в проект - то заработало, похоже что именно qml-файлов ему не …

Не работают слоты/сигналы

и посмотрите работу с потоками в Qt, там подробно описано как передавать данные с одного в потока в другой при помощи сигналов и слотов

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …

Qt C++ и Python

Красиво/некрасиво - это скорее моё личное отношение. Если есть возможность ограничить количество интсрументов, то лучше ограничить. Но не зацикливайтесь на этом. Если у вас есть скрипты Py…
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB