calo001/fondo

Flatpak support

Closed this issue · 20 comments

I have seen that you have tried to package the application as Flatpak see
https://github.com/calo001/fondo/blob/master/com.github.calo001.fondo.json

Would you like some help to package it as a Flatpak and push it to Flathub? Of course, you will get access to the Github repository on Flathub and I will make sure I help as much as I can with maintaining the application and making sure it looks the same way it does on elementaryOS.

Thanks!

I used an app called Archetype from KJ Lawrence to build the project structure and it already included that json file, I have not tried to package it in Flatpak yet.
But I would like a lot to have it available in Flathub ❤️ I just do not know how to do and any help and support you can offer me I really appreciate it.
It will be amazing 😄 thank you very much.

Currently, every elementary application on Flathub is using a baseApp which is some common libraries like Vala, libgee, granite and the default Gtk & icon themes included within it.
There's for now only the Loki version of the baseApp. I'm currently working on adding a Juno baseApp but still waiting for a table release of the Gtk & Icons themes.
Does the application look/works pretty well with other Gtk themes or it must use the elementary theme?

Does the application look/works pretty well with other Gtk themes or it must use the elementary theme?

I really did not try other themes, but for the styles I use, I think it can look good with other themes without major problems.

What https://github.com/calo001/fondo/blob/master/meson.build#L43 this dependency is used for??

I use libunity to show the progress bar in dock when downloading a photo.

@calo001 Can you make it an optional dependency? easyssh (an elementary app) has done the same thing! packaging libunity is a pain...

Of course I'll try to check how it should be configured in meson, and I hope it's not too much trouble if you can explain or show me an example of, in case of restricting libunity, how should I handle the use of the LauncherEntry class that I use to show progress?

First you will need to add a meson_options.txt file with https://github.com/muriloventuroso/easyssh/blob/master/meson_options.txt#L1
In the meson.build file, don't require unity only if the option is enabled during the build config (which is the case by default)
https://github.com/muriloventuroso/easyssh/blob/master/meson.build#L46-L50
When you will have to use the LauncherEntry, you will need to add this condition
https://github.com/muriloventuroso/easyssh/blob/ecc439fa3f5ca14e7a64e5a111d5529a4c276ff8/src/Widgets/TerminalBox.vala#L96
and voila! libunity will be an optional dependency.

I tried but at the moment of running the app, the progress no longer appears, I made the respective changes in a new branch, could you check it?

  • Meson options
    option ('libunity', type : 'boolean', value : true)
  • Meson

    fondo/meson.build

    Lines 45 to 49 in c1a8a21

    if get_option('libunity')
    unity_dep = dependency('unity')
    add_project_arguments('--define=UNITY_SUPPORT=1', language : 'vala')
    dependencies += unity_dep
    endif
  • Wallpaper class
    public void toogle_progress (bool show) {
    #if UNITY_SUPPORT
    var launcher = LauncherEntry.get_for_desktop_id (Constants.ID + ".desktop");
    launcher.progress_visible = show;
    #endif
    }

    private void show_progress (double progress) {
    bar.set_fraction (progress);
    #if UNITY_SUPPORT
    var launcher = LauncherEntry.get_for_desktop_id (Constants.ID + ".desktop");
    launcher.progress = progress;
    #endif
    }

That should work without any issues...

Could you use the "flatpak" branch to publish it on flathub?
I can not find the reason why it does not show the progress. 🤔

@calo001 I'm still working on a Juno BaseApp. Once it's ready I'm going to push your app as a Flatpak too and provide the correct fixes here in the flatpak branch.

Ok thank you very much if I can do something to help you tell me.

@bilelmoussaoui Done with flatpak manifest?

@bilelmoussaoui I am done with making the manifest for fondo. Can I put it into flathub?

Yeah of course! Send a MR and I will review it there. Sorry for the delay, kinda busy

@memnoth @bilelmoussaoui Thank you guys, I really appreciate the help 😄

App has been added to flathub and invitiations to maintain should have been sent. Thanks!

Thank you, @nedrichards !

@nedrichards @bilelmoussaoui @memnoth Thank you everyone!! 😄