https://bugs.kde.org/show_bug.cgi?id=525413
Bug ID: 525413
Summary: Sharing a screenshot via "Export -> Share" (KDE
Purpose) not working.
Classification: Applications
Product: Spectacle
Version First 6.7.4
Reported In:
Platform: NixOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: General
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Created attachment 195894
--> https://bugs.kde.org/attachment.cgi?id=195894&action=edit
How it looks before and after fix
DESCRIPTION
I wrote purpose plugin for myself, when I try to use it with spectacle I see
it's not working with "file doesn't exist" error. After this I try to use
default telegram plugin, same. This isn't specific to any one Purpose provider;
it reproduces with any configured Share target.
STEPS TO REPRODUCE
1. Open Spectacle.
2. Choose "Rectangular Region" capture mode.
3. Drag out a selection that covers only part of one screen.
4. In the toolbar that appears, open "Export" > "Share", then click any listed
provider.
OBSERVED RESULT
The file that gets shared/uploaded is the full raw screenshot (all monitors),
not the rectangular region that was selected.
EXPECTED RESULT
The shared file should match the selected rectangular region
SOFTWARE/OS VERSIONS
- system: `"x86_64-linux"`
- host os: `Linux 6.18.47, NixOS, 26.05 (Yarara)`
- KDE Plasma Version: `"6.6.6"`
- KDE Frameworks Version: `"6.26.0"`
- Qt Version: `"6.11.1"`
- Kernel Version: `"6.18.47 (64-bit)"`
- Graphics Platform: `"Wayland"`
- Processors: `"16 × AMD Ryzen 7 7800X3D 8-Core Processor"`
- Memory: `"64 GiB of RAM (62.0 GiB usable)"`
- Graphics Processor 1: `"NVIDIA GeForce RTX 4070 SUPER"`
- Graphics Processor 2: `"AMD Ryzen 7 7800X3D 8-Core Processor"`
ADDITIONAL INFORMATION
I try to create patch and it's working now
purposeFix.patch
diff --git a/src/SpectacleCore.cpp b/src/SpectacleCore.cpp
index 85994141..6c5601f8 100644
--- a/src/SpectacleCore.cpp
+++ b/src/SpectacleCore.cpp
@@ -134,6 +134,14 @@ SpectacleCore::SpectacleCore(QObject *parent)
m_annotationDocument = std::make_unique<AnnotationDocument>();
// essential connections
+ connect(SelectionEditor::instance(), &SelectionEditor::accepted,
+ this, [this](const QRectF &rect, const ExportManager::Actions &){
+ if (!m_videoMode) {
+ m_annotationDocument->cropCanvas(rect);
+ syncExportImage();
+ }
+ }, Qt::DirectConnection);
+
connect(SelectionEditor::instance(), &SelectionEditor::accepted,
this, [this](const QRectF &rect, const ExportManager::Actions
&actions){
m_returnToViewer = m_startMode == StartMode::Gui;
@@ -170,8 +178,6 @@ SpectacleCore::SpectacleCore(QObject *parent)
} else {
SpectacleWindow::setVisibilityForAll(QWindow::Hidden);
deleteWindows();
- m_annotationDocument->cropCanvas(rect);
- syncExportImage();
auto exportActions = actions & ExportManager::AnyAction ? actions
: autoExportActions();
if (m_ocrExportInProgress) {
if (Settings::closeAfterOcr()) {
--
You are receiving this mail because:
You are watching all bug changes.