Commit Graph

681 Commits

Author SHA1 Message Date
Ilya Fedin
e8edbb16ae Make notification manager creation async 2021-01-22 17:02:50 +04:00
Ilya Fedin
a0a71687e7 Use QDBusPendingReply in GetServerInformation 2021-01-22 17:02:50 +04:00
Ilya Fedin
d042963a47 Make notification show method async 2021-01-22 17:02:50 +04:00
Ilya Fedin
64b12bde55 Allow qualified notification daemons by default on Linux 2021-01-22 17:02:50 +04:00
Ilya Fedin
49736cd879 Recreate notification manager on notification service owner change 2021-01-22 17:02:50 +04:00
John Preston
574d915c23 Fix build and tray icon menu on Windows. 2021-01-22 16:53:59 +04:00
Ilya Fedin
3b7d5d3c80 Eliminate ifndefs in notifications_manager_linux 2021-01-05 18:16:26 +04:00
Ilya Fedin
0fbea454bc Format unity counter setting 2021-01-05 11:43:24 +04:00
Ilya Fedin
d4d688d494 Merge two ifndef blocks in main_window_linux 2021-01-05 11:43:24 +04:00
Ilya Fedin
b3892f49fa Fix kSNIWatcherService/kSNIWatcherInterface misusage
Even though they're the same, there should be interface specified
2021-01-05 11:43:24 +04:00
Ilya Fedin
5affb168a2 Fix callback function name in open with dialog 2021-01-04 17:08:49 +04:00
Ilya Fedin
99af2a7058 Check for xdg-decoration protocol support on Wayland 2021-01-04 17:08:49 +04:00
Ilya Fedin
b9acea9cef Move GSDMediaKeys initialization to SetWatchingMediaKeys 2021-01-04 11:55:10 +04:00
Ilya Fedin
8fb6ece796 Revert "Use xcb to set transient parent for gtk file dialog"
This reverts commit cd3b989e70.
2021-01-04 11:54:17 +04:00
Ilya Fedin
15a9842b9f Make open with dialog modal on Linux 2021-01-04 11:54:17 +04:00
Ilya Fedin
39f9147790 Check for dbus menu exporter instead of menu path 2020-12-30 11:50:01 +04:00
Ilya Fedin
8da33113a2 Use DeviceModelPretty/SystemVersionPretty directly
This allows using methods that require a running QGuiApplication instance to detect system
2020-12-29 12:36:47 +04:00
Ilya Fedin
f66cfb5684 Use new IsSupportedByWM XCB API from lib_base 2020-12-29 12:29:11 +04:00
Ilya Fedin
e247be7e33 Operate with QString instead of QDBusObjectPath 2020-12-28 17:00:05 +04:00
Ilya Fedin
e594b75f4c Use more forward declarations in main_window_linux 2020-12-28 17:00:05 +04:00
Ilya Fedin
28f857f763 Add support for G-S-D's media-keys extension
This fixes media keys handling on (but not limited to, probably):
* GNOME
* Cinnamon
* MATE
* Budgie
* Pantheon (elementaryOS)
* Unity
2020-12-28 17:00:05 +04:00
Ilya Fedin
56728a066e Fix blurry tray icon with svg themes
QIcon::actualSize doesn't work as expected with svg themes, get actual pixmap and check its size instead.
2020-12-24 22:46:09 +03:00
Ilya Fedin
e99558abeb Remove linux LastUserInputTime dependency since it's only in lib_base 2020-12-24 07:47:13 +04:00
Ilya Fedin
0ff6c555b1 Use Platform::IsWayland in linux_gdk_helper 2020-12-22 18:37:52 +04:00
John Preston
d301601360 Fix mouse/keyboard input on Windows. 2020-12-18 12:43:51 +04:00
Ilya Fedin
cd3b989e70 Use xcb to set transient parent for gtk file dialog 2020-12-14 16:50:59 +04:00
John Preston
df420e4ccf Revert "Use gtk not only to get image from clipboard, but also to set"
This reverts commit f88c132c96.

Fixes #9885.
2020-12-11 12:00:52 +04:00
Ilya Fedin
379a3d74e2 Fix build without gtk 2020-12-10 09:43:47 +04:00
Ilya Fedin
05147016b0 Simplify XErrorHandlerRestorer API 2020-12-10 07:15:39 +03:00
Ilya Fedin
4bc6c6c3c8 Handle cursor size in the custom GTK integration 2020-12-08 21:21:03 +03:00
Ilya Fedin
cffb05e3c9 Detect more dark themes on Linux 2020-12-08 21:19:28 +03:00
Ilya Fedin
f88c132c96 Use gtk not only to get image from clipboard, but also to set 2020-12-08 21:18:49 +03:00
Ilya Fedin
b1b01385d0 Restore 16px tray icon size
Looks like there are support for this size since b703f4e555
2020-11-19 18:36:57 +03:00
John Preston
a086afb152 Fix legacy group service message in chats list. 2020-11-19 16:47:17 +03:00
mid-kid
49480001f7 Move IsWayland() checks into WaylandIntegration 2020-11-17 16:23:54 +03:00
Ilya Fedin
0563e1f878 Have the wayland build-time toggle affect the native window title 2020-11-17 16:23:54 +03:00
mid-kid
96b2e26f42 Build wayland support optionally 2020-11-17 16:23:54 +03:00
Ilya Fedin
9d6e5f2a5b Adapt linux tray icon implementation to the new QIcon::pixmap behavior
More info: https://codereview.qt-project.org/c/qt/qtbase/+/314618
2020-11-16 13:03:43 +03:00
Ilya Fedin
b4cb47cf7f Prefer gtk3 headers 2020-11-16 12:37:42 +03:00
Ilya Fedin
e4b9900a06 Construct WindowControlsLayout without variable 2020-11-16 12:35:01 +03:00
Ilya Fedin
5c8a19b7f7 Use only really supported icon sizes 2020-11-16 12:34:19 +03:00
Ilya Fedin
620c596200 Remove the last workaround in tray implementation
Since tdesktop gets icon theme pretty well now, there's no need for any workaround.
2020-11-16 12:34:19 +03:00
Ilya Fedin
c8ce5dfa8b Fix escaping in scheme creation on Linux and set -workdir 2020-11-16 12:33:22 +03:00
Ilya Fedin
e64f6f7266 Since changing the ibus portal check, it is not compatible with snap anymore 2020-11-12 18:12:17 +03:00
Ilya Fedin
21133abe13 Fix 30s hang in case ibus portal couldn't be started 2020-11-12 15:51:00 +03:00
Ilya Fedin
91a2ec225a Add support for open with on linux 2020-11-09 11:23:01 +03:00
Ilya Fedin
3a45957ceb Set parent window ID for portal autostart dialog 2020-11-09 11:19:03 +03:00
Ilya Fedin
acaf8e4931 Use g_filename_to_uri 2020-11-09 11:19:03 +03:00
Ilya Fedin
876c57dcfb Fix getting FileChooser portal version 2020-11-09 11:19:03 +03:00
Ilya Fedin
f980cade39 Use static QFile methods in linux platform code 2020-11-09 11:19:03 +03:00
Ilya Fedin
3d18d28dc5 Use kIconName on icon creating 2020-11-09 11:19:03 +03:00
Ilya Fedin
e04598835b Move _monitorRect and _monitorLastGot to psDesktopRect method 2020-11-09 11:19:03 +03:00
Ilya Fedin
eee3049fdd Remove definitions of unused psLocalServerPrefix and psInitLogs 2020-11-09 11:19:03 +03:00
John Preston
71de246411 Disable Linux GLIBC wraps for special builds. 2020-11-06 11:21:34 +03:00
John Preston
74d2313784 Build Linux version with Qt 5.15.1 in CentOS 7 docker. 2020-11-06 11:21:34 +03:00
Ilya Fedin
f7dcf6ce81 Hide IsXDGDesktopPortalPresent in a private namespace 2020-11-06 11:20:47 +03:00
Ilya Fedin
6c023084d9 Move the excluding portal checks to UseXDGDesktopPortal 2020-11-06 11:20:47 +03:00
Ilya Fedin
f521275acc Fix AreQtPluginsBundled to include static binary 2020-11-06 09:57:47 +03:00
Ilya Fedin
aec2b8df7e Fix choosing directories in snap and flatpak 2020-11-06 09:48:42 +03:00
Ilya Fedin
2b39da483b Fix IBus portal service name 2020-11-05 14:38:41 +03:00
Ilya Fedin
d9711f8ebd QDir::tempPath already has fallback to /tmp 2020-11-05 14:38:25 +03:00
Ilya Fedin
ede7ad1a4c Remove TDESKTOP_FORCE_PANEL_ICON variable since tdesktop gets current icon theme just fine now 2020-11-05 14:38:03 +03:00
Ilya Fedin
55167ea95b Handle snap icon problem in snapcraft.yaml rather than in code 2020-11-05 14:38:03 +03:00
Ilya Fedin
44c24f9fff Fix TDESKTOP_USE_PORTAL on gtk environments 2020-11-02 10:20:53 +03:00
Ilya Fedin
204a08df14 Add a cheat code to install launcher on Linux 2020-11-02 10:17:24 +03:00
Ilya Fedin
03c2fc2c48 Use ibus portal whenever it present 2020-11-01 18:28:52 +03:00
John Preston
8b96f4c214 Move Media::Clip::Reader and FileLocation to td_ui. 2020-10-30 18:32:18 +03:00
Ilya Fedin
bbc59c1a99 Use Launcher::initHook on Linux 2020-10-30 11:52:10 +03:00
Ilya Fedin
9b99bb172a Make methods called from static methods private 2020-10-30 11:30:03 +03:00
Ilya Fedin
af6b07b780 Use crl::on_main in MainWindow::sniSignalEmitted 2020-10-30 11:30:03 +03:00
Ilya Fedin
d73d3cd43d Implement ShowWindowMenu for XCB 2020-10-30 11:29:02 +03:00
Ilya Fedin
8f5b136003 Implement possibility to hide taskbar icon on Linux 2020-10-30 11:27:42 +03:00
Ilya Fedin
a38b4f039a Use some methods from lib_base 2020-10-30 10:52:49 +03:00
Ilya Fedin
3742db2b91 Use portals via glib to open urls & files in snap 2020-10-28 09:57:46 +03:00
Ilya Fedin
152f1ef17f Use Core::UpdaterDisabled where a check is for installed or not 2020-10-28 09:57:10 +03:00
Ilya Fedin
41e0e4fba7 Use glib to open files & urls 2020-10-27 17:39:37 +03:00
Ilya Fedin
9ab221d4c9 Remove Platform:: where is not needed in linux platform files
Fix lines length in notifications_manager_linux.cpp
2020-10-27 17:37:33 +03:00
Ilya Fedin
022fc9a779 Fix gtk dialog condition + make it more readable 2020-10-27 17:37:33 +03:00
Ilya Fedin
f749647567 Check Qt version in runtime in CanOpenDirectoryWithPortal
It is not guaranteed that app is running with the same Qt version that was compiled
2020-10-26 14:58:06 +03:00
Ilya Fedin
77e1b9f156 Change socket path length condition to >=
Looks like 108 is the length including \0, therefore actual limit is 107
2020-10-24 09:10:16 +03:00
23rd
367b028094 Moved contacts box preparing to single place. 2020-10-23 13:31:24 +03:00
Ilya Fedin
4f2b0531f8 Replace GDBusProxy with GDBusConnection in NotificationData 2020-10-23 11:29:35 +03:00
Ilya Fedin
ca67ac913f Check for KDE portal backend when using portals on KDE 2020-10-23 11:28:18 +03:00
Ilya Fedin
4033a091b5 Hide mark as read button in notifications when app is pass-code locked 2020-10-23 11:25:18 +03:00
Ilya Fedin
0179a2ca10 Rename InstallMainDesktopFile to InstallLauncher 2020-10-23 11:25:18 +03:00
Ilya Fedin
f58874572d Check actual socket path length rather than InSnap/InFlatpak 2020-10-23 11:25:18 +03:00
Ilya Fedin
3f6399f13d Log getting GTK settings 2020-10-21 10:57:40 +03:00
Ilya Fedin
2aa0b674cd Use new XCB methods from lib_base 2020-10-16 16:12:38 +03:00
Ilya Fedin
093fcc3821 Subscribe to StatusNotifierHostRegistered signal 2020-10-07 13:06:06 +03:00
Ilya Fedin
6f89598a7b Clean old attempts to register url scheme on scheme registration 2020-10-07 12:55:34 +03:00
Ilya Fedin
638ea3111f Fallback to D-Bus methods if XCB-based LastUserInputTime failed 2020-10-05 10:10:40 +03:00
Ilya Fedin
a0af748fc5 Update SNI state even if tray is deactivated 2020-10-02 19:19:16 +03:00
John Preston
f3a2460a54 Version 2.4.1: Fix build for Linux. 2020-10-01 20:06:00 +03:00
Ilya Fedin
1d24d29afa Little cleanup for Linux platform code & build
CheckCXXSourceCompiles is not needed anymore

Material wayland decorations could be checked just with IsQtPluginsBundled
2020-10-01 16:34:01 +03:00
Ilya Fedin
0536a479f9 Use startSystemMove/startSystemResize instead of platform code on Wayland with Qt 5.15 2020-10-01 16:30:53 +03:00
Ilya Fedin
7fef7e6315 Don't add shadow on Wayland
It was implemented like a hack and worked like a hack... Looks like it is better to wait until Qt give a way to create shadows.
2020-10-01 16:30:53 +03:00
Ilya Fedin
10012d6b31 Handle launcher basename compile-time for snap
Just like for flatpak
2020-10-01 10:54:42 +03:00
Ilya Fedin
6805085bbc Use unique desktop file name for static binary 2020-09-29 18:54:01 +03:00
Ilya Fedin
4c2779bbaf Fix saving maximized state on Linux 2020-09-29 18:25:57 +03:00
Ilya Fedin
70c993774a Get rid of redudant cmake options 2020-09-29 18:24:16 +03:00
Ilya Fedin
0cd68f866d Get icon theme from gtk if qt5ct is unconfigured 2020-09-20 16:51:01 +03:00
Ilya Fedin
242ced4022 Write icon theme names to debug log 2020-09-20 16:51:01 +03:00
Ilya Fedin
8fd1253266 GNOME Wayland doesn't support native decorations 2020-09-10 19:39:21 +03:00
Ilya Fedin
6635d03818 Check if xcb-screensaver extension present 2020-08-30 17:00:43 +04:00
Ilya Fedin
c77f1bf082 Add UnsetWindowExtents method 2020-08-30 17:00:43 +04:00
Ilya Fedin
3c8c059447 Eliminate the need of Q_OBJECT in main_window_linux and main_window_win 2020-08-30 17:00:43 +04:00
Ilya Fedin
ea8e256a23 Revert "Revert "Add main window shadow for Linux""
This reverts commit b7f5cfe083.
2020-08-30 17:00:43 +04:00
Ilya Fedin
2f2de84b43 Fix d-bus type in MutterDBusLastUserInputTime 2020-08-30 16:57:51 +04:00
John Preston
b7f5cfe083 Revert "Add main window shadow for Linux"
This reverts commit d02092f09e.

Conflicts:
	Telegram/SourceFiles/mainwindow.cpp
	Telegram/SourceFiles/platform/linux/specific_linux.cpp
	Telegram/SourceFiles/window/main_window.cpp
2020-08-23 16:38:49 +04:00
Ilya Fedin
6dfefa3f21 g_message is a more appropriate log level for some messages 2020-08-18 08:16:17 +04:00
Ilya Fedin
eaae7b1d03 Decrease indentation in XCBLastUserInputTime 2020-08-18 08:16:17 +04:00
Ilya Fedin
d02092f09e Add main window shadow for Linux 2020-08-18 08:16:17 +04:00
Ilya Fedin
1dcbb103a8 Move gtk clibpboard to linux_libs 2020-08-15 17:43:28 +04:00
Ilya Fedin
47673bba50 Move cExeName checks 2020-08-15 17:43:28 +04:00
Ilya Fedin
580e6baee6 Get rid of redudant fontconfig hack 2020-08-15 17:43:28 +04:00
Ilya Fedin
f56af090e0 Use GAppInfo instead of xdg-mime
This makes registering custom scheme distribution-compatible
2020-08-15 17:43:28 +04:00
Ilya Fedin
95c0c400c7 Use QProcess instead of system()
Use g_get_home_dir since it already uses both $HOME and passwd
2020-08-15 17:43:28 +04:00
Ilya Fedin
170ec16f39 Remove outdated snap autostart hack 2020-08-15 17:43:28 +04:00
Ilya Fedin
786bedf271 Disable Qt's integration mechanism on GTK-based DE to avoid early GTK loading
This also removes TDESKTOP_USE_GTK_FILE_DIALOG since it doesn't forces GTK dialog for anyone and there is no reason to leave it

TDESKTOP_DISABLE_GTK_INTEGRATION can be also tested via action now
2020-08-15 17:43:28 +04:00
Ilya Fedin
1de1747c38 Fix length of some lines in specific_linux and main_window_linux 2020-08-15 17:43:28 +04:00
Ilya Fedin
5dad293335 Add warnings about some build options and environment variables 2020-08-15 17:43:28 +04:00
Ilya Fedin
e4ac70090e Use GDBus to send notifications to avoid Q_OBJECT 2020-08-15 17:43:28 +04:00
John Preston
b703f4e555 Fix build on Linux. 2020-08-11 18:21:40 +04:00
Ilya Fedin
449fa0ef2c Don't focus parent window after opening file dialog 2020-08-11 10:57:11 +04:00
Ilya Fedin
dc9d0aae54 Add support for showing window menu on Wayland 2020-08-11 10:56:29 +04:00
Ilya Fedin
252bdd2353 TDESKTOP_DISABLE_DBUS_INTEGRATION -> DESKTOP_APP_DISABLE_DBUS_INTEGRATION 2020-08-11 10:55:50 +04:00
Ilya Fedin
2b89700f66 libwayland headers are needed only with Qt < 5.13 2020-07-23 14:29:56 +04:00
Ilya Fedin
ab95751a66 Make gdk backend limit more permissive 2020-07-23 14:29:56 +04:00
Ilya Fedin
841908fe31 Read decoration layout property from gtk 2020-07-23 14:29:56 +04:00
John Preston
8c4e8212cd Add 'respect system dark mode' checkbox. 2020-07-22 17:18:17 +04:00
Ilya Fedin
c24da4c3df Don't generate 64px tray icon since badge counter generator doesn't support it 2020-07-22 10:33:12 +04:00
Ilya Fedin
47a237c924 Implement system-based dark mode for Windows and Linux 2020-07-22 10:32:56 +04:00
Ilya Fedin
ba50393e86 Update icon theme on the fly 2020-07-16 07:07:33 +04:00
Ilya Fedin
c61cabb075 Make qt_make_filter_list a part of file_utilities_linux.cpp 2020-07-13 06:53:45 +04:00
Ilya Fedin
a6fe5c08ad Add a method to get flatpak ID 2020-07-13 06:53:45 +04:00
Ilya Fedin
256e976167 Hide ProcessNameByPID and RealExecutablePath into a private namespace 2020-07-13 06:53:45 +04:00
Ilya Fedin
e081ed4b4a Follow device pixel ratio in TrayIconFile 2020-07-13 06:53:45 +04:00
Ilya Fedin
b587328fed Add support for custom titlebar on Linux with Qt < 5.15 2020-07-12 23:19:05 +04:00
Ilya Fedin
2fd5771c3d Add support for org.gnome.Mutter.IdleMonitor 2020-07-12 22:19:44 +04:00
Ilya Fedin
59b521d666 Implement xcb-based LastUserInputTime method 2020-07-12 22:19:44 +04:00
John Preston
f10b2194e6 Add option for a native window frame.
Fixes #2958.
2020-07-07 21:34:25 +04:00
Sean Wei
212944d89c Fix format 2020-07-02 11:32:17 +04:00
Ilya Fedin
dd76d54aeb Fix build with TDESKTOP_DISABLE_GTK_INTEGRATION 2020-06-30 22:13:36 +04:00
John Preston
613a2f358a Fix clearing session notifications. 2020-06-30 11:52:59 +04:00
Ilya Fedin
90af3d295b Always fallback to gtk icon theme
To inherit icon theme even on WM-based environments
2020-06-30 10:23:07 +04:00
Ilya Fedin
0ede4bba72 Unity doesn't support _NET_WM_MOVERESIZE 2020-06-29 19:17:06 +04:00
Ilya Fedin
916601a52c Don't request IsStatusNotifierHostRegistered when SNI become available
To avoid situations when StatusNotifierItem registers icon, but tdesktop assumes that there are still no SNI
2020-06-29 16:58:00 +04:00
Ilya Fedin
a726c6411b Don't use custom notificaions on Wayland even with TDESKTOP_DISABLE_DBUS_INTEGRATION 2020-06-29 16:53:50 +04:00
Ilya Fedin
bb8f9a1b7f Link to gtk3 without QLibrary if DESKTOP_APP_USE_PACKAGED is defined 2020-06-29 16:27:45 +04:00
Ilya Fedin
4922768086 Don't use QLibrary for glib 2020-06-29 16:27:45 +04:00
Ilya Fedin
806f2e0b50 Check for all needed gtk functions for gtk clipboard 2020-06-29 16:27:45 +04:00
Ilya Fedin
d319c85c57 Don't load another gtk version if gtk_init_check was called 2020-06-29 16:27:45 +04:00
John Preston
9703f7460a Fix build on Linux. 2020-06-26 12:27:54 +04:00
John Preston
325840703e Fix launching with a passcode on macOS. 2020-06-26 11:51:05 +04:00
John Preston
d8a2b391a3 Use Main::Session::uniqueId in notifications. 2020-06-24 13:05:56 +04:00
John Preston
e7b8a52278 Move terms lock from Core::App to Session. 2020-06-24 11:56:16 +04:00
23rd
e318a7d65f Simplified ranges::find_if with ranges::any_of and ranges::none_of. 2020-06-23 21:53:43 +04:00
John Preston
997913be25 One Window::Notifications system for all sessions. 2020-06-23 21:53:42 +04:00
John Preston
83538675ce Move a lot of settings to Core::Settings. 2020-06-23 21:53:42 +04:00
John Preston
357caf8007 Keep separate MTP::Config's for separate accounts. 2020-06-23 21:53:41 +04:00
John Preston
bc144377c0 Support logout of a secondary account. 2020-06-23 21:53:41 +04:00
John Preston
ad4afe9293 Move session data localstorage -> storage_account. 2020-06-23 21:53:39 +04:00
Ilya Fedin
06a4480520 Drop unneeded GTK methods 2020-06-23 21:29:18 +04:00
Ilya Fedin
9a65481e9d Unset QT_STYLE_OVERRIDE instead of forcing Fusion
To don't break styling on KDE
2020-06-23 21:23:47 +04:00
Ilya Fedin
3a91003eea Use gtk clipboard when available to avoid https://bugreports.qt.io/browse/QTBUG-56595 2020-06-17 20:34:47 +04:00
Ilya Fedin
56de3194ef Never use custom notifications on Wayland since there are no positioning API 2020-06-17 20:32:50 +04:00
Ilya Fedin
e009ac026d Update snap to core20 2020-06-09 19:01:35 +04:00
Ilya Fedin
d45e74619d Use Platform::IsWayland from lib_base 2020-06-03 11:43:55 +04:00
Ilya Fedin
d92b5eebcc Restore X error handler just like qgtk3 2020-06-03 11:31:34 +04:00
Ilya Fedin
5c6b4d95b0 Suppress warning about transient parent when opening gtk file dialog 2020-06-03 11:31:34 +04:00
Ilya Fedin
0fbec5eba1 Use QVersionNumber to compare version in native notifications 2020-06-03 11:31:34 +04:00
Ilya Fedin
ab13d9bdaf Skip empty parts in QT_QPA_PLATFORMTHEME 2020-06-03 11:31:34 +04:00
Ilya Fedin
0165e31ca7 Never use custom code for portal detecting in flatpak 2020-06-03 11:31:34 +04:00
Ilya Fedin
c776f81dc7 Add support for choosing directories via xdg-desktop-portal 2020-06-03 11:31:34 +04:00
Ilya Fedin
e098922a4b Add Platform::AutostartSupported 2020-06-01 18:25:21 +04:00
Ilya Fedin
413ddf285e Fix crash in gtk file dialog on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin
7ac78be984 Load gtk2 even on Wayland 2020-06-01 18:22:53 +04:00
Ilya Fedin
4c546156da Remove duplicate log line 2020-06-01 18:22:53 +04:00
Ilya Fedin
10b169f9f6 Make not supported errors static 2020-06-01 18:19:34 +04:00
Ilya Fedin
c83b8d4043 Fix naming of static variables 2020-06-01 18:19:34 +04:00
Ilya Fedin
1fc2b19c94 Add Cinnamon sound settings command 2020-06-01 18:19:34 +04:00
Ilya Fedin
fb97940cac Rename SandboxAutostart to PortalAutostart 2020-06-01 18:19:34 +04:00
Ilya Fedin
16c38b54e2 Rename InSandbox to InFlatpak 2020-06-01 18:19:34 +04:00
Ilya Fedin
7f29f57c3d Use custom gtk file dialog only on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin
1fb1d57a27 Get system icon theme on gtk-based DEs 2020-06-01 18:19:34 +04:00
Ilya Fedin
47d7bd95ae Add a method to check if gtk integration is forced 2020-06-01 18:19:34 +04:00
John Preston
b7aa60bedf Fix build for Linux. 2020-06-01 18:09:34 +04:00
John Preston
d5b3fa017b Fix build for macOS. 2020-06-01 18:09:34 +04:00
Ilya Fedin
1504136828 Don't spam logs if there are no dbus 2020-05-26 07:24:18 +04:00
Ilya Fedin
4c1f83daca Add a check for bundled Qt plugins 2020-05-24 10:57:37 +04:00
John Preston
6f760d513e Add a checkbox to disable taskbar flash.
Also add ability to set urgent flag for the window on Linux.

Fixes #223, fixes #897, fixes #906.
2020-05-12 14:16:24 +04:00
Ilya Fedin
d1d1f83881 Remove outdated LIBGL_ALWAYS_INDIRECT hack 2020-05-08 12:54:21 +04:00
Ilya Fedin
13c2d6ff72 Detect global menu at runtime 2020-05-05 09:54:35 +04:00
Ilya Fedin
5180d31b40 Fix decoration applying and trigger repainting on update
For some reason this is needed for newer Qt in flatpak
2020-05-02 16:29:00 +04:00
Ilya Fedin
161e51757c Change color of wayland decoration according to theme 2020-05-01 12:26:10 +04:00
Ilya Fedin
46d4b03d49 Fix freeze in notifications settings when notification daemon is unavailable 2020-05-01 12:15:01 +04:00
Ilya Fedin
95b4f56b86 Don't use QDesktopServices::openUrl on snap 2020-05-01 12:06:01 +04:00
Ilya Fedin
7f890122e6 Add methods to detect appimage, static binary and forced gtk dialog 2020-04-26 12:28:34 +04:00
Ilya Fedin
7bc86cc9af Fix directory opening with portal and use them by default with KDE 2020-04-24 14:33:26 +04:00
Ilya Fedin
41d39012d2 Synchronize AppMenu availability check with Qt 2020-04-21 14:06:03 +04:00
Ilya Fedin
ed91c07f99 Restore the old behavior with fallback fontconfig configuration
With current code fallback works only through time and replaces the config even if it is changed by the user.

This commit fixes that.
2020-04-13 10:49:30 +04:00
Ilya Fedin
a1a7399023 Don't remove SNI object when SNI is lost 2020-04-13 10:43:37 +04:00
John Preston
0d58f1c9fa Try system font config once in snap build. 2020-03-30 12:18:50 +04:00
Ilya Fedin
86b9927965 Log global menu usage 2020-03-29 14:17:11 +04:00
Ilya Fedin
aa4968faaa Re-use fontconfig fallback code in snap 2020-03-29 14:14:56 +04:00
Ilya Fedin
13e8b60d6c Don't recreate tray icon if it is disabled 2020-03-24 17:21:00 +04:00
Ilya Fedin
d2291f5b17 Fix panel icon forcing 2020-03-19 01:02:15 +04:00
Ilya Fedin
9823615a84 Check if icon has desired size when saving 2020-03-16 16:57:22 +04:00
Ilya Fedin
d47e94ea4d Fallback to launcher basename if FLATPAK_ID variable is empty 2020-03-16 13:04:52 +04:00
Ilya Fedin
da926d7f10 Disable SNI tray icon name setting in snap
Otherwise there are a dummy icon when tray counter is disabled
2020-03-16 13:03:53 +04:00
Ilya Fedin
99a8c93ac1 Fix build with gcc 9 2020-03-16 13:00:16 +04:00
John Preston
fec6a8dd96 Beta version 1.9.20: Fix build without dbus. 2020-03-14 16:13:33 +04:00
Ilya Fedin
46445e0542 Implement global menu on Linux 2020-03-14 15:32:10 +04:00
Ilya Fedin
5f33abd391 Change tray implementation on demand 2020-03-14 15:26:13 +04:00
Ilya Fedin
75d54adfce Add TDESKTOP_FORCE_PANEL_ICON environment variable for possibility to use system icon even if it is not detected 2020-03-13 11:00:09 +04:00
Ilya Fedin
ba5d9eda2d Minimize dbus requests 2020-03-11 11:43:14 +04:00
Ilya Fedin
5927e8272c Convert TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION to runtime environment variable 2020-03-09 11:02:45 +04:00
Ilya Fedin
7ac4c6e479 Add mark as read feature to linux native notifications 2020-03-06 18:39:34 +04:00
Ilya Fedin
fdf16d0aea Fix notification daemon detection on KDE
Minimize usage of QDBusInterface

Log the whole notification daemon information
2020-03-06 18:39:34 +04:00
Ilya Fedin
7aadaca62e Implement SkipAudio and SkipToast on Linux 2020-03-06 18:29:57 +04:00
Ilya Fedin
3fb6bbeae4 Optimize icon regeneration 2020-03-06 18:28:56 +04:00
Ilya Fedin
7202ffca76 Remove unneeded TrayIconFileTemplate function
Use /.flatpak-info instead of deprecated /run/user/$UID/flatpak-info

Improve indentation in UseXDGDesktopPortal and IsAppIndicator

Remove unneeded NeedTrayIconFile and rename IsAppIndicator to IsIndicatorApplication

Include only needed part of QtDBus in main_window_linux.cpp

Remove usage of QDBusInterface from SandboxAutostart and IsSNIAvailable

Don't check dbus activatable services in IsIndicatorApplication

Move XEmbed menu initialization to initTrayMenuHook, tray availability check to initHook

Don't create unneeded file for tooltip icon, since indicator-application doesn't support tooltips

Passthrough counter from updateIconCounters

Suppress log errors for LastUserInputTime on GNOME

Set applcation name and icon name for pulseaudio
2020-03-06 18:28:56 +04:00
Ilya Fedin
5c89dfad85 Implement LastUserInputTime on Linux
This is a dbus implementation, ideally a X11 implementation should be added as a fallback to get it work on non-mainstream DEs (and WMs)
2020-03-03 18:39:31 +04:00
Ilya Fedin
57b76e3f00 Remove usage of QDBusInterface from non-class methods in Linux native notifications 2020-03-02 11:22:36 +04:00
Ilya Fedin
7bd0598555 Unified function to detect icon name on Linux 2020-02-27 15:17:32 +04:00
Ilya Fedin
3b300f23e1 Independent check for image in Linux native notifications 2020-02-27 12:23:56 +04:00
Ilya Fedin
8b704f9bd7 Fix escaping in linux launcher creating 2020-02-27 11:51:28 +04:00
John Preston
3b327d9397 Fix launching with data in ~/.TelegramDesktop
Regression was introduced in 60612635ef.

Fixes #7289.
2020-02-26 20:13:40 +04:00
Ilya Fedin
2b0e62dafe Follow hidding reply setting in native notifications on Linux, use system icon 2020-02-24 21:00:25 +04:00
Ilya Fedin
9979c220ce Multiple sizes for linux tray icon 2020-02-24 19:57:42 +04:00
Ilya Fedin
db2aa7000a Fallback to non-panel icon when tray counter is disabled 2020-02-21 18:25:08 +04:00
Ilya Fedin
5bdc0db9e2 Generalize backward compatibility of linux launcher 2020-02-21 18:12:48 +04:00
Ilya Fedin
ca1623f34a Use XDG Desktop Portal only when variable is set 2020-02-21 18:11:24 +04:00
Ilya Fedin
9d0ae61ee0 Revert tray icon size to 22 on Linux (except KDE) and fix tray counter disabling in KDE 2020-02-18 11:37:17 +04:00
John Preston
a88423a33f Fix bad window rendering with maximize-on-launch.
I have no idea why MainWindow is ruined completely in case you call
MainWindow::show, MainWindow::setWindowState(maximized) and then
in the same context (without crl::on_main) create full screen viewer.
2020-02-12 12:09:17 +04:00
Ilya Fedin
3574a9c874 Fix lost qgetenv in GetLauncherBasename 2020-02-11 13:14:22 +04:00
Ilya Fedin
e62f727135 Fix creating of autostart launcher in snap 2020-02-10 19:30:41 +04:00
Ilya Fedin
77719750ee Fix name of the snap desktop file
Use new switch for GSL
2020-02-10 15:34:03 +04:00
Ilya Fedin
6206b6f843 Adapt indicator-application check for sandboxed environments
Fix quality loss in the tray icon image

Fix window showing by clicking on the tray icon on macOS

Fix tray icon displaying on KDE
2020-02-10 15:09:47 +04:00
Kai Uwe Broulik
9e3fa2e4bc Check action id when invoked
Makes it more resilient
2020-02-10 14:45:07 +04:00
Ilya Fedin
3b4dfa1381 Use LXQt's StatusNotifierItem implementation instead of appindicator 2020-02-05 18:38:34 +04:00
John Preston
28a567986d Try linking some libs dynamically on Linux. 2020-01-31 16:33:35 +03:00
Ilya Fedin
2807c5ef19 Use system icon theme and increase icon size 2020-01-31 16:03:41 +03:00
Ilya Fedin
0477bda929 Use XDG Desktop Portal for file dialog 2020-01-31 16:02:11 +03:00
Ilya Fedin
d80b3fda7d Fix duplicate object path in SandboxAutostart and add some logging 2020-01-31 15:47:44 +03:00
Ilya Fedin
a831c1703a Split launcher filename detection to a function 2020-01-31 15:46:39 +03:00
John Preston
74d848311b Replace str_const with base::const_string. 2020-01-29 12:47:50 +03:00
Ilya Fedin
9536a3c98e Use packaged build in the snap package 2020-01-28 20:38:12 +03:00
Ilya Fedin
05eabfd539 Add autostart support for linux 2020-01-28 16:44:27 +03:00
Ilya Fedin
74942cd06e Use QDBusConnection::connect to fix signal connection on old distributions 2020-01-28 16:43:23 +03:00
John Preston
24da40ef05 Fix -startintray on Ubuntu. 2020-01-28 11:41:05 +03:00
Ilya Fedin
1d85416434 Remove unneeded include from QtDBus notifications 2020-01-24 18:06:58 +03:00
Ilya Fedin
04cfd598e2 Use appindicator in flatpak and fix desktop environment detection, add pavucontrol-qt 2020-01-24 16:51:50 +03:00
Vitaly Zaitsev
b94c8436eb Added missing Qt header. Fixed clang build.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2020-01-24 15:35:15 +03:00
Ilya Fedin
ffe037f9f1 Fix single instance socket path for compatibility with flatpak 2020-01-23 09:58:12 +03:00
John Preston
fef90ea363 Fix build for Linux. 2020-01-21 23:32:05 +03:00
Ilya Fedin
0480611bf8 Add possibility to build without dbus 2020-01-21 23:30:47 +03:00
John Preston
48b24d12b2 Always ask for TDESKTOP_LAUNCHER_BASENAME on Linux. 2020-01-21 18:47:36 +03:00
kbroulik
b50073d281 Implement inline-reply
On supported notification servers (currently only KDE Plasma 5.18+) this
action will create a reply text field inside the notification.
2020-01-21 15:27:50 +03:00
Ilya Fedin
2298eed8bf Use QStringList::contains also 2020-01-21 11:57:52 +03:00
Nicholas Guriev
8fab9167be Use QStringList::join to print notifications capabilities 2020-01-20 14:05:00 +03:00
Ilya Fedin
0bcc4befa1 Change fc-custom.conf condition to DESKTOP_APP_USE_PACKAGED 2020-01-17 17:49:07 +03:00
John Preston
afe34121af Use MACRO_TO_STRING from lib_base. 2020-01-17 14:15:40 +03:00
Ilya Fedin
ee9336f781 Fix notification actions for Cinnamon, fix notification icon for Gnome, add support for TDESKTOP_LAUNCHER_FILENAME in notifications and fix indentation 2020-01-17 13:40:31 +03:00
John Preston
4eeac7dc18 Fix whitespace and indentation errors.
See #6672, thanks Sea-n.
2020-01-02 14:25:53 +03:00
ilya-fedin
3d36b4f866 Replace libnotify with QtDBus notification implementation (#6825) 2019-12-29 18:41:45 +03:00
John Preston
da4120bddd Fix building without glib. 2019-11-18 10:52:32 +03:00
John Preston
c961acabbc Include private header only if needed. 2019-11-18 10:52:08 +03:00
Christian Hesse
0c0c8f3584 libnotify: capabilities are not exclusive
Capabilities "actions" and "body-markup" can be available at the
same time.

Signed-off-by: Christian Hesse <mail@eworm.de>
2019-11-13 11:22:08 +03:00
John Preston
7bb23519f9 Use base::Platform::ShowInFolder. 2019-10-19 12:27:56 +04:00
John Preston
30a1bd7ba2 Use base::call_delayed. 2019-10-19 12:27:56 +04:00
John Preston
2fc9fd5887 Remove some unused code. 2019-10-19 12:27:56 +04:00
John Preston
246c45ce0e Use lib_ui from submodule. 2019-10-19 12:27:28 +04:00
John Preston
3b0bf7cb1e Move some more widgets and effects. 2019-10-01 23:59:46 +03:00
John Preston
849deb57e2 Move many widget classes to lib_ui. 2019-10-01 23:59:46 +03:00
John Preston
0c713a930a Remove app.h / facades.h from precompiled header. 2019-10-01 23:59:46 +03:00
John Preston
f463d3ec6d Divide autoupdate paths for OS versions. 2019-09-10 14:22:20 +03:00
John Preston
c9c0d74b68 Fix build for Linux. 2019-09-09 17:50:26 +03:00
John Zimmermann
fd4f384c3b Allow GDK wayland backend when Telegram is running under Wayland
and make sure that it never tries to load gtk2 under wayland, it can
lead to Telegram crashing
2019-09-09 10:25:01 +03:00
John Preston
12a020cd09 Beta version 1.8.5: Fix build for Linux. 2019-09-08 23:38:45 +03:00
John Preston
6343221d7b Remove many includes from stdafx.pch. 2019-09-06 19:31:07 +03:00
John Preston
3715fa4b1e Fix scheduled notifications on inbox read. 2019-08-30 17:06:21 +03:00
John Preston
0a4f91a53d Notify about published scheduled messages. 2019-08-29 10:01:28 +03:00
John Preston
e9ab8df737 Use QLocale::uiLanguages for system language. 2019-08-09 11:51:36 +01:00
Vitaly Lipatov
9276101809 Get language name and country name from QLocale (Linux) 2019-08-09 11:51:36 +01:00
John Zimmermann
0c3773486e linux/specific_linux.h: remove unnecessary include of execinfo 2019-08-09 11:51:35 +01:00
Konstantin Popov
b831766375 Make .desktop file search respect TDESKTOP_LAUNCHER_FILENAME 2019-08-09 11:51:35 +01:00
Nicholas Guriev
325989ed47 Fix small typo 2019-08-09 11:51:35 +01:00
John Preston
0e964b06dc Hook main queue processing to update requests. 2019-07-04 16:26:13 +02:00
John Preston
7d585ab72f Handle located groups as public. 2019-06-21 14:27:46 +02:00
John Preston
87fc066e67 Use tr:: instead of lang(). 2019-06-21 11:06:51 +02:00
John Preston
1225c9194a Fix window title on Windows 7.
Regression was introduced in dd68c7e90.

Fixes #6106.
2019-06-07 14:46:07 +03:00
John Preston
0868a9f7b9 Use Controller::account in MainWindow. 2019-06-06 14:59:00 +03:00
John Preston
dd68c7e90d Use Window::Controller to manage MainWindow. 2019-06-06 14:20:21 +03:00
John Preston
dcdaee3db2 Beta version 1.7.4: Fix build for Xcode. 2019-06-04 21:13:47 +03:00
John Preston
1fb529803e Add an 'Update your OS' top bar.
Set EOL for Windows XP / Vista version at September 1, 2019.
2019-06-04 14:28:13 +03:00
John Preston
9c613fe2f7 Move system versions to platform/platform_info. 2019-06-04 14:23:14 +03:00
John Preston
45a6985df5 Force GTK file chooser only in the official builds. 2019-05-31 12:03:10 +03:00
23rd
9059b2e617 Fixes for Audio Player in touchbar.
- Removed unused Platform::SetTouchBar.
 - Added rpl::event_stream in Media Player Instance for handle closing player.
 - Fixed hiding of touchbar when last track is ended.
 - Fixed display of time when last track is ended.
 - Slightly refactored.
2019-05-27 15:34:58 +02:00
23rd
58604406f8 Added initial implementation touchbar. 2019-05-27 15:34:54 +02:00