diff options
Diffstat (limited to 'user/spectacle/no-wayland.patch')
-rw-r--r-- | user/spectacle/no-wayland.patch | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/user/spectacle/no-wayland.patch b/user/spectacle/no-wayland.patch new file mode 100644 index 000000000..554e64d34 --- /dev/null +++ b/user/spectacle/no-wayland.patch @@ -0,0 +1,192 @@ +From bd10239697d436caaa8aac3f4eca8aa2a5c14cac Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Fri, 18 Oct 2019 19:48:50 -0500 +Subject: [PATCH] Revert "Make QuickEditor fullscreen on Wayland" + +Allow building without Wayland libraries. + +This reverts commit 5679f7f5c9bc56e59744e9e4045dd01d7142fbfb. +--- + CMakeLists.txt | 1 - + src/CMakeLists.txt | 1 - + src/QuickEditor/QuickEditor.cpp | 18 ++---------------- + src/QuickEditor/QuickEditor.h | 8 +------- + src/SpectacleCore.cpp | 26 ++------------------------ + src/SpectacleCore.h | 7 ------- + 6 files changed, 5 insertions(+), 56 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3395c1b..06009f1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,6 @@ find_package( + NewStuff + GlobalAccel + XmlGui +- Wayland + ) + + # optional components +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6ff1b30..80e50dd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -84,7 +84,6 @@ target_link_libraries( + KF5::NewStuff + KF5::GlobalAccel + KF5::XmlGui +- KF5::WaylandClient + ) + + if(XCB_FOUND) +diff --git a/src/QuickEditor/QuickEditor.cpp b/src/QuickEditor/QuickEditor.cpp +index 41e5858..92ced06 100644 +--- a/src/QuickEditor/QuickEditor.cpp ++++ b/src/QuickEditor/QuickEditor.cpp +@@ -18,8 +18,6 @@ + */ + + #include <KLocalizedString> +-#include <KWayland/Client/plasmashell.h> +-#include <KWayland/Client/surface.h> + #include <QGuiApplication> + #include <QScreen> + #include <QtCore/qmath.h> +@@ -52,7 +50,7 @@ const int QuickEditor::magZoom = 5; + const int QuickEditor::magPixels = 16; + const int QuickEditor::magOffset = 32; + +-QuickEditor::QuickEditor(const QPixmap &thePixmap, KWayland::Client::PlasmaShell *plasmashell, QWidget *parent) : ++QuickEditor::QuickEditor(const QPixmap& thePixmap, QWidget *parent) : + QWidget(parent), + mMaskColor(QColor::fromRgbF(0, 0, 0, 0.15)), + mStrokeColor(palette().highlight().color()), +@@ -91,19 +89,7 @@ QuickEditor::QuickEditor(const QPixmap &thePixmap, KWayland::Client::PlasmaShell + + dprI = 1.0 / devicePixelRatioF(); + setGeometry(0, 0, static_cast<int>(mPixmap.width() * dprI), static_cast<int>(mPixmap.height() * dprI)); +- // TODO This is a hack until a better interface is available +- if (plasmashell) { +- using namespace KWayland::Client; +- winId(); +- auto surface = Surface::fromWindow(windowHandle()); +- if (!surface) { +- return; +- } +- PlasmaShellSurface *plasmashellSurface = plasmashell->createSurface(surface, this); +- plasmashellSurface->setRole(PlasmaShellSurface::Role::Panel); +- plasmashellSurface->setPanelTakesFocus(true); +- plasmashellSurface->setPosition(geometry().topLeft()); +- } ++ + if (config->rememberLastRectangularRegion()) { + QRect cropRegion = config->cropRegion(); + if (!cropRegion.isEmpty()) { +diff --git a/src/QuickEditor/QuickEditor.h b/src/QuickEditor/QuickEditor.h +index 8dd6586..8187995 100644 +--- a/src/QuickEditor/QuickEditor.h ++++ b/src/QuickEditor/QuickEditor.h +@@ -29,19 +29,13 @@ + + class QMouseEvent; + +-namespace KWayland { +-namespace Client { +-class PlasmaShell; +-} +-} +- + class QuickEditor: public QWidget + { + Q_OBJECT + + public: + +- explicit QuickEditor(const QPixmap &thePixmap, KWayland::Client::PlasmaShell *plasmashell, QWidget *parent = nullptr); ++ explicit QuickEditor(const QPixmap &thePixmap, QWidget *parent = nullptr); + virtual ~QuickEditor() = default; + + private: +diff --git a/src/SpectacleCore.cpp b/src/SpectacleCore.cpp +index 7024750..40417bb 100644 +--- a/src/SpectacleCore.cpp ++++ b/src/SpectacleCore.cpp +@@ -27,9 +27,6 @@ + #include <KMessageBox> + #include <KNotification> + #include <KRun> +-#include <KWayland/Client/connection_thread.h> +-#include <KWayland/Client/plasmashell.h> +-#include <KWayland/Client/registry.h> + #include <KWindowSystem> + + #include <QApplication> +@@ -54,8 +51,7 @@ SpectacleCore::SpectacleCore(StartMode theStartMode, + mPlatform(loadPlatform()), + mMainWindow(nullptr), + mIsGuiInited(false), +- mCopyToClipboard(theCopyToClipboard), +- mWaylandPlasmashell(nullptr) ++ mCopyToClipboard(theCopyToClipboard) + { + auto lConfig = KSharedConfig::openConfig(QStringLiteral("spectaclerc")); + KConfigGroup lGuiConfig(lConfig, "GuiConfig"); +@@ -92,24 +88,6 @@ SpectacleCore::SpectacleCore(StartMode theStartMode, + connect(lExportManager, &ExportManager::forceNotify, this, &SpectacleCore::doNotify); + connect(mPlatform.get(), &Platform::windowTitleChanged, lExportManager, &ExportManager::setWindowTitle); + +- // Needed so the QuickEditor can go fullscreen on wayland +- if (KWindowSystem::isPlatformWayland()) { +- using namespace KWayland::Client; +- ConnectionThread *connection = ConnectionThread::fromApplication(this); +- if (!connection) { +- return; +- } +- Registry *registry = new Registry(this); +- registry->create(connection); +- connect(registry, &Registry::plasmaShellAnnounced, this, +- [this, registry] (quint32 name, quint32 version) { +- mWaylandPlasmashell = registry->createPlasmaShell(name, version, this); +- } +- ); +- registry->setup(); +- connection->roundtrip(); +- } +- + switch (theStartMode) { + case StartMode::DBus: + break; +@@ -245,7 +223,7 @@ void SpectacleCore::screenshotUpdated(const QPixmap &thePixmap) + + if (lExportManager->captureMode() == Spectacle::CaptureMode::RectangularRegion) { + if(!mQuickEditor) { +- mQuickEditor = std::make_unique<QuickEditor>(thePixmap, mWaylandPlasmashell); ++ mQuickEditor = std::make_unique<QuickEditor>(thePixmap); + connect(mQuickEditor.get(), &QuickEditor::grabDone, this, &SpectacleCore::screenshotUpdated); + connect(mQuickEditor.get(), &QuickEditor::grabCancelled, this, &SpectacleCore::screenshotFailed); + mQuickEditor->show(); +diff --git a/src/SpectacleCore.h b/src/SpectacleCore.h +index 3e90a99..8994995 100644 +--- a/src/SpectacleCore.h ++++ b/src/SpectacleCore.h +@@ -30,12 +30,6 @@ + + #include <memory> + +-namespace KWayland { +-namespace Client { +-class PlasmaShell; +-} +-} +- + using MainWindowPtr = std::unique_ptr<KSMainWindow>; + using EditorPtr = std::unique_ptr<QuickEditor>; + +@@ -98,4 +92,3 @@ class SpectacleCore: public QObject + bool mIsGuiInited; + bool mCopyToClipboard; +- KWayland::Client::PlasmaShell *mWaylandPlasmashell; + }; +-- +2.22.1 + |