diff --git a/src/Gui/KSWidget.cpp b/src/Gui/KSWidget.cpp
--- a/src/Gui/KSWidget.cpp
+++ b/src/Gui/KSWidget.cpp
@@ -54,8 +54,12 @@
mCaptureModeLabel = new QLabel(i18n("Capture Mode"), this);
mCaptureArea = new QComboBox(this);
+ QString fullScreenLabel = QApplication::screens().length() == 1
+ ? i18n("Full Screen")
+ : i18n("Full Screen (All Monitors)");
+
if (supportedModes.contains(ImageGrabber::FullScreen))
- mCaptureArea->insertItem(1, i18n("Full Screen (All Monitors)"), ImageGrabber::FullScreen);
+ mCaptureArea->insertItem(1, fullScreenLabel, ImageGrabber::FullScreen);
if (supportedModes.contains(ImageGrabber::CurrentScreen))
mCaptureArea->insertItem(2, i18n("Current Screen"), ImageGrabber::CurrentScreen);
if (supportedModes.contains(ImageGrabber::ActiveWindow))
diff --git a/src/PlatformBackends/KWinWaylandImageGrabber.h b/src/PlatformBackends/KWinWaylandImageGrabber.h
--- a/src/PlatformBackends/KWinWaylandImageGrabber.h
+++ b/src/PlatformBackends/KWinWaylandImageGrabber.h
@@ -30,7 +30,7 @@
explicit KWinWaylandImageGrabber(QObject * parent = nullptr);
~KWinWaylandImageGrabber() override;
- QVector supportedModes() const override { return {FullScreen, CurrentScreen, /*ActiveWindow, */WindowUnderCursor, TransientWithParent/*, RectangularRegion*/}; }
+ QVector supportedModes() const override;
bool onClickGrabSupported() const override;
protected:
diff --git a/src/PlatformBackends/KWinWaylandImageGrabber.cpp b/src/PlatformBackends/KWinWaylandImageGrabber.cpp
--- a/src/PlatformBackends/KWinWaylandImageGrabber.cpp
+++ b/src/PlatformBackends/KWinWaylandImageGrabber.cpp
@@ -166,3 +166,12 @@
close(pipeFds[1]);
}
+
+QVector KWinWaylandImageGrabber::supportedModes() const
+{
+ if (QApplication::screens().count() == 1) {
+ return {FullScreen, WindowUnderCursor, TransientWithParent};
+ }
+
+ return {FullScreen, CurrentScreen, WindowUnderCursor, TransientWithParent};
+}
diff --git a/src/PlatformBackends/X11ImageGrabber.h b/src/PlatformBackends/X11ImageGrabber.h
--- a/src/PlatformBackends/X11ImageGrabber.h
+++ b/src/PlatformBackends/X11ImageGrabber.h
@@ -50,7 +50,7 @@
explicit X11ImageGrabber(QObject * parent = nullptr);
~X11ImageGrabber() override;
- QVector supportedModes() const override { return {FullScreen, CurrentScreen, ActiveWindow, WindowUnderCursor, TransientWithParent, RectangularRegion}; }
+ QVector supportedModes() const override;
bool onClickGrabSupported() const override;
protected:
diff --git a/src/PlatformBackends/X11ImageGrabber.cpp b/src/PlatformBackends/X11ImageGrabber.cpp
--- a/src/PlatformBackends/X11ImageGrabber.cpp
+++ b/src/PlatformBackends/X11ImageGrabber.cpp
@@ -751,3 +751,12 @@
return QPoint(pointerReply->root_x, pointerReply->root_y);
}
+
+QVector X11ImageGrabber::supportedModes() const
+{
+ if (QApplication::screens().count() == 1) {
+ return {FullScreen, ActiveWindow, WindowUnderCursor, TransientWithParent, RectangularRegion};
+ }
+
+ return {FullScreen, CurrentScreen, ActiveWindow, WindowUnderCursor, TransientWithParent, RectangularRegion};
+}