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