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
Ilya Fedin
c134861cd9
Have notification subtitle in title on Linux when body-markup is not supported
...
This makes it look way better
2022-12-29 12:30:17 +04:00
Ilya Fedin
a3caecbc07
Fix build with clang
2022-12-29 09:32:07 +04:00
Ilya Fedin
13eeddf479
Don't wait for input when there are fullscreen applications
2022-12-23 14:04:17 +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
Ilya Fedin
b3e547f4dd
Fix a warning in snap build
2022-12-16 11:03:37 +04:00
Ilya Fedin
3cb333d323
Fix counter paint when DPR != 1 in Linux tray
2022-12-09 16:04:07 +04:00
Ilya Fedin
2565b948d9
Cache system icon in Linux tray
2022-12-09 16:04:07 +04:00
Ilya Fedin
577f4b6271
Don't check com.canonical.Unity for the counter
...
It seems there's a race condition when Telegram is auto-started on Plasma and it doesn't hurt to issue the signal always, so just remove the check
2022-12-09 09:19:00 +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
John Preston
8937d732f6
Fix build with GCC.
2022-12-06 18:08:07 +04:00
John Preston
48148a8cc3
Revert "Provide the same sizes for tray icon as for main window icon"
...
This reverts commit f9bf68461d
.
2022-12-06 12:55:09 +04:00
John Preston
cb653df0f6
Support adaptive forum userpic rounding radius.
2022-12-05 16:18:10 +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
23rd
2acedca6b7
Replaced some qstr with u""_q literal.
2022-11-29 14:12:50 +03:00
Ilya Fedin
05524c3f6c
Don't show reply button in Linux native notifications when it's not supposed to
...
All modern notification daemons have support for the default action and it's a requirement with the portal spec
2022-11-28 21:55:00 +01:00
Ilya Fedin
b383dad6ac
Install launcher before registering URL scheme
2022-11-28 12:12:09 +01:00
Ilya Fedin
2bda3c4e2b
Don't save temp file for native notification userpics on Linux
2022-11-26 22:15:39 +01:00
Ilya Fedin
4484edd212
Get rid of unneeded QTextStream from GenerateDesktopFile
2022-11-26 17:26:52 +01:00
Ilya Fedin
ace363f432
Use GBytesIcon with GNotification
...
GFileIcon is not supported by xdg-desktop-portal
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
768fc9b8f6
Use the new Glib::Variant qint64/quint64 compatibility with old code
2022-11-18 20:40:33 +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
b4d310fd1e
Don't subscribe to inhibiton changes when not supported
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
9726b3c298
Avoid race condition when registering Wayland interfaces
2022-11-11 11:47:01 +04:00
Ilya Fedin
f542a026ec
Add _GTK_APPLICATION_ID support
2022-11-07 18:16:49 +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
ba9f5d138a
Use some APIs from newer glibmm
2022-11-02 21:02:46 +04:00
John Preston
fdf4129e5e
Fix build with GCC.
2022-11-02 08:51:03 +04:00
John Preston
92a4b27e65
Support per-topic notification settings.
2022-11-01 19:25:37 +04:00
Ilya Fedin
f9bf68461d
Provide the same sizes for tray icon as for main window icon
2022-10-16 18:04:07 +04:00
Ilya Fedin
2d69329dc9
Set linux webview debug mode via D-Bus IPC
2022-10-03 09:29:25 +04:00
Ilya Fedin
2a6e2fa353
Bundle kcoreaddons
2022-09-28 23:59:59 +04:00
Ilya Fedin
f2d2826fc7
Make InstallLauncher accessible on any platform
2022-09-19 14:23:27 +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
feb6107ce6
Qt 6.4 supports window activation with tray on Wayland
2022-09-02 21:27:41 +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
Ilya Fedin
8c1bef929e
A better way of PiP aspect ratio handling on Wayland
2022-08-08 11:05:52 +04:00
Ilya Fedin
bf339de773
Always pass activation_token option
...
glib shows a warning about invalid GVariant and empty activation_token shouldn't hurt I believe
2022-08-04 17:12:07 +04:00
Ilya Fedin
9e63fc5acd
Let PiP have custom buffer size on Wayland
2022-08-04 16:41:25 +04:00
Ilya Fedin
d500714242
Use xdg-activation to open URLs&files
2022-08-03 15:26:08 +04:00
Ilya Fedin
66c9587650
Add fail callback to linux notifications exceptions handler
2022-07-31 12:21:24 +04:00
Ilya Fedin
8e8a209aad
Guard linux notification inhibition checks
2022-07-28 20:18:51 +04:00
Ilya Fedin
bb8ffcac3a
Default to Wayland on GNOME for new installs
2022-07-28 20:17:49 +04:00
Ilya Fedin
9b8dcec26e
Ensure notification manager is not null before first call to setManager in cross-platform code
2022-07-26 21:11:17 +04:00
Ilya Fedin
6718d238af
Switch to the dummy notification manager when notification daemon is not running on Linux
2022-07-26 21:11:17 +04:00
Ilya Fedin
dd70a6f659
IsQualifiedDaemon -> ByDefault
2022-07-26 21:11:17 +04:00
Ilya Fedin
ff2bd86744
Have a central place for catch-based logging of linux native notifications
2022-07-26 21:11:17 +04:00
Ilya Fedin
d2e3c01c11
Get linux notification inhibition state asynchronously
...
This is the last sync request in the D-Bus notifications
2022-07-26 21:11:17 +04:00
Ilya Fedin
e8477e5911
Get rid of 'paramtersCopy' in dbus code
2022-07-26 21:09:30 +04:00
23rd
57f769f358
Returned lost method that checks tray existence.
2022-06-23 09:38:21 +03:00
Ilya Fedin
798998203a
Get XDG activation token from native notification on Linux
2022-06-15 12:55:59 +04:00
Ilya Fedin
6ee08faa24
Migrate from kwayland to QtWaylandScanner
2022-06-14 16:36:44 +04:00
Ilya Fedin
391a3a77f6
Use Qt's xdg-desktop-portal file dialog implementation
2022-06-14 16:36:44 +04:00
Ilya Fedin
2477b35b42
Move tray availability logging to the appropriate class
2022-06-14 16:36:44 +04:00
Ilya Fedin
4d997a26b0
Don't update global menu on Linux without focus widget
...
The window loses focus when menu is open and edit options are deactivated
2022-06-14 16:36:44 +04:00
Ilya Fedin
4410aeb3eb
Make QMenuBar on Linux work without private API
2022-06-14 16:36:44 +04:00
Ilya Fedin
088cca7452
Adapt for XCB::IsSupportedByWM changes
2022-06-14 16:36:44 +04:00
23rd
7bf9db8644
Fixed logging out with opened non-primary windows.
2022-06-08 11:59:30 +03:00
Ilya Fedin
a2a401c0b0
Use public Qt API for native dialogs modality
2022-05-19 17:23:47 +04:00
Ilya Fedin
acd18a57fb
Get rid of the IBUS_USE_PORTAL workaround
...
It's been a while after the ibus breaking change, the new socket path should be in all major distros and this hack shouldn't be needed anymore.
2022-05-19 17:23:47 +04:00
Ilya Fedin
6a80b1b94c
Get rid of __HAIKU__ checks
...
This is a leftover of something that wasn't finiched and looks like won't be finished. It also feels that's not a good idea to mix Linux and Haiku in the same file though...
2022-05-19 17:23:47 +04:00
John Preston
b28d5a63d1
Handle alert/confirm/prompt with custom dialog on Linux.
2022-05-03 23:30:42 +04:00
23rd
0e16a50bbc
Completely removed common and platform code for tray from main window.
2022-05-03 04:25:36 +03:00
23rd
aee1ef78da
Moved out static job for Linux tray icon to separated class.
2022-05-03 04:25:36 +03:00
23rd
27c5c4b8f2
Removed Linux tray implementation from main window.
2022-05-03 04:25:36 +03:00
23rd
7948d971e8
Added initial implementation of Linux tray.
2022-05-03 04:25:36 +03:00
23rd
f67c3bbf65
Added placeholders for platform dependent implementations of tray.
2022-05-03 04:25:35 +03:00
23rd
de194c4aa2
Initialized empty files for tray implementations.
2022-05-03 04:25:35 +03:00
Sergey A. Osokin
3ba5b825e5
Fix -Wunused-const-variable warnings by removing unused variables
...
Fixes #24432
2022-04-26 21:25:05 +04:00
Hugo Osvaldo Barrera
c52a5927e5
Avoid a second query for the current color-scheme
...
Telegram listens for a signal that indicates when the color-scheme
changes. The signal itself includes the new value, but Telegram
currently queries for the value immediately after getting the signal.
This second round-trip is unnecessary, since the signal itself contains
the same information.
This changeset avoids this follow-up query, and drops the now-unused
`Setter`.
2022-04-25 22:38:08 +04:00
Ilya Fedin
cee593c423
Check whether notification image has alpha channel
2022-04-25 22:33:22 +04:00
Ilya Fedin
62e82a42fb
Adapt to lib_base's XDP API changes
2022-04-14 09:15:50 +04:00
Ilya Fedin
80f1f079f1
Move waitForInterfaceAnnounce call to the uses of announced interfaces
2022-04-14 09:11:05 +04:00
Ilya Fedin
572eb1f5f8
Remove unneeded anymore xdg-open workaround for snap
2022-04-13 15:06:06 +04:00
Ilya Fedin
17fcc729a2
Implement org.freedesktop.appearance.color-scheme
2022-04-12 17:35:51 +04:00
Ilya Fedin
6fd02ccbae
Match socket length check with Qt
2022-03-08 12:41:38 +04:00
Ilya Fedin
b39e4a3138
Do not call CloseNotification for activatable services
...
If the notification daemon is an activatable GApplication service (e.g.
on Mate), then the notification daemon may terminate a short time after
the notification has vanished (usually 15s). In that case the
notification daemon may reuse notification IDs, which is incompatible
with our notification clearing.
Also the service may not be running at all, when we call the
CloseNotification endpoint.
To fix this, we simply disable the entire notification history clearing
functionality on such desktops by proactively clearing all notification
references from our internal notification manager.
Signed-off-by: Magnus Groß <magnus.gross@rwth-aachen.de>
2022-03-05 16:51:02 +04:00
Magnus Groß
4dd14b81e1
Do not remove notification reference on NotificationClosed
...
In general we need to keep a reference to the notification id, so that
we can delete the notification later from history - unless the
NotificationClosed reason was that the user actively dismissed it, in
which case it is not kept in history anyway (so we can dismiss our
reference too).
-- Background --
Some desktop environments such as KDE keep a history of notifications.
An API is provided to delete notifications from that history by calling
the org.freedesktop.Notifications.CloseNotification endpoint with the ID
of that notification. If the notification was already closed (timed
out), then this will delete the notification from history.
The intent is to clear these notifications from the notification history
as soon as a chat with notifications originating from that person is
opened, as the user is then not interested anymore in those
notifications and to prevent unnecessary clutter in the history widget.
It is also cleared when the chat is read on another device.
-- Problem --
Telegram already has all the code in place to support this
functionality, but unfortunately this did not work on Linux before,
because we listen to the NotificationClosed signal and remove our
reference to the notification id from our internal manager as soon as we
get that signal. This means that we do not clear that notification from
history once we open the chat with that person (unless we open the chat
before the notification has timed out, i.e. if we didn't get the
NotificationClosed signal).
-- Fix --
To fix this, we keep our notification reference (if the notification was
not dismissed by the user), which means that our reference will be kept
around until we open the chat with that person (or close Telegram
entirely).
Since all the needed functionality for deleting notifications was
already in place, this patch is quite short as we only need to keep the
reference around longer than we did before this patch.
Note also that code is already in place to clear notifications for
messages that were read on another device: History::inboxRead() calls
Core::App().notifications().clearIncomingFromHistory()
Fixes #17111
2022-03-05 16:51:02 +04:00
Ilya Fedin
daaa654065
Get rid of unneeded MainWindow::Private class on Linux
2022-03-05 16:47:38 +04:00
Ilya Fedin
8db567ba7a
Don't hold a dbus connection unecessarily in main window
2022-03-05 16:47:38 +04:00
Ilya Fedin
805e6de1dc
Add global menu event hook on Linux just like on macOS
2022-03-05 16:47:38 +04:00
Ilya Fedin
1c8d4ee7ab
Get rid of Q_OBJECT in HistoryInner
2022-03-05 16:47:38 +04:00
Ilya Fedin
99e8d22c51
Move xdg-foreign support to lib_base
2022-02-04 16:31:40 +03:00
Ilya Fedin
7f0bdc5d36
Fix desktop environment list deduplication
2022-02-02 09:23:14 +03:00
Ilya Fedin
e5981ed22b
Move jemalloc initialization code to cmake_helpers
2022-02-01 14:41:54 +03:00
Ilya Fedin
ceb323ac7c
Use QMenuBar instead of own global menu implementation on Linux
...
This is another attempt of 79f96480c2
2022-01-22 21:18:37 +04:00
Ilya Fedin
b65d40a22b
Get rid of custom SNI implementation
...
XDG is inventing new tray specification, so SNI will be outdated soon and it's better to just use QSystemTrayIcon.
I believe all the major drawbacks of QSystemTrayIcon are solved and we can live with minor ones.
Given the planned MainWindow refactoring, it seems it's the best time to do that.
2022-01-22 21:18:37 +04:00
Ilya Fedin
30810e95f4
Log when DE is unknown
2022-01-08 10:59:47 +03:00
Ilya Fedin
a3d84f69ea
fixup! Use more sources for DE detection
2022-01-08 10:45:13 +03:00
Ilya Fedin
b3bb1a537c
Use more sources for DE detection
2022-01-08 09:55:34 +03:00
Ilya Fedin
726aa3316d
Rework DE detection
...
Variables can point to a mixed environment, make DE detection non-exclusive.
Remove unused methods.
2022-01-07 19:14:59 +03:00
John Preston
ba6c3eaf73
Add dummy Platform::Integration on Linux.
2022-01-06 15:44:02 +03:00
John Preston
8b0725650d
Move global event filter to Platform::Integration on Windows.
2022-01-04 15:29:40 +03:00
Klemens Nanni
078a2af385
Fix -Wunused-const-variable warnings under DESKTOP_APP_DISABLE_DBUS_INTEGRATION
...
OpenBSD builds without dbus integration (for now); this fixes the warnings.
Those variables have been introduced in multiple commits.
2021-12-29 20:16:04 +03:00
Ilya Fedin
33b7ac209e
Don't use QPlatformNativeInterface-based XCB::GetRootWindowFromQt
2021-12-13 14:24:34 +04:00
Ilya Fedin
8592326a3c
Revert "Use kernel accelerated sendfile to copy files on Linux"
...
This reverts commit 34534a9653
.
2021-12-02 09:15:23 +04:00
Ilya Fedin
2ad20d6c4a
Instantiate a local dbus server for webview IPC
2021-11-29 16:23:51 +04:00
Ilya Fedin
8fda1169e5
Get rid of Platform::MainWindow::psLinux*
2021-11-26 18:28:37 +04:00
Ilya Fedin
53305f5f46
Fix paste check in Linux global menu
2021-11-26 18:28:37 +04:00
Ilya Fedin
22b37c4bf8
Use webkitgtk without its headers
2021-11-06 16:33:39 +04:00
John Preston
1ea6224e60
Fix autostart toggling.
2021-11-05 10:15:41 +04:00
John Preston
f10ed4b9bc
Support autostart in Windows Store version.
...
Fixes #3234 .
2021-11-04 12:36:28 +04:00
John Preston
aef45b3a1d
Refactor icon unread counter painting.
2021-11-02 20:12:57 +04:00
Ilya Fedin
c50a5db277
Restore dbusmenu-qt dependent functionality with Qt 6
2021-10-24 20:01:55 +04:00
John Preston
389ea2af83
Fix compilation error on Linux.
2021-10-22 18:34:59 +04:00
John Preston
d361f5c6b0
Hide native notifications of deleted messages.
2021-10-21 23:01:13 +04:00
Ilya Fedin
847c01d605
Add Qt 6 support
...
Tested only on Linux so far
2021-10-21 13:15:00 +04:00
John Preston
352768053d
Beta version 3.1.6: Fix build on Linux.
2021-10-06 21:07:18 +04:00
John Preston
5cd0a3719e
Beta version 3.1.6: Detach FastReply from MarkAsRead.
2021-10-06 19:24:30 +04:00
Gleb Smirnoff
59f2f750b4
On FreeBSD the system malloc is jemalloc and non-portable
...
extensions are enabled including malloc_np.h.
2021-09-15 23:24:39 +03:00
John Preston
8069fdd873
Use base/random.h instead of openssl::RandomValue.
2021-09-15 13:42:22 +03:00
Ilya Fedin
e92ae40ecb
Implement close to taskbar option
2021-09-13 17:46:53 +03:00
Ilya Fedin
3fbd68cff9
Don't link glib with DESKTOP_APP_DISABLE_DBUS_INTEGRATION
2021-09-12 00:12:13 +03:00
Gleb Smirnoff
720f238cf8
Close a race between Gio threads and Qt application init.
...
QApplication has a historical feature[1] of calling setlocale(3) at init,
which today cause more harm than good. Such call isn't thread safe neither
per C standard, not per any known libc implementation. The Gio threads
would call into locale reading functions all the time, so early access to
locale by Gio may race with setlocale() by Qt leading to undefined behavior.
Platform specific start before the Sandbox (aka QApplication) is at core
design of tdesktop and that order can't be changed. There is no way to pause
Gio until QApplication instantiates.
Fortunately, Qt library itself has a static global flag that prevents it
from calling setlocale() twice. We don't even need to instantiate a
temporary QCoreApplication, we can just call into the method. So call
it form Platform::start before any existing or future calls to Gio.
Fixes #16922
[1] https://chat.stackoverflow.com/rooms/63812/discussion-between-phil-armstrong-and-matteo-italia
2021-09-10 13:18:20 +03:00
Ilya Fedin
45360adbc2
Remove unneeded libraries from snapcraft.yaml
2021-09-07 23:40:08 +03:00
Ilya Fedin
05d4d58f8b
Replace GTK integration with xsettings + XDP
2021-09-06 15:43:28 +03:00
Ilya Fedin
6192413f0b
Split webview initialization from GtkIntegration class
2021-08-25 12:52:43 +03:00
Ilya Fedin
51df482571
Get rid of gtk open with dialog
...
Portal open with dialog works just fine and is a more universal solution... That allows to get rid of an additional process.
2021-08-25 12:52:43 +03:00
Ilya Fedin
e7d39e6046
Get rid of GtkIntegration::initializeSettings use
2021-08-13 15:21:19 +03:00
Ilya Fedin
63a92cb90a
Log icon theme
2021-08-13 15:21:19 +03:00
Ilya Fedin
414456d003
Revert "Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595 "
...
Fixed in Qt by https://codereview.qt-project.org/c/qt/qtbase/+/306771
This reverts commit 3a91003eea
.
2021-08-12 08:51:10 +03:00
Ilya Fedin
8b7b0fa570
Remove -externalupdater flag
...
Having a path to executable in /etc/tdesktop/externalupdater is a way more convenient and is enough
2021-08-11 18:20:52 +03:00
Ilya Fedin
ac86f3e5bd
Use Communications category for tray icon
...
Since tdesktop fits it
2021-08-10 15:42:21 +03:00
Ilya Fedin
d986e70a89
Fix global menu on 64-bit systems with X11
...
When Wayland support for global menu was added (0b86feeeb5
), X11 support was broken since QWindow::winId returns WId what is a quintptr that expands to uint32 on 32-bit and to uint64 on 64-bit, while AppMenu d-bus service accepts only uint32.
2021-07-28 23:41:36 +03:00
Ilya Fedin
1ebf27bfa1
Switch MainWindow to Ui::RpWindow
2021-07-28 18:05:39 +03:00
John Preston
245909e381
Beta version 2.8.12: Prune icon cache on Linux.
2021-07-23 19:39:31 +03:00
Ilya Fedin
087fbe89ce
Add additional checks to NotificationData::setImage
2021-07-19 22:56:38 +03:00
Ilya Fedin
dc81f9eeaf
Remove SetWatchingMediaKeys
...
Since SPMediaKeyTap has been removed on Mac, Linux is the only platform where this function is implemented, but that's not really needed due to MPRIS support, so SetWatchingMediaKeys can be dropped entirely
2021-07-19 22:56:14 +03:00
Ilya Fedin
49fed41dfa
Use RegisterUrlScheme from lib_base
2021-07-19 22:55:57 +03:00
Ilya Fedin
9b1d967967
Move NotificationServiceWatcher to notifications manager
2021-07-19 22:39:38 +03:00
Ilya Fedin
6f151f20e9
Add support for DESKTOP_APP_DISABLE_WEBKITGTK
...
Co-authored-by: mid-kid <esteve.varela@gmail.com>
2021-07-19 22:31:27 +03:00
Ilya Fedin
ae70dfb1f4
Return after throwing access denied error
2021-07-19 22:31:27 +03:00
Ilya Fedin
ba9b72e038
Fix -Wunused-variable warnings with gcc
2021-07-19 22:31:27 +03:00
Ilya Fedin
79cc797aff
Fix -Wunused-variable warnings
2021-07-13 21:43:34 +03:00
Ilya Fedin
b6881022ce
Allow to build with -Werror and clang
...
Fixes -Wdeprecated-enum-enum-conversion, -Wdeprecated-declarations, -Wrange-loop-construct, -Winconsistent-missing-override
2021-07-13 21:32:06 +03:00
Ilya Fedin
8ecc98eb03
Right file dialog freeze fix
...
The freezing is still happening if the service is not accessible
2021-07-12 11:10:16 +03:00
Ilya Fedin
62fd968409
Don't call gtk_selection_data_get_length on nullptr
2021-07-08 22:09:26 +03:00
Ilya Fedin
2c6e4eed19
Use unique_ptr for GtkSelectionData
2021-07-08 22:09:26 +03:00
23rd
9dfb43d525
Fixed build for macOS and Linux.
2021-07-08 20:18:40 +03:00
Ilya Fedin
3b07785f87
Optimize pasting with gtk
2021-07-08 18:58:40 +03:00
Ilya Fedin
ee773a28bb
Fix 30s freeze after pasting
2021-07-07 16:40:09 +03:00
Ilya Fedin
17cee8ec56
Set service name for lib_base and lib_webview gtk integration
2021-07-07 12:16:01 +03:00
23rd
a631a28092
Removed App::pixmapFromImageInPlace.
2021-07-06 12:13:06 +03:00
Ilya Fedin
6f031a715e
Revert "Use QMenuBar instead of own global menu implementation on Linux"
...
This reverts commit 79f96480c2
.
2021-07-05 21:01:20 +03:00