Commit Graph

270 Commits

Author SHA1 Message Date
Ilya Fedin 9f6f7f7c9b Fix build without dbus 2021-03-21 08:59:19 +03:00
Ilya Fedin 3d1cddaca5 Add a way to change default handler in snap 2021-03-20 14:20:09 +03:00
Ilya Fedin 85ac983a27 Add MPRIS support 2021-03-18 21:55:06 +03:00
Ilya Fedin b4b80822c8 Set glib's application name and prgname 2021-03-18 07:51:57 +03:00
Ilya Fedin 0c8febce9c Avoid allocations for case-insensetive compare 2021-03-16 12:20:48 +03:00
Ilya Fedin e493ab12dc Get rid of GetLauncherFilename
Use QGuiApplication::desktopFileName directly instead
2021-03-12 15:44:37 +04:00
Ilya Fedin db0da70de6 Fix space on end of a g_warning 2021-03-11 11:19:26 +04:00
Ilya Fedin b24cba99e2 Catch ListActivatableNames errors 2021-03-10 11:22:14 +04:00
Ilya Fedin 817610ddd7 Get rid of RunShellCommand 2021-03-10 09:46:13 +04:00
Ilya Fedin 77c8ca76b7 Remove duplicate ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION in includes 2021-03-10 09:46:13 +04:00
Ilya Fedin 67cbe61879 Check if portal backend is present by absence of errors when getting portal version 2021-03-10 09:46:13 +04:00
Ilya Fedin 67eba93e29 Use gsl::finally in PortalAutostart 2021-03-10 09:46:13 +04:00
Ilya Fedin 5f1d56fbc2 Move gtk settings connections to getters 2021-03-10 08:57:16 +04:00
Ilya Fedin 092b6e7c18 Fix spaces on ends of lines 2021-03-05 13:31:56 +04:00
Ilya Fedin a29ff093f6 Fix some lines length in specific_linux 2021-03-04 12:07:54 +04:00
Ilya Fedin a2f8546033 Move remaining usage of dbus to glibmm in specific_linux 2021-03-04 12:07:54 +04:00
Ilya Fedin 580a12ad7f Wait for response in PortalAutostart 2021-03-04 12:07:54 +04:00
Ilya Fedin 8042a83fd2 Move glib usage to glibmm 2021-03-04 12:07:54 +04:00
John Preston 54f06740d5 Remove some App::wnd() calls. 2021-03-03 11:29:26 +04:00
Ilya Fedin 9b88f816d6 Use new Platform::IsX11 2021-02-24 21:41:14 +04:00
Ilya Fedin 40b776befc Remove unneeded Q_DECLARE_METATYPE from specific_linux 2021-02-22 23:39:39 +04:00
Ilya Fedin 4becfe409a Add Haiku autostart & system settings support 2021-02-22 23:39:00 +04:00
Ilya Fedin 14b09e88d6 Add DESKTOP_APP_DISABLE_X11_INTEGRATION 2021-02-22 23:39:00 +04:00
Ilya Fedin 53fd3fce84 Allow initializing gtk integration before QApplication 2021-02-22 23:38:09 +04:00
Ilya Fedin bbf49b024a Fix implicit conversions from QByteArray 2021-02-19 14:15:09 +04:00
Ilya Fedin 4fde7852b1 Use qEnvironmentVariable where appropriate 2021-02-19 14:15:09 +04:00
Ilya Fedin 513054a307 Get rid of unneeded material wayland decorations 2021-02-19 14:15:09 +04:00
Ilya Fedin 15d18077b8 Use new methods from lib_ui 2021-02-19 14:15:09 +04:00
Ilya Fedin f1ee5b5704 Expose gtk integration to lib_base 2021-02-19 12:41:09 +04:00
Ilya Fedin 7977331d8b Read DESKTOPINTEGRATION variable instead of TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
Since it's widely used (by AppImages, for instance)
2021-02-17 11:12:06 +04:00
Ilya Fedin 36acf60f7e Add XDG Desktop Portal based file dialog implementation from Qt
This allows to use portal dialogs more flexibly (e.g. fallback mechanism)
This also allows to have any changes we want for portal dialogs without patchig Qt

No more need to override QT_QPA_PLATFORM to use portal dialogs
2021-02-05 20:23:00 +04:00
Ilya Fedin 160cd975ce Another attempt to implement shadows on Wayland
Works only with patched Qt
2021-01-28 22:19:34 +04:00
Ilya Fedin 89ccc95023 Fix early return from Platform::ThirdParty::start on Linux 2021-01-23 16:14:22 +04:00
Ilya Fedin ea9813825d Move EscapeShell to specific_linux 2021-01-22 17:22:37 +04:00
Ilya Fedin 36b6f70613 Get rid of unneeded includes in specific_linux 2021-01-22 17:22:37 +04:00
Ilya Fedin ada22ee6cc Split GTK integration into a singleton 2021-01-22 17:22:37 +04:00
Ilya Fedin 690c5df87c Format dbus errors logging 2021-01-22 17:02:50 +04:00
Ilya Fedin bad888496c Decrease some indentation in linux platform code 2021-01-22 17:02:50 +04:00
Ilya Fedin e8edbb16ae Make notification manager creation async 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
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 f66cfb5684 Use new IsSupportedByWM XCB API from lib_base 2020-12-29 12:29:11 +04:00
Ilya Fedin e99558abeb Remove linux LastUserInputTime dependency since it's only in lib_base 2020-12-24 07:47:13 +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 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
mid-kid 49480001f7 Move IsWayland() checks into WaylandIntegration 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 e4b9900a06 Construct WindowControlsLayout without variable 2020-11-16 12:35:01 +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 3a45957ceb Set parent window ID for portal autostart dialog 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
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 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 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
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 152f1ef17f Use Core::UpdaterDisabled where a check is for installed or not 2020-10-28 09:57:10 +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
Ilya Fedin ca67ac913f Check for KDE portal backend when using portals on KDE 2020-10-23 11:28: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 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 70c993774a Get rid of redudant cmake options 2020-09-29 18:24:16 +03:00
Ilya Fedin 242ced4022 Write icon theme names to debug log 2020-09-20 16:51:01 +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 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