Commit Graph

340 Commits

Author SHA1 Message Date
Ilya Fedin
d1ff6e583d Disable xcb_xlib 2023-04-03 13:33:37 +04:00
Ilya Fedin
d52cabb386 Update to the new WebKitGTK 6.0 API 2023-04-02 17:19:15 +04:00
Ilya Fedin
e632ac631e Add version check for abstract sockets 2023-04-02 00:06:04 +04:00
Ilya Fedin
3064a41014 Try to restore updater-dependent binary path logic
Now that the file generating logic is simplier, it may be not that hard to maintain
2023-04-02 00:06:04 +04:00
Ilya Fedin
30f057fff5 Use abstract socket for single instance on Linux 2023-04-01 00:17:58 +04:00
Ilya Fedin
96cced8401 Make the quit action lowercase
Just like other GApplciation actions
2023-03-09 11:16:11 +04:00
Ilya Fedin
c5acef8c53 Deduplicate notification actions on Linux
As there are notification daemons with quick reply support and GNotification API having mandatory default action support now, it's the time to reconsider button arrangement.

This also makes it possible for legacy notification daemons without default action support opening the chat when no buttons are allowed since 05524c3f6c again.
2023-03-02 17:33:06 +04:00
John Preston
aa9e56c633 Update icon on macOS, allow changing back. 2023-03-01 09:12:02 +04:00
Ilya Fedin
f71e7812e6 Don't hold GApplication
That's a much better way to avoid defunct event loop that will work in any edge case

Also don't assume GApplication is always running in Platform::Notifications::Enforced
2023-02-18 20:33:40 +04:00
Ilya Fedin
e78975d770 Fix event loop for non-first instance on Linux 2023-02-17 09:27:36 +04:00
Ilya Fedin
2be4641496 Install launcher on every launch on Linux
Just like AppUserModelId on Windows

This makes the cheat code and having the function outside of private namespace unnecessary
2023-01-23 12:16:59 +04:00
Ilya Fedin
b62e1d5036 Set prgname and application name before glibmm initialization
This ensures possible warnings use right process name
2023-01-22 15:11:02 +04:00
John Preston
7023b013ce Initial support of separate windows for accounts. 2023-01-19 09:45:28 +04:00
Ilya Fedin
9b7826ea0d Get GApplication out of experimental settings
GApplication will always be used on Linux now. GNotification gets a toggle instead.
2023-01-12 21:30:45 +04:00
John Preston
c49dac57b7 Don't use window title for IPC. 2023-01-09 16:08:34 +04:00
Ilya Fedin
c56977cbc1 Check autostart enabling success on Linux 2023-01-02 13:10:17 +04:00
Ilya Fedin
a3caecbc07 Fix build with clang 2022-12-29 09:32:07 +04:00
Ilya Fedin
ecd217a79f Implement autostart in snap 2022-12-20 18:55:29 +04:00
Ilya Fedin
4aa9c1fea3 Get saving desktop file out of group loop 2022-12-20 18:55:29 +04:00
Klemens Nanni
9c27271571 Use std::invoke_result_T not ::result_of to fix C++20 tdesktop 4.3.4
tdesktop defaults to (probably requires) C++20, but `std::result_of`[0]
was deprecated in C++17 and removed in C++20.

0: https://en.cppreference.com/w/cpp/types/result_of
2022-12-09 09:12:34 +04:00
Ilya Fedin
5990b0fabf Fix build with Qt 5 2022-12-08 10:15:59 +04:00
Ilya Fedin
6f50906952 Don't use unneeded QEventLoop::ApplicationExec 2022-12-07 11:27:49 +04:00
23rd
4fabb3f2a2 Replaced some qsl with u""_q literal. 2022-11-30 17:17:14 +03:00
John Preston
ad3f8e72a0 Remove namespace App. 2022-11-30 17:28:09 +04:00
Ilya Fedin
b383dad6ac Install launcher before registering URL scheme 2022-11-28 12:12:09 +01:00
Ilya Fedin
4484edd212 Get rid of unneeded QTextStream from GenerateDesktopFile 2022-11-26 17:26:52 +01:00
Ilya Fedin
d6ed23b3dd Fix race condition between GApplication and GNotification 2022-11-26 17:26:52 +01:00
Ilya Fedin
9ee4ad95d0 Fix GApplication with some binary paths 2022-11-26 17:26:52 +01:00
Ilya Fedin
4ade80905f Add proper build-time checks to AutostartSupported on Linux 2022-11-26 17:26:52 +01:00
Ilya Fedin
94b4809cdf Get XDG activation token also from DESKTOP_STARTUP_ID 2022-11-25 15:11:25 +01:00
Ilya Fedin
109f6614f0 Unset XDG_ACTIVATION_TOKEN after used with GApplication 2022-11-25 15:11:25 +01:00
Ilya Fedin
a94dd22caa Rewrite GenerateDesktopFile using Glib::KeyFile and KShell 2022-11-21 21:30:17 +00:00
Ilya Fedin
899ab9a16a Fix range loop warnings in Snap build 2022-11-21 21:30:17 +00:00
Ilya Fedin
2f0d14bd35 Use customWorkingDir() outside of Core::Launcher
This allows to add -workdir to shortcuts only if the process was launched with -workdir
2022-11-21 21:30:17 +00:00
Ilya Fedin
9b66b76bac Use GNotification only in flatpak by default
The UX is not the best without sound, so there's no advantage in using GNotification on GNOME.

Remove mention about being native to GNOME as it's not true anymore.
2022-11-20 08:52:36 +00:00
Ilya Fedin
a1e60a3f20 Ensure GNotification is not autodetected in snap
Snap reports it as present, but prevents the access and GNotification attempts to use portal that doesn't work in snap
2022-11-19 02:21:51 +04:00
Ilya Fedin
b9b6a9e747 Follow desktop file naming specification
This is required for GApplication to enable all the features

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#file-naming
2022-11-18 20:40:33 +04:00
Ilya Fedin
f9dd2b4a0a Support GNotification
It's used if there's a gtk notification daemon or application is running sandboxed without access to the freedesktop protocol.

GNotification API is poor, but should feel native on environments using GNOME technologies.
2022-11-18 20:40:33 +04:00
Ilya Fedin
fc4682d77e Get rid of TDESKTOP_LAUNCHER_BASENAME
This key was mainly used to let flatpak and snap provide right desktop file name.
Now, we can compute it from the environment in runtime for both flatpak and snap.
There's no more need in this option. Desktop filename override by downstreams is highly discouraged.
2022-11-07 13:47:58 +04:00
Ilya Fedin
a507edb67a Get rid of workarounds for old flatpak versions
The minimal supported flatpak version since Qt 6.x is 1.14.0.
Flatpak shares temp directory and runtime directory between launches since 1.11.1.
FLATPAK_ID is defined since 1.1.2.
2022-11-07 13:47:58 +04:00
Ilya Fedin
1336a7149b Update glibmm to latest version 2022-11-03 14:45:01 +04:00
Ilya Fedin
2a6e2fa353 Bundle kcoreaddons 2022-09-28 23:59:59 +04:00
Ilya Fedin
cfa12fb0cc Move AppRuntimeDirectory to private namespace 2022-09-19 14:23:27 +04:00
Ilya Fedin
d9318c9935 Move icon name getter to cross-platform header 2022-09-19 14:23:27 +04:00
Ilya Fedin
5132fd5010 Use KSandbox to check flatpak/snap environment 2022-09-19 14:23:27 +04:00
Ilya Fedin
89879e355d Replace EscapeShell with KShell::joinArgs 2022-09-19 14:20:02 +04:00
Ilya Fedin
88f1f8ff22 Move QGuiApplication::setDesktopFileName call to Platform::start
It depends on Core::UpdaterDisabled that is not initialized in Launcher::initHook yet
2022-09-05 08:24:48 +04:00
Ilya Fedin
38da0e086d Get rid of lib_waylandshells 2022-09-02 21:27:41 +04:00
Ilya Fedin
f1092753fc Remove version from the .desktop file
Some desktop environments hide the launcher if they don't know the version
2022-09-01 13:53:53 +04:00
Ilya Fedin
5fc7caeec9 Provide old version to Platform::NewVersionLaunched 2022-09-01 13:53:53 +04:00