Commit Graph

967 Commits

Author SHA1 Message Date
Ilya Fedin 9e12e18f90 Clean up unnecessary calls to Manager::Private::clearNotification
It was added to replicate NotificationData::close but lots of places call it after the notification is already cleared
2025-03-03 18:40:22 +04:00
Ilya Fedin 66fc9b38df Fix a race condition with asynchronous notification sending 2025-03-03 18:40:06 +04:00
Ilya Fedin 5dbe429e6b Fix NotificationData initialization 2025-03-03 18:39:55 +04:00
Ilya Fedin 86a294ce4b Subscribe to XdgNotifications signals on Manager initialization 2025-03-01 09:08:10 +04:00
Ilya Fedin a8d1eadfbf Turn NotificationData into a struct 2025-02-28 13:20:53 +04:00
Ilya Fedin b07d3c5403 Decouple GNotification from NotificationData 2025-02-28 12:05:09 +04:00
Ilya Fedin 892db55ae1 Get rid of NotificationData::init 2025-02-28 11:12:08 +04:00
Ilya Fedin 93615fef65 Revert "Check whether notification image has alpha channel"
This reverts commit cee593c423.

Avatars couldn't be opaque anyway while this simplifies porting out of NotificationData
2025-02-28 11:12:08 +04:00
Ilya Fedin 87452706ef Remove unused has_weak_ptr from Manager::Private 2025-02-28 11:12:08 +04:00
Ilya Fedin 3569615b21 Use gi::cstring for notification actions 2025-02-28 11:12:08 +04:00
Ilya Fedin 86f7d09d31 Pass notification icon name inline 2025-02-28 11:12:08 +04:00
Ilya Fedin d5d1254393 Destroy NotificationData signal connections with rpl::lifetme 2025-02-28 11:12:08 +04:00
Ilya Fedin 6f23010382 Fix IconGraphic::counterSlice for Window::WithSmallCounter 2025-02-24 13:25:59 +04:00
Ilya Fedin c672f105d3 IconGraphic::isCounterNeeded helper for Linux tray 2025-02-24 13:25:59 +04:00
Ilya Fedin e60d501e4a Have a state struct in Linux tray 2025-02-24 13:25:59 +04:00
Ilya Fedin a6315bef05 Move GNotiftcation action handlers to Manager 2025-02-19 14:42:11 +04:00
Ilya Fedin f810d7c82a Fix spaces on end of lines 2025-02-18 21:26:38 +04:00
Ilya Fedin cf61dedc79 Simplify GNotification actions 2025-02-18 21:21:37 +04:00
Ilya Fedin 2ab9587f5f Don't wrap QByteArray into std::shared_ptr
This has no sense as QByteArray is CoW
2025-02-18 21:20:53 +04:00
Ilya Fedin 296df113e3 Implement getting geolocation via geoclue/geocode-glib on Linux 2025-02-01 12:51:02 +04:00
Ilya Fedin 39b90092ff Revert "Fallback to portal on Linux if QStyleHints::colorScheme is unknown"
This reverts commit a88f48cd93.
2025-01-27 15:01:11 +01:00
Ilya Fedin e1f71baed6 Move native notifications option check logic to cross platform code 2025-01-25 18:33:13 +04:00
John Preston 691a0acdab Allow sound-without-toast again on macOS/Linux. 2025-01-24 22:23:27 +04:00
Ilya Fedin 46cf7db242 Add support for sound-file notification hint on Linux 2025-01-24 11:02:38 +04:00
John Preston 2e74ad6fbe Use common code for local sound disk cache. 2025-01-23 11:58:20 +04:00
John Preston 88e80b4fae Version 5.10.4: Fix build with GCC. 2025-01-22 23:56:52 +04:00
John Preston 9dc947ecb6 Simplify run-in-background option selection. 2025-01-22 22:13:28 +04:00
John Preston aa0c56876c Use sound in native notifications on macOS. 2025-01-22 22:13:28 +04:00
John Preston d135151477 Use native sound support in macOS notifications. 2025-01-22 22:13:28 +04:00
Ilya Fedin eb0d2868f5 Expand "always run in background" behavior from GNOME/Pantheon to all Linux
Right now it checks the title controls layout that is typically set only by gtk based DEs and KDE matching the GNOME's and Pantheon's defaults.

There are more and more reports about window manager not to supporting both tray and minimization out of the box and title controls layout seem to typically be either unset or set to nothing leaving users with no way to run tdesktop with no window open.
2024-12-18 09:55:35 +04:00
Ilya Fedin d85b668d4f Fix lambda execution for portal dark mode getter 2024-10-24 07:04:52 +02:00
Ilya Fedin a88f48cd93 Fallback to portal on Linux if QStyleHints::colorScheme is unknown 2024-10-14 12:39:41 +04:00
Ilya Fedin 22a3093815 Check updater exit status on Linux 2024-09-18 08:27:18 +02:00
Ilya Fedin c93f047056 Add run0 support 2024-09-12 23:08:06 +04:00
Ilya Fedin 993c0ee648 Ensure fake modal widget is a window 2024-08-01 08:58:16 +04:00
Ilya Fedin ac78ae823c Reduce portal autostart dialog modality to parent window 2024-07-24 18:10:56 +02:00
John Preston de52ac6b28 Resolve different addresses. 2024-07-19 11:20:54 +02:00
John Preston 310837c9e1 Add venues list and chosen place name. 2024-07-19 11:20:54 +02:00
John Preston 2a5071b66c Initial location sending on Windows. 2024-07-19 11:20:53 +02:00
John Preston f75429cbaa Version 5.2.1: Shorten webview socket path.
Fixes #28106.
2024-07-01 21:35:39 +04:00
Ilya Fedin 30819509d3 Set shortcut context for global menu shortcuts 2024-06-30 10:11:40 +04:00
Ilya Fedin 648b23b548 Do non-getting XCB requests synchronously 2024-06-24 16:23:32 +04:00
Ilya Fedin ba89912834 Switch more XCB code to base::Platform::XCB::Connection 2024-06-24 16:23:32 +04:00
Ilya Fedin 671a15d763 Update skip taskbar hint on Linux without QWindow events 2024-06-22 11:32:36 +04:00
Ilya Fedin 8a5797e1bd Re-create QSystemTrayIcon on SNI watcher owner change 2024-06-19 10:31:59 +04:00
Ilya Fedin 032fe3e0fc Remove std::optional indrection for nullable XCB types 2024-06-16 09:54:04 +04:00
Ilya Fedin 88e742927f File descriptor fixes for XDPOpenWithDialog
- Open it with O_CLOEXEC
- Remove unneseccary std::array complication
- Rely on Gio::UnixFDList to close it
2024-06-03 17:49:16 +04:00
John Preston 97a5e0c6ea Support limited formatting input in factcheck. 2024-05-30 21:35:07 +04:00
Ilya Fedin 198528f79f Remove code needed for a removed patch 2024-05-21 14:20:43 +04:00
Ilya Fedin 471831bcd6 Revert "Remove not really needed notification capability checks"
This reverts commit abdfa4f785.
2024-04-25 15:07:51 +04:00