Ilya Fedin
0534a2fb62
Fix QGuiApplication::desktopFileName usage
...
The Qt documentation says:
This is the file name, without the full path or the trailing ".desktop" extension of the desktop entry that represents this application according to the freedesktop desktop entry specification.
Qt 6.5.2 also automatically fixes it breaking all the current tdesktop and desktop-app usage expecting the file extension.
2023-07-19 23:51:50 +04:00
Ilya Fedin
2dfe858327
Support D-Bus activation
2023-07-01 21:05:42 +04:00
Ilya Fedin
0421e41c47
Check actual executable path instead of cExeName in GenerateDesktopFile
2023-07-01 21:05:42 +04:00
Ilya Fedin
1d234ea990
Use argv0 for shortcuts when updater is disabled
2023-06-16 11:38:54 +04:00
Ilya Fedin
074c725c6c
Move Platform::ThirdParty::start content to LinuxIntegration
2023-06-13 12:19:21 +04:00
Ilya Fedin
a7bd097b2f
Have a global Core::Launcher accessor
...
This allows to use Launcher in code executing before Sandbox is created
2023-06-13 12:19:21 +04:00
Ilya Fedin
6aef6d7f4e
Integrate GApplication with QFileOpenEvent and Core::Application::activate
2023-05-29 10:51:40 +04:00
John Preston
f46f655a0e
Revert "Disable xcb_xlib"
...
This reverts commit d1ff6e583d
.
Otherwise HIME input is broken:
https://github.com/telegramdesktop/tdesktop/issues/26228
2023-05-24 18:11:36 +04:00
Ilya Fedin
0ffaff2d8b
Support Qt 6.5 dark mode API
2023-05-15 12:33:30 +04:00
Ilya Fedin
0b4ebcbae4
Warn if incompatible event loop is detected
2023-05-15 08:08:04 +04:00
Ilya Fedin
0a011db483
Get rid of DESKTOP_APP_DISABLE_DBUS_INTEGRATION
...
Desktop App Toolkit uses GLib as the D-Bus library for quite long time, but GLib is not only a D-Bus library, it's more a basic library providing native Linux APIs implementing various specs. The situation right now is that DESKTOP_APP_DISABLE_DBUS_INTEGRATION disables not only D-Bus code but all the native API integration such as MIME handling or .desktop file parsing. In other words, the option disables native Linux APIs on Linux what is absurd and doesn't have any sense.
2023-05-15 08:08:04 +04:00
Ilya Fedin
c78a15410d
Try to remove Wayland blacklist again
2023-04-03 19:44:52 +04:00
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