From dd83812b29634135fa7c9533b478834f52901a9b Mon Sep 17 00:00:00 2001 From: Andreas Ringlstetter Date: Mon, 16 Feb 2026 21:51:40 +0100 Subject: [PATCH] Toogle visibility of custom title bar based on fullscreen state (#814) --- src/FloatingDockContainer.cpp | 6 ++++++ src/linux/FloatingWidgetTitleBar.cpp | 14 ++++++++++++++ src/linux/FloatingWidgetTitleBar.h | 1 + 3 files changed, 21 insertions(+) diff --git a/src/FloatingDockContainer.cpp b/src/FloatingDockContainer.cpp index 967aefa..fd4efe3 100644 --- a/src/FloatingDockContainer.cpp +++ b/src/FloatingDockContainer.cpp @@ -850,6 +850,12 @@ void CFloatingDockContainer::changeEvent(QEvent *event) this->showMaximized(); } } +#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS) + if (d->TitleBar) + { + d->TitleBar->setVisible(!(isFloating() && isFullScreen())); + } +#endif break; default: diff --git a/src/linux/FloatingWidgetTitleBar.cpp b/src/linux/FloatingWidgetTitleBar.cpp index 00e6fcd..77a631d 100644 --- a/src/linux/FloatingWidgetTitleBar.cpp +++ b/src/linux/FloatingWidgetTitleBar.cpp @@ -238,6 +238,20 @@ void CFloatingWidgetTitleBar::mouseDoubleClickEvent(QMouseEvent *event) } } +//============================================================================ +QSize CFloatingWidgetTitleBar::sizeHint() const +{ + if (isVisible()) + { + return QFrame::sizeHint(); + } + else + { + // Allow titlebar to collapse when set invisible. + return QSize(); + } +} + //============================================================================ void CFloatingWidgetTitleBar::setMaximizedIcon(bool maximized) diff --git a/src/linux/FloatingWidgetTitleBar.h b/src/linux/FloatingWidgetTitleBar.h index ad6904f..4a6ceda 100644 --- a/src/linux/FloatingWidgetTitleBar.h +++ b/src/linux/FloatingWidgetTitleBar.h @@ -59,6 +59,7 @@ protected: virtual void mouseReleaseEvent(QMouseEvent *ev) override; virtual void mouseMoveEvent(QMouseEvent *ev) override; virtual void mouseDoubleClickEvent(QMouseEvent *event) override; + virtual QSize sizeHint() const override; void setMaximizeIcon(const QIcon& Icon); QIcon maximizeIcon() const;