From e946bf533833c940349e04a1514d40c4251925af Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Tue, 12 Sep 2023 09:14:18 +0400 Subject: [PATCH] Run in background on Linux when minimization is not supported --- Telegram/SourceFiles/platform/linux/specific_linux.cpp | 8 ++++++++ Telegram/SourceFiles/platform/linux/specific_linux.h | 4 ---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index a5902e2df..ec0eb4600 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/platform/base_platform_info.h" #include "base/platform/linux/base_linux_dbus_utilities.h" #include "base/platform/linux/base_linux_xdp_utilities.h" +#include "ui/platform/ui_platform_window_title.h" #include "platform/linux/linux_desktop_environment.h" #include "platform/linux/linux_wayland_integration.h" #include "lang/lang_keys.h" @@ -534,6 +535,13 @@ bool SkipTaskbarSupported() { return false; } +bool RunInBackground() { + const auto layout = Ui::Platform::TitleControlsLayout(); + using TitleControl = Ui::Platform::TitleControl; + return !ranges::contains(layout.left, TitleControl::Minimize) + && !ranges::contains(layout.right, TitleControl::Minimize); +} + QString ExecutablePathForShortcuts() { if (Core::UpdaterDisabled()) { const auto &arguments = Core::Launcher::Instance().arguments(); diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.h b/Telegram/SourceFiles/platform/linux/specific_linux.h index 92445a933..e5e40cd2e 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.h +++ b/Telegram/SourceFiles/platform/linux/specific_linux.h @@ -24,10 +24,6 @@ inline void WriteCrashDumpDetails() { inline void AutostartRequestStateFromSystem(Fn callback) { } -inline bool RunInBackground() { - return false; -} - inline bool PreventsQuit(Core::QuitReason reason) { return false; }