Have the wayland build-time toggle affect the native window title
This commit is contained in:
		
							parent
							
								
									17e8e0a7b0
								
							
						
					
					
						commit
						0563e1f878
					
				
					 3 changed files with 41 additions and 10 deletions
				
			
		| 
						 | 
				
			
			@ -824,6 +824,7 @@ PRIVATE
 | 
			
		|||
    platform/linux/notifications_manager_linux.h
 | 
			
		||||
    platform/linux/specific_linux.cpp
 | 
			
		||||
    platform/linux/specific_linux.h
 | 
			
		||||
    platform/linux/window_title_linux.cpp
 | 
			
		||||
    platform/linux/window_title_linux.h
 | 
			
		||||
    platform/mac/file_utilities_mac.mm
 | 
			
		||||
    platform/mac/file_utilities_mac.h
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										38
									
								
								Telegram/SourceFiles/platform/linux/window_title_linux.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								Telegram/SourceFiles/platform/linux/window_title_linux.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
/*
 | 
			
		||||
This file is part of Telegram Desktop,
 | 
			
		||||
the official desktop application for the Telegram messaging service.
 | 
			
		||||
 | 
			
		||||
For license and copyright information please follow this link:
 | 
			
		||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 | 
			
		||||
*/
 | 
			
		||||
#include "platform/linux/window_title_linux.h"
 | 
			
		||||
 | 
			
		||||
#include "platform/linux/linux_desktop_environment.h"
 | 
			
		||||
#include "base/platform/base_platform_info.h"
 | 
			
		||||
 | 
			
		||||
namespace Platform {
 | 
			
		||||
namespace {
 | 
			
		||||
 | 
			
		||||
bool SystemMoveResizeSupported() {
 | 
			
		||||
#if !defined DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION || QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) || defined DESKTOP_APP_QT_PATCHED
 | 
			
		||||
	return true;
 | 
			
		||||
#else // !DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION || Qt >= 5.15 || DESKTOP_APP_QT_PATCHED
 | 
			
		||||
	return !IsWayland();
 | 
			
		||||
#endif // !DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION || Qt >= 5.15 || DESKTOP_APP_QT_PATCHED
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace
 | 
			
		||||
 | 
			
		||||
bool AllowNativeWindowFrameToggle() {
 | 
			
		||||
	return SystemMoveResizeSupported()
 | 
			
		||||
		// https://gitlab.gnome.org/GNOME/mutter/-/issues/217
 | 
			
		||||
		&& !(DesktopEnvironment::IsGnome() && IsWayland());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
object_ptr<Window::TitleWidget> CreateTitleWidget(QWidget *parent) {
 | 
			
		||||
	return SystemMoveResizeSupported()
 | 
			
		||||
		? object_ptr<Window::TitleWidgetQt>(parent)
 | 
			
		||||
		: object_ptr<Window::TitleWidgetQt>{ nullptr };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Platform
 | 
			
		||||
| 
						 | 
				
			
			@ -8,8 +8,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "platform/platform_window_title.h"
 | 
			
		||||
#include "platform/linux/linux_desktop_environment.h"
 | 
			
		||||
#include "base/platform/base_platform_info.h"
 | 
			
		||||
#include "base/object_ptr.h"
 | 
			
		||||
 | 
			
		||||
namespace Window {
 | 
			
		||||
| 
						 | 
				
			
			@ -23,14 +21,8 @@ void DefaultPreviewWindowFramePaint(QImage &preview, const style::palette &palet
 | 
			
		|||
 | 
			
		||||
namespace Platform {
 | 
			
		||||
 | 
			
		||||
inline bool AllowNativeWindowFrameToggle() {
 | 
			
		||||
	// https://gitlab.gnome.org/GNOME/mutter/-/issues/217
 | 
			
		||||
	return !(DesktopEnvironment::IsGnome() && IsWayland());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
inline object_ptr<Window::TitleWidget> CreateTitleWidget(QWidget *parent) {
 | 
			
		||||
	return object_ptr<Window::TitleWidgetQt>(parent);
 | 
			
		||||
}
 | 
			
		||||
bool AllowNativeWindowFrameToggle();
 | 
			
		||||
object_ptr<Window::TitleWidget> CreateTitleWidget(QWidget *parent);
 | 
			
		||||
 | 
			
		||||
inline bool NativeTitleRequiresShadow() {
 | 
			
		||||
	return false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue