Commit Graph

68 Commits

Author SHA1 Message Date
Julian Winkler
4ec150c802 separate Intent serialization and action handling out of the NotificationManager
This way, the mechanism can in the future also be used to send Intents
from one app to another.
2025-07-08 23:07:42 +02:00
Julian Winkler
3708cc990e NotificationManager: use GIO instead of libportal
GIO's notification implementation makes the code more readable and has
the advantage of supporting multiple notification specifications.

By default we will now use freedesktop notifications when running
without `.desktop` file and XDG-portal notifications when running
with `.desktop` file.

To prevent dynamic notification updates from arriving in wrong order at
the desktop environment, we need to manually queue them up and make sure
that there is at least 200ms delay between updates.
2025-07-07 22:38:10 +02:00
Mis012
2a0c6cd455 main-executable: handle drawable-based app icons by rendering them into SVG 2025-06-21 01:23:09 +02:00
Mis012
272c554262 register path overrides with libc_bio, install fonts.xml 2025-04-11 22:22:54 +02:00
Julian Winkler
d6f50e160c handle trailing colons when parsing gtk-decoration-layout
postmarketOS Phosh has the default gtk-decoration-layout set to "menu:".
We don't want window decorations there by default.
2024-12-30 09:47:14 +01:00
Mis012
df5390db5e main-executable: don't crash on NULL app_icon_path 2024-12-20 00:02:18 +01:00
Mis012
d5bc4ea9a6 implement instrumentation 2024-11-30 18:57:03 +01:00
Daniel Panero
be93b4c396 JavaWidget: add css classes and default_stylesheet.css 2024-11-26 16:33:38 +01:00
Daniel Panero
5f6943fd81 Add backbutton 2024-11-17 23:37:10 +00:00
Julian Winkler
8734a7ef2b Set Configuration.screenLayout depending on monitor geometry
With this configuration, NewPipe enables tablet mode on larger screens.
2024-10-31 20:34:26 +01:00
Julian Winkler
0bec10bb26 disable decoration on mobile compositors by default
On mobile compositors like Phosh, the title bar will have no
buttons and is useless. Therefore it can be disabled by default.

This behaviour can still be overwritten using the
ATL_DISABLE_WINDOW_DECORATIONS environment variable.
2024-10-31 16:49:26 +01:00
Julian Winkler
6162868bd1 main-executable: handle empty string being passed to --uri
The XDG-portal escapes the strings when installing a .desktop file. This
causes --uri %u to be replaced with --uri '%u', which causes an empty
string to be passed when no URI is specified.
2024-10-31 12:57:20 +01:00
Julian Winkler
a8ef5a533a implement passing a URI to open inside the application
Supported URI schemes will also be added to the .desktop file for --install

The URI is passed as named parameter --uri. This allows us to use unnamed parameters
for split APK apps in the future
2024-10-07 11:54:23 +02:00
Mis012
6560512b47 improve --help output and code style in main.c, use ARRAY_SIZE consistently 2024-09-15 00:42:55 +02:00
Mis012
4cb9cea3ba native_window: remove UGLY_HACK_FOR_VR, it's not needed because we now emulate pbuffers on wayland; also, using Gtk's X11 backend is always an option 2024-09-13 20:36:44 +02:00
Mis012
e761bb6a6d api-impl: implement WebView using webkitgtk 2024-09-13 20:29:56 +02:00
Mis012
92e2c06347 make sure the apk path is reliably set in the PackageInfo 2024-06-19 22:35:50 +02:00
Mis012
6832f5d16e main-executable: use C.UTF_8 locale, not en_US 2024-06-19 20:50:35 +02:00
Julian Winkler
85a26e4de9 main.c: tell bionic_translation the load from anywhere in the app_data_dir
Facebook implements its own native library unpack mechanism called SoLoader,
which loads native libraries from app_lib_dir/files/decompressed/libs.spo.
The libraries are loaded by absolute path, but bionic_translation needs
to know that this path may contain bionic libraries.
2024-06-16 22:23:07 +02:00
Julian Winkler
bb50bbfa91 add lots of java APIs needed for Whatsapp 2024-06-16 08:45:31 +02:00
Mis012
67480873ab main-executable: handle NULL icon/package name jstring 2024-06-13 20:57:59 +02:00
Mis012
debbded4c5 main-executable: fix description for -X 2024-05-28 00:17:51 +02:00
Mis012
4374ac01ad AssetManager: use libandroidfw to read assets straight from the apk file
they can still be put on the filesystem and will be read from there
preferentially, though overriding assets in this way can confuse
some creatively written apps and cause them to crash.
2024-05-26 00:10:16 +02:00
Mis012
54dd61da3d main-executable: add '-e' cmdline option
Some multi-platform apps accept cmdline options using the `-e` option
of `am`. For example, you can now use `-e unity='<unity cmdline>'`
to pass cmdline arguments to a unity game.
2024-05-22 17:06:28 +02:00
Mis012
b35ce06b8d main-executable: allow passing arbitrary options to ART 2024-05-08 20:04:23 +02:00