Packaging Qt6 (6.7.2) for Sailfish OS

Web apps don’t really appear to work at all for me for some reason, the launcher entries that it created worked exactly once. Am I doing something wrong?

Edit: it appears that web apps just disappear when I switch to a different application and leave behind residual processes. I guess I won’t use that functionality then.

I create webapp with sailfish-browser and then, I modify .desktop file in ~/.local/share/applications. For example, if I’ve created a webapp for X, I have to edit sailfish-browser-X-0.desktop in ~/.local/share/applications:

[Desktop Entry]
Type=Application
Exec=qt-runner angelfish-webapp sailfish-browser-X-0.desktop
Name=X
Icon=https://abs.twimg.com/responsive-web/client-web/icon-ios.77d25eba.png
URL=https://x.com/
X-Nemo-Single-Instance=no
Comment=X

Maybe it’s not perfect, because webapp doesn’t have address bar, for example, but for me it is an alternative if there isn’t an app for sailfishos, I prefer to use a webapp instead an android app.

9 Likes

Creating with angelfish works too (“add to startpage” or something like that. only google maps page did not work), but you also have to modify somewhat (icon is broken/same as Name=), also maybe Name=. Maybe easiest is just creating the .desktop file manually in ~/.local/share/applications (this way gmaps did work)

(webapp site stuff gets stored in ~/.local/share/name-angelfish-webapp and .config/name-angelfish-webapp if somebody want to remove the app completly)

You can edit icon path in .desktop file. I use my own icon or download the .png, and edit icon path.

2 Likes

Thanks, I already tried that and changed to “icon-launcher-browser” for the generic browser icon (to lazy to search for a proper icon)

1 Like

I noticed today that opening jolla store application removes the zypper repository entries, if you want to add the angelfish repos permanently without store removing them, use ssu:

devel-su ssu ar "piggz-qt6-apps" "https://repo.sailfishos.org/obs/home:/piggz:/qt6apps/sailfish_latest_aarch64/"
devel-su ssu ar "piggz-qt6sb2" "https://repo.sailfishos.org/obs/home:/piggz:/qt6sb2/sailfish_latest_aarch64/"
8 Likes

Are any of these webapps shared in some store to be used by the rest of us? For what have you created webapps?

webapp just means adding a website with the add to desktop option, this then adds a entry like this to your .local/share/application folder (webapp is stored in .local/share)

[defaultuser@Fairphone4 ~> ls .local/share/*webapp
.local/share/google-earth-angelfish-webapp:
QtWebEngine       angelfish.sqlite

.local/share/google-maps-angelfish-webapp:
QtWebEngine       angelfish.sqlite

.local/share/tv-programm-angelfish-webapp:
QtWebEngine       angelfish.sqlite

.local/share/twitch-angelfish-webapp:
QtWebEngine       angelfish.sqlite
[defaultuser@Fairphone4 ~> ls .local/share/applications/
ffplay.desktop          google-earth.desktop    google-maps.desktop     tv-programm-de.desktop  twitch-tv.desktop

you can specify custom qt variables like this: e.g.

Exec=qt-runner env QT_QUICK_CONTROLS_MOBILE=0 QT_WAYLAND_FORCE_DPI=267 angelfish-webapp google-earth.desktop
1 Like

No, they aren’t. I only created my webapps with jolla’s browser and edited .desktop file for using with angelfish.

I’ve created, for example, a webapp for X, as I’ve explained above . Cookies for X are stored in ~/.local/share/x-angelfish-webapp, a different folder from angelfish. And I don’t need to login every time I use X, so it works as an app and I don’t need android app.

I use web apps for banks too. Of course, in this case I have to login every time I want to access to my bank, but I don’t need android apk and it works like a charm, in my experience at least.

6 Likes

I did install angelfish like described above on my C2. It seems to work but is, as described, a bit too big. The highest DPI value I can set in Qt Runner is 269.

Any fix for this?

Could I add QT_WAYLAND_FORCE_DPI=300 to angelfish’s .desktop file?

EDIT: I needed a smaller value, not a higher one. 200 is ok. So everything good for me

I have updated my app to Qt6, which was unexpectedly trivial.

(Getting it running on Android was a whole other matter though.)