From 623c9dc41a98ef0fd18f3d7fc7794c7bfcba1470 Mon Sep 17 00:00:00 2001 From: Christoph Hohmann Date: Thu, 20 Oct 2016 15:29:43 +0200 Subject: [PATCH] UI: Fix full screen projector on screens that have reserved areas QScreen::availableGeometry() does not return the full screen size on X11 if areas of the screen are reserved by the window manager. In this case the full screen projector does not cover the whole screen. Using QScreen::geometry() instead fixes this issue. --- UI/window-basic-main.cpp | 4 ++-- UI/window-basic-settings.cpp | 2 +- UI/window-projector.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 3cfd75541..6a73ebdee 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -141,7 +141,7 @@ OBSBasic::OBSBasic(QWidget *parent) QRect windowGeometry = normalGeometry(); if (!WindowPositionValid(windowGeometry)) { - QRect rect = App()->desktop()->availableGeometry(); + QRect rect = App()->desktop()->geometry(); setGeometry(QStyle::alignedRect( Qt::LeftToRight, Qt::AlignCenter, @@ -2774,7 +2774,7 @@ static void AddProjectorMenuMonitors(QMenu *parent, QObject *target, QAction *action; QList screens = QGuiApplication::screens(); for (int i = 0; i < screens.size(); i++) { - QRect screenGeometry = screens[i]->availableGeometry(); + QRect screenGeometry = screens[i]->geometry(); QString str = QString("%1 %2: %3x%4 @ %5,%6"). arg(QTStr("Display"), QString::number(i), diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index f2b9a6217..9d9444b3b 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -1101,7 +1101,7 @@ void OBSBasicSettings::LoadResolutionLists() ui->baseResolution->clear(); for (QScreen* screen: QGuiApplication::screens()) { - QSize as = screen->availableSize(); + QSize as = screen->size(); string res = ResString(as.width(), as.height()); ui->baseResolution->addItem(res.c_str()); } diff --git a/UI/window-projector.cpp b/UI/window-projector.cpp index 1adf791b0..8cdb88f06 100644 --- a/UI/window-projector.cpp +++ b/UI/window-projector.cpp @@ -50,7 +50,7 @@ OBSProjector::~OBSProjector() void OBSProjector::Init(int monitor) { QScreen *screen = QGuiApplication::screens()[monitor]; - setGeometry(screen->availableGeometry()); + setGeometry(screen->geometry()); bool alwaysOnTop = config_get_bool(GetGlobalConfig(), "BasicWindow", "ProjectorAlwaysOnTop");