Prevent apk from pulling in pipewire-pulse instead of pulseaudio, as
this leads to various audio issues with Phosh in postmarketOS (volume
buttons not working, no sound in various applications).
Pipewire will be a great replacement for pulseaudio, but let's rather
enable it intentionally for Phosh once we fixed everything that's
currently breaking with it. Without this patch it may get installed when
installing or upgrading other packages (not entirely sure how it gets
triggered yet, but I have seen it myself multiple times and we've gotten
reports about it).
[ci:skip-build] already built successfully in CI
Display the app icon properly, instead of the "unknown" icon, in the
activity view. Phosh attempts to open a .desktop file with the name of
the gtk app-id, but the app-id is "firefox" and the file is named
org.mozilla.firefox.desktop (see related commit, where it was renamed
for a good reason). The way Phosh is doing the name lookup doesn't
always work for other apps too, phosh_get_desktop_app_info_for_app_id()
has workarounds e.g. for gnome-control-center hardcoded. As workaround,
add a .desktop file that makes the icon show up properly, but is not
displayed anywhere else (NoDisplay=true).
Replace epiphany with FF in the default favorite applications in phosh
(top 4 displayed at the top). We already install FF instead of epiphany
and so the 4th place is currently empty.
Related: 2d291a4afc
Let every postmarketos-ui-* package have a link on top that points to
the new UI package reference. Do not put the link in <>, as it was done
with other references, since there's no benefit to it. It doesn't look
better and it doesn't make it easier to click the link or something, I
just did this initially because I saw it in GPL license headers.
[ci:skip-vercheck] [ci:ignore-count]
Let postmarketos-ui-phosh depend on modemmanager and
modemmanager-openrc, so we ensure both get installed before the
post-install script runs. The post-install script will not be able to
enable the modemmanager openrc service otherwise.
Related: issue 1297
This provides a mobile-friendly music player in the default
installation which is something that's currently lacking.
[ci:skip-vercheck]: _pmb_recommends change doesn't need pkgrel bump
Adds pmb:gpu-accel option to Phosh, Plasma Mobile/Bigscreen, Sway,
Glacier and Kodi APKBUILDs to hide the UIs at `pmbootstrap init`
for devices without GPU acceleration support.
Related: pmbootstrap!2043
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck]
Phosh 0.12.0 introduces filtering when the device is of a mobile type
and the app is not explicitly 'adaptive'. This means a lot of apps that
might otherwise work ok-ish are gone from the list.
This change disables the filtering for now.
This causes issues with some programs, chiefly that gsd-xsetttings
does not start properly. GDK_BACKEND=wayland is only really
necessary to make Firefox run in Wayland mode anyway - other GTK 3/4
apps use it automatically. Firefox will be set to use Wayland via a
following commit.
UIs that depend on networkmanager also have an added dependency on
dnsmasq since this was removed from postmarketos-base
[ci:ignore-count] lots of packages, but no code compilation..
This package sets GDK_BACKEND=wayland (in gtk-app-wayland.sh), and some
apps (firefox) still need that set to work. gsd-xsettings, which is
launched explicitly by Phosh 0.11.0+, does not work when this var is set
to wayland.
Make it easy for users to disable animations, switch to dark mode (by
changing the GTK theme), change suspend time and other tweaks.
[ci:skip-vercheck]: _pmb_recommends change doesn't need rebuild
[ci:skip-build]: already built successfully in CI
Add the dependency to properly support file transfer between sandboxed
applications. Currently they can be used with flatpak (e.g. for quickly
testing out applications, not a recommended way to applications) and long
term we could use this in combination with apparmor for natively packaged
applications.
Notably the KDE version is already getting pulled in by when installing
postmarketos-ui-plasma-*.
Let all packages depending on tinydm depend on tinydm-openrc too. This
is needed to make sure that tinydm-openrc is installed, before the
tinydm service is enabled in the UI's post-install scripts.
This was not an issue because tinydm currently depends on tinydm-openrc.
But that's a hack and will be removed when upstreaming tinydm to alpine.
[ci:skip-build]: already built successfully in CI
Squeekboard >= 0.10.0 looks for an a11y setting to determine if it
should show up on the screen. This sets the config setting to 'true' so
that it shows up by default. It can apparently be toggled off in Gnome
Settings, but I haven't found the UI switch to do that yet..
This adds emoji support to the squeekboard emoji picker, and to any apps
that might want to display emojis (chatty, firefox, text editor, etc)
Thanks @vurpo for the tip.
We have tried out lightdm-mobile-greeter for three weeks, but let's remove
it again from the default install.
The greeter behaves completely different from the Phosh (or any other
UI's) lockscreen, therefore it provides a bad user experience. Not only
the design is different, but it also can't display the same information
as the Phosh lockscreen. You can't accept a call coming in while the
greeter is displayed, and whatever other features will be added to the
lockscreen in the future would not be in the greeter (e.g. making a photo
without logging in, emergency calls without login, ...).
It's clear to me now, that postmarketOS in the default installation
should install one UI in single-user mode, and that UI should use its
lockscreen to display all login screens. The case of having multiple UIs
installed at the same time is used rarely, so instead of optimizing for
it, document how to enable a greeter after the installation in the wiki:
https://wiki.postmarketos.org/wiki/Configure_postmarketOS_for_multiple_UIs_or_users
Besides the strong reasons above to ship with no greeter at all, we had
problems with lightdm-mobile-greeter in particular:
* It did not work with Plasma Mobile
* When HDMI was plugged in, the greeter was not usable (especially
annoying, because Phosh tends to crash after plugging in HDMI, so it
would go back to the greeter which then means you need to reboot)
This reverts commit be693339ec.
eog is a nice image viewer that works pretty well on a
touchscreen/mobile display.
Nemo is a file manager from the Cinnamon desktop project, which forked
from Nautilus some time ago. It is much more usable than Nautilus on a
touchscreen/mobile display.
Set eog as default app in mimeapps.list, so it even works when hiding
the launcher with postmarketos-hidden-desktop-entries (we'll hide it,
because it doesn't work when opened directly; no image is shown and
opening a file does not work either). The list of associated mimetypes
is taken from here:
https://gitlab.gnome.org/GNOME/eog/-/blob/master/data/org.gnome.eog.desktop.in.in
With the new mobile-config-firefox, the window width is small enough
that the window does not need to be scaled. This looks better overall,
and avoids scaling glitches.
Add mimeapps.list, so links clicked in postmarketos-welcome and other
applications properly open in firefox. Without this patch, they just
don't open at all.
Bump the pkgver instead of the pkgrel, so the APKBUILD is in sync again
on both master and v20.05 (right now, the pkgrel on v20.05 is ahead by
one, otherwise the file is the same).
Related: https://help.gnome.org/admin/system-admin-guide/stable/mime-types-application.html.en
Disable the first run screen in GNOME software, which invites the user
to browse and install apps. We do not want people to use GNOME software to
do that when they open it for the first time in postmarketOS after
installing, we want them to do updates. So this dialog is misleading for
our users, and will lead to a bad experience for those who follow what
it suggests.
I think there's more wrong with that dialog (in context of postmarketOS),
more detailed reasoning and screenshot in:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/1449#note_385456592
Replace firefox with firefox-esr, remove epiphany. With the current
version of epiphany, the postmarketOS wiki doesn't even load every time,
so that's not something we want to ship.