Commit graph

814 commits

Author SHA1 Message Date
Ilya Fedin
8aee08eaef Track argv0 through relaunches 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
af00247362 Provide access to un-joined argument list in Core::Launcher
This allows to re-use the variable in Linux-specific code
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
71570f5be1 Store managed objects inside managers 2023-05-30 20:55:15 +04:00
Ilya Fedin
8c38d31950 C++ify wl_registry 2023-05-30 20:55:15 +04:00
Ilya Fedin
2ce9e610fa Update icons when icon theme on Linux changes 2023-05-29 11:07:19 +04:00
Ilya Fedin
6aef6d7f4e Integrate GApplication with QFileOpenEvent and Core::Application::activate 2023-05-29 10:51:40 +04:00
Ilya Fedin
54841de991 Use new base_linux_wayland_utilities 2023-05-25 22:05:13 +04:00
Ilya Fedin
fc66a0eea8 Destroy Wayland integration before Wayland disconnection 2023-05-25 22:05:13 +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
9514b0d1f1 Get rid of unneeded gi::result wrap 2023-05-19 15:33:43 +04:00
Ilya Fedin
2ea50f5c85 Constify options in Linux screen locker monitor
That's possible now thanks to cppgir update
2023-05-19 15:33:43 +04:00
Ilya Fedin
d1455f5117 Switch Wayland integration to the new type safe Qt API
This also makes object lifetime tracking better thanks to the new API
2023-05-15 12:34:56 +04:00
Ilya Fedin
0ffaff2d8b Support Qt 6.5 dark mode API 2023-05-15 12:33:30 +04:00
Ilya Fedin
2675b5df3b Use QGuiApplication::setBadgeNumber API since Qt 6.6 on Linux 2023-05-15 10:20:18 +04:00
Ilya Fedin
db60bee7dc Implement screen locker monitor on Linux 2023-05-15 09:51:13 +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
8dee2a1c8b Set device pixel ratio for counter layer 2023-04-04 10:07:51 +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
ae93455101 Update glibmm to 2.76.0 2023-03-17 18:56:23 +04:00
John Preston
32e650548f One more attempt to fix DND on macOS. 2023-03-15 15:00:29 +04:00
Ilya Fedin
8975a31597 Optimize system tray icon cache invalidation 2023-03-09 11:16:35 +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
John Preston
c09043f827 Fix build for macOS. 2023-02-18 15:10:14 +04:00
John Preston
832d47121f Save media viewer position to Settings. 2023-02-18 15:10:13 +04:00
John Preston
f9847090f9 Cmd+Q quit prevention in windowed media viewer. 2023-02-18 15:10:13 +04:00
John Preston
2a1e3c4453 Initial implementation of windowed media viewer on macOS. 2023-02-18 15:10:13 +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
Ilya Fedin
6f89413c76 Don't get cursor position twice for open with menu 2023-01-20 12:58:48 +04:00
John Preston
e4c16ccba4 Create tray icon without a parent. 2023-01-19 09:46:19 +04:00
John Preston
7023b013ce Initial support of separate windows for accounts. 2023-01-19 09:45:28 +04:00
Ilya Fedin
9b154b3c91 Ensure freedesktop capabilities aren't used when GNotification is used 2023-01-13 10:24:06 +04:00
Ilya Fedin
a1f9b5a96f Get GApplication out of experimental settings
GApplication will always be used on Linux now. GNotification gets a toggle instead.
2023-01-12 21:49:16 +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
fc26457218 Show current chat name in the window title. 2023-01-09 18:39:07 +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
1666683dbb Fix various line length in notifications_manager_linux 2022-12-29 12:30:17 +04:00