how to use in dev #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
application_utility/application_utility.py
cd application_utility; ./application_utility.py
in
PYTHONPATH, i have add/home/patrick/workspace/python/application-utility/application_utilitybut nothing ...to launch it, I had to temporarily change all imports! 😢
application_utility.py:
and files in browser
for Hello,
for dev, how to use local git module
application_utilityand NOT/usr/lib/python3.7/site-packages/application_utility/?changed the description
changed the description
my workaround found : just move up the script ...
for hello, not symlink but modify lauch.sh
clone or pull the latest changes
Run standalone with
manjaro-application-utility --dev@papajoke
I have noted you are working on some kind of filter.
I can't really see the use? Is it an experiment? How is it intended to work?
I know that applications from the appstream can have a mark indicating it is/could be a part of a desktop environment.
But the filter test is confusing as I cannot see why, what and where the filters is added. Is it populated when checking the appstream in the data modules json function?
For example with Browsers group Firefox is omitted from the list due to appstream(?) seeing it as only for xfce desktop?
It makes no sense to me that Firefox cannot be installed unless the desktop is xfce. If Lxde or Lxqt or Openbox - Firefox is not shown even installed.
no all my filters as "firefox" are here only for local test ! filter firefox is false as the others !
for me : the filter only "destop" is more for one app who have a destop as dependence (install gnome,kde...), the filter not (!gnome) is certainly more useful
I'm not sure that with these filters we can create only one file for all iso?
https://gitlab.manjaro.org/profiles-applications/os.environ.get("XDG_SESSION_DESKTOP", "default")/apps-store.jsonself._MERGE_FILEafter download : maybe a general file (open-office, browsers,...) and another dedicated to the desktop ...If I understand you correct, the idea is that every edition gets a file with the maintainers suggested applications which is offered as a download as well as an extended general purpose application list.
The desktop dependency - you mean like evince which pulls gnome-desktop? That makes sense but is hard to maintain.
I do think the extension of Manjaro Hello is brilliant but why overly complicate it - the original intention was to supply a simple general list with a possible extended version for the user to choose from.
The more advanced/experienced use cases can use Pamac.
First I am going to simplify the the groups to be the grouping found in most editions as it seems the best approach
Then I am going to modify the application entries to look like this
The "extra" list is thought as the inclusion of a package's optional dependencies like for example when
inxiwhich makes use of other apps to pull information about the system.The "mode" is thought as filter where the package is only shown in extended mode as in "" or "extended" where "" is default. This is to consolidate into one file.
Think about it - Network - is not that intuitive for a Browser application or Email application - which is why I created the existing group schema.
In my idea and @ste74 ?, with hello its for minimal iso : extra packages are not the same with gnome minimal or kde minimal - for standalone app, ok just a general list ?
That's why I proposed 2 files (general+iso) to merge for hello while standalone-app you can only load one
for me, it is easier to write now in the code the possibility even if initially only one file is used than to change the code in 3..6 months
How do we approach the files for KDE and Gnome?
Your idea is to download the profile and parse for >basic and >extra tags. It is impossible to know what the tag contain unless there is some comparison and then the idea of parsing the files is lost as it would be easier to use the comparison table instead.
As applications only rarely changes it would be a one-time job to create the list of apps.
That could be done by the maintainer - extract from the Packages-Desktop file what is applications - write it in yaml format - I have not used yaml before so I don't know much about the structure but I think it's something like this http://yaml.org/refcard.html. I used https://www.json2yaml.com/ to convert the JSON to YAML
I can convert the app to read and write yaml instead of json.
yam or json it doesn't actually change anything: you have to create the file
For iso maintainers we could create a script to extract the >extra and pre-fill the json file (get desc,icon by pamac-cli), the only problem is to place them in the right group (a gui drag&drop?) and "mode"
This file is optional, if the maintainer does not offer it, then hello only offers the general .json file not merged
The file actually only needs to contain the pkgname - but I have seen the icons being non existent when using the icon from appstream - so it is not ideal to fetch the icon that way.
In terms of manual creation YAML is far superior to JSON 😄
Still extracting those tags does not indicate if it is actually an app or it is something else like icon themes or fonts or some settings package. The file generated should contain both >basic and >extra as the app offers to both install and remove apps.
I would prefer a manual creation of the profile specific application file to avoid issues mentioned above.
another (best ?) approach would be:
automatically generate a json file with only the packages that have tag "group"
Tagging in that manner could be done but then apps which is part of a profile which has no tags would not be included
Maybe something like this and then extract lines with #group, split at space and extract the key:value pairs
That would give
The name and description can be fetched from appstream - if available.
we have a general .json with (chromium...office), application-utility tomorrow merge iso.json in general.json ; if package present in général it is not added
for description find only in pacman. For this moment application-utility after load json file rewrite short desc if present in appstream (for translation)
in general:
in iso.json #group:email
it is up to us to create the merge function (already exists but empty)
load iso.json and add packages if not exists in the right group of memory general.json and save in
self._MERGE_FILEi have make a test https://gitlab.manjaro.org/fhdk/application-utility/blob/dev/share/iso-apps-json
this script return a good json as
run well if comments exists (as in kde-profile):
@papajoke i like it.. good if we can adding the extra tag in this way plus the normal applications already listed 😄
Great - I have rebuild manjaro-hello to version 0.6 which adds the Applications button if the application-utility is installed too.
Where are we with this approach.
I think it will be the most gentle way for a maintainer - adding tags - which is parsed by the app-util
@fhdk @papajoke
So is possible use this new format if m-a-u is installed and not build the iso in full mode?
@ste74
I don't understand.
We are not sure which way to take - we are thinking of
My personal opinion is the json file approach.
Why?
Because the app is not a substitute for a given editions configuration.
It is intended to provide the user a simple approach to install some common popular apps.
If the maintainer has not added any tags to the Packages-Desktop file the parsing is a waste.
Checking if a given file e.g.
packages.jsonis available for download is much more efficient. If the file is not available then do nothing.@ste74
I have been thinking on what you meant.
I think I got it now.
Let's take Gnome as example. If you create a data file with your recommendation for apps to install then you could release a minimal ISO and let the user decide which apps to install.
At least that is my original idea for the app.
@papajoke
A list of recommended apps are not likely to change. This will work good for a separate file - I think we could just have a list of packages as the rest of the info can be extracted with pamac.
Yep, is what i mean 👍
closed