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
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
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
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
79cc797aff
Fix -Wunused-variable warnings
2021-07-13 21:43:34 +03:00
Ilya Fedin
17cee8ec56
Set service name for lib_base and lib_webview gtk integration
2021-07-07 12:16:01 +03:00
Ilya Fedin
b335741f99
Use gsl::finally to pop thread context where appropriate
2021-07-02 20:11:28 +03:00
Ilya Fedin
551ea7d879
Move GTK integration out of process with D-Bus
2021-07-02 00:59:36 +03:00
Ilya Fedin
47e32bebe4
Remove not really needed gtk scale factor query
2021-07-01 22:13:50 +03:00
Ilya Fedin
d42fb6d1b9
Switch from mallocng to jemalloc
...
Now it's known how to make it free the memory in an expected manner and it's better maintained
2021-07-01 22:13:20 +03:00
Ilya Fedin
8d75078a42
Use Glib::MainLoop instead of QEventLoop in glib code
2021-06-29 15:10:08 +03:00
Ilya Fedin
a55b41faa1
Provide a list of shell integrations in QT_WAYLAND_SHELL_INTEGRATION
2021-06-20 10:39:42 +04:00
Ilya Fedin
a26d769304
Set QT_WAYLAND_SHELL_INTEGRATION to custom value
2021-06-19 08:16:38 +04:00
23rd
32e47c24b4
Moved Linux MPRIS support to lib_base.
2021-06-10 23:00:56 +03:00
Ilya Fedin
b964c681f8
Get system dark mode state asynchronously on Linux
2021-05-31 20:31:24 +03:00
Ilya Fedin
e0d6faf45b
Fix build with LTO
2021-05-19 12:26:07 +03:00
John Preston
fbe4e3f0ec
Fix build with mallocng.
2021-05-17 13:38:28 +04:00
Ilya Fedin
837485974a
Use mallocng on Linux
2021-05-17 10:35:18 +03:00
Ilya Fedin
434ef34378
Implement taskbar icon hidding on Wayland with org_kde_plasma_shell protocol
2021-05-17 10:00:01 +03:00
Ilya Fedin
680a9a7ca7
Implement parent setting for portal and gtk dialogs on Wayland via xdg-foreign-v2
2021-05-11 10:53:32 +03:00
John Preston
b1c4524612
Fix crash dump generation on Linux.
2021-05-03 17:34:33 +04:00
John Preston
7444f17c4e
Use sendfile only on Linux.
2021-05-03 14:59:24 +04:00
John Preston
434a4af9ef
Fix sendfile() arguments.
2021-05-03 12:43:36 +04:00
John Preston
3cad89f299
Fix build, add logs for sendfile().
2021-05-03 11:21:38 +04:00
Ilya Fedin
34534a9653
Use kernel accelerated sendfile to copy files on Linux
2021-05-03 09:59:58 +03:00
Ilya Fedin
b72260f420
Avoid 30s freeze when opening file dialog in broken envirionments
2021-04-30 08:43:25 +03:00
Ilya Fedin
89b11ef084
Move gtk initialization back to ThirdParty::start
2021-04-30 08:41:05 +03:00
Ilya Fedin
26d3995424
Move wayland helper to cmake_helpers
2021-04-30 08:41:05 +03:00
John Preston
b6fad35146
Improve library loading on Linux.
2021-04-29 12:05:32 +04:00
John Preston
70bf328e7d
Load wayland-client dynamically and provide functions.
2021-04-29 11:21:57 +04:00
Ilya Fedin
c87802ce65
Move GTK initialization before Qt initialization
...
To ensure Qt doesn't load GTK earlier than us and gdk_set_allowed_backends respected
2021-04-13 14:03:00 +03:00
Ilya Fedin
81d052adfc
Add a way to get dark mode state on KDE
2021-04-02 20:30:47 +03:00
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