Summary: | Spectacle hotkey captures do not copy to clipboard | ||
---|---|---|---|
Product: | [Applications] Spectacle | Reporter: | Ted Sadler <tsadler> |
Component: | General | Assignee: | Boudhayan Gupta <me> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | antonio.prcela, bugseforuns, curtis, dongyuanda, kde, madLyfe, meven.car, nate, tsadler |
Priority: | HI | ||
Version: | 19.12.3 | ||
Target Milestone: | --- | ||
Platform: | Manjaro | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=422860 | ||
Latest Commit: | https://invent.kde.org/graphics/spectacle/commit/db944286edbdf91e79a06871d570bd01b7c595af | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | KInfocenter system information |
Can confirm. :( For me the screenshot makes it to the clipboard if Spectacle's main window is currently running when you use one of the global keyboard shortcuts, and the screenshot is copied when using the main window directly. But when the main window is not open, the auto-copy feature does not work for me. (In reply to Nate Graham from comment #1) Nate, thanks for the confirmation. I was able to reproduce that specific test also with the same results. Just tried to reproduce with Spectacle v20.04.0. Copy image to clipboard is set. Autosave the image is disabled. Spectacle not running, press Pint/Meta+Print/Shift+Print/Meta+Shift+Print, Spectacle window appears and image is in clipboard. Open up KolourPaint, CTRL+V, screenshot is inserted. Same when Spectacle is running and the window is somewhere in the background. @Ted - I'm also on Manjaro, testing branch tho. Did you get the kde applications update so kde apps are now on v20.04.0? (In reply to @Antonio from comment #3) I am on v20.04.0 now, yes. However, I am still experiencing the same problem... If I just press PrntScrn alone, I get a full-image capture that I can paste. But if I press any hotkey configured in Spectacle (including any shortcuts for "full desktop capture", the capture is saved and I get a popup but my clipboard doesn't contain the image if Spectacle was not running in the foreground already. Can you check ~/.config/spectaclerc ? mine looks like this, the irrelevant options are not shown here (last file paths, etc.): [General] copyImageToClipboard=true showMagnifier=true [GuiConfig] captureMode=5 [Save] copySaveLocation=false (In reply to Antonio from comment #5) > Can you check ~/.config/spectaclerc ? This is mine: [$Version] update_info=spectacle_newConfig.upd:spectacle-new-config [General] alwaysRememberRegion=false autoSaveImage=true copyImageToClipboard=true printKeyActionRunning=0 rememberLastRectangularRegion=true showMagnifier=true useLightMaskColour=false useReleaseToCapture=true [GuiConfig] captureMode=5 #This was 4 previously. I changed it to 5 but the bug persists cropRegion=4321,175,854,639 includePointer=false window-position=124,154 [KFileDialog Settings] detailViewIconSize=0 [Save] compressionQuality=100 copySaveLocation=false defaultSaveImageFormat=png lastUsedSaveMode=0 saveFilenameFormat=Screenshot_%Y%M%D_%H%m%S And suddenly I can reproduce it. Will see if I'll find anything in the source code. Thanks @Antonio! Out of curiosity, what did you do differently from your previous steps to reproduce the issue? (In reply to Ted Sadler from comment #8) > Thanks @Antonio! Out of curiosity, what did you do differently from your > previous steps to reproduce the issue? Well, deleted the old spectaclerc and let spectacle create a new one. Now I could reproduce. Took the old spectaclerc from a backup and tried it again, still reproducible. I don't know why it was working fine last night :s (In reply to Antonio from comment #9) > > Well, deleted the old spectaclerc and let spectacle create a new one. > Now I could reproduce. Took the old spectaclerc from a backup and tried it > again, still reproducible. > I don't know why it was working fine last night :s that's certainly strange... you must have been testing after the bugs had gone to bed! ;) Thanks for looking into this -- let me know what you find in the source! (In reply to Ted Sadler from comment #10) > (In reply to Antonio from comment #9) > > > > Well, deleted the old spectaclerc and let spectacle create a new one. > > Now I could reproduce. Took the old spectaclerc from a backup and tried it > > again, still reproducible. > > I don't know why it was working fine last night :s > > that's certainly strange... you must have been testing after the bugs had > gone to bed! ;) > > Thanks for looking into this -- let me know what you find in the source! @Ted Sadler , I've found an approach to make this work, tested it on my side and now it works as expected. Let's see if this is acceptable and if it will be merged: https://phabricator.kde.org/D29596 (In reply to Antonio from comment #11) > @Ted Sadler , I've found an approach to make this work, tested it on my side > and now it works as expected. Let's see if this is acceptable and if it will > be merged: https://phabricator.kde.org/D29596 Hey, that did it! Spectacle now copies the capture to the clipboard even when the UI is closed. I also am now seeing the new toast notification. Verified with paste and everything works as expected. Thank you Antonio! I'll change the status to Resolved. Cheers, Ted Antonio, It appears I spoke too soon... while this fix does resolve the clipboard problem, the captures are no longer auto-saving to their configured destination when using the hotkeys with Spectacle closed. This behavior was working fine before the bugfix... Re-opening this bug for now, but I can file a new one if desired. Thanks, Ted (In reply to Ted Sadler from comment #13) > Antonio, > > It appears I spoke too soon... while this fix does resolve the clipboard > problem, the captures are no longer auto-saving to their configured > destination when using the hotkeys with Spectacle closed. This behavior was > working fine before the bugfix... > > Re-opening this bug for now, but I can file a new one if desired. > > Thanks, > Ted Yeah, it was a too simple fix to not cause other problems :) No need for a new one since this didn't land on master and I'll note that info to improve the fix. Thanks For what it's worth, I'm also reproducing this same issue. As far as I can tell, in the current iteration of Spectacle, it doesn't matter what settings are configured - the hotkey snips will always save as images. This is not a bug but is working as implemented. This is also the reason the setiing is in the "When Spectacle is running" section like what should happen if you press the print key again. I will leave this bug open as it is evident that the current situation is not clear at all and I'm not happy with it either. (In reply to David Redondo from comment #16) > This is not a bug but is working as implemented. This is also the reason the > setiing is in the "When Spectacle is running" section like what should > happen if you press the print key again. I will leave this bug open as it is > evident that the current situation is not clear at all and I'm not happy > with it either. David, thank you for the clarification -- and you're right. The section does say "When Spectacle is Running," but at the same time I think the interface is a bit misleading given that Spectacle has to be running *somewhere* in order for the hotkey combinations to work at all. Thanks for leaving it open. Perhaps it might be an idea to add a separate "When Spectacle is activated by a hotkey" section with those same options, such that the two scenarios could be controlled separately. (In reply to Curtis Parfitt-Ford from comment #18) > Perhaps it might be an idea to add a separate "When Spectacle is activated > by a hotkey" section with those same options, such that the two scenarios > could be controlled separately. That would probably be helpful. It's also misleading that the "Autosave the image to the default location" option is under "When Spectacle is Running" but Spectacle doesn't need to be running for that to work. Hotkey activation saves the screenshots when that option is enabled, even with Spectacle's UI closed. I think that behavior is what led me to believe that the failure to copy the image to the clipboard is a bug, not an intended behavior. "Autosave the image to the default location" and "Copy image to clipboard" should not be under "When Spectable is running" because these options also work if Spectacle is closed and we launch it by pressing printscreen key. But "Copy image to clipboard" doesn't work if Spectacle is closed and we take a screenshot by pressing meta+print (active window), shift+print (entire desktop) and meta+shift+print (rectangular region) shortcuts. Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.19.80 KDE Frameworks Version: 5.71.0 Qt Version: 5.14.2 Git commit dec0e6cef23ac35754aa537db6d7ace42b23ca2a by Méven Car. Committed on 05/06/2020 at 09:10. Pushed by meven into branch 'master'. Refactor Spectacle to run in single instance mode with KDBusService::Unique Summary: Since Spectacle got DBus activation support in 09cd11881d828da35c46c48da79f2d988e6a78cc, it has been run in multiple instance mode. But it has been shaddowed by using qbus ee862d161a480408338d00b8826c915f7a97575c in the desktop file to mimic singleton behavior. This refactors Spectacle to run in true single instance mode using KDBusService::Unique. This is to allow Spectacle to have its executable in its Exec desktop Entry, to allow KWin to match the executable to the service file, itself to allow screenshots under Wayland without intermediate click. The listed bugs are fixed incidently except for 414739 where a simple fix was added in screenShotUpdated. Related: bug 414739, bug 412186 Test Plan: Start spectacle, alternatively, from shortcut, command line. Take screenshots, from alternative ways. There is always at most one Spectacle window unless launched with `--new-instance`. Reviewers: davidre, ngraham, bport, davidedmundson, apol Reviewed By: davidre Subscribers: broulik, anthonyfieroni, #spectacle Tags: #spectacle Differential Revision: https://phabricator.kde.org/D29487 M +2 -2 desktop/org.kde.spectacle.desktop.cmake M +30 -89 src/Main.cpp M +170 -105 src/SpectacleCore.cpp M +8 -10 src/SpectacleCore.h M +5 -10 src/SpectacleDBusAdapter.cpp M +0 -31 src/SpectacleDBusAdapter.h https://invent.kde.org/graphics/spectacle/commit/dec0e6cef23ac35754aa537db6d7ace42b23ca2a @Méven Car Under this revision, when using a keyboard shortcut with Spectacle closed, the screenshots are copied to the clipboard as expected but the "autosave the image to default directory" function no longer works. If Spectacle is open while using the shortcut, the image is both copied to the clipboard and saved. This is the same behavior that I experienced with @Antonio's revision. Ted (In reply to Ted Sadler from comment #22) > @Méven Car > > Under this revision, when using a keyboard shortcut with Spectacle closed, > the screenshots are copied to the clipboard as expected but the "autosave > the image to default directory" function no longer works. If Spectacle is > open while using the shortcut, the image is both copied to the clipboard and > saved. > > This is the same behavior that I experienced with @Antonio's revision. > > Ted I gave it another try and seems that it works now fine: You can test via: https://invent.kde.org/graphics/spectacle/-/merge_requests/2 Note: This commit also has some changes for the settings layout. (In reply to Ted Sadler from comment #22) > @Méven Car > > Under this revision, when using a keyboard shortcut with Spectacle closed, > the screenshots are copied to the clipboard as expected but the "autosave > the image to default directory" function no longer works. I can confirm on X11 session of neon untable. On Wayland the taken screenshot is neither copied to clipboard nor saved to default location. Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.19.80 KDE Frameworks Version: 5.71.0 Qt Version: 5.14.2 (In reply to Patrick Silva from comment #24) > (In reply to Ted Sadler from comment #22) > > @Méven Car > > > > Under this revision, when using a keyboard shortcut with Spectacle closed, > > the screenshots are copied to the clipboard as expected but the "autosave > > the image to default directory" function no longer works. > > I can confirm on X11 session of neon untable. > On Wayland the taken screenshot is neither copied to clipboard nor saved to > default location. > > Operating System: KDE neon Unstable Edition > KDE Plasma Version: 5.19.80 > KDE Frameworks Version: 5.71.0 > Qt Version: 5.14.2 Maybe we should open a different bug, the bug in Wayland is not so much about spectacle than it is about Wayland clipboard. (In reply to Méven Car from comment #25) > (In reply to Patrick Silva from comment #24) > > (In reply to Ted Sadler from comment #22) > > > @Méven Car > > > > > > Under this revision, when using a keyboard shortcut with Spectacle closed, > > > the screenshots are copied to the clipboard as expected but the "autosave > > > the image to default directory" function no longer works. > > > > I can confirm on X11 session of neon untable. > > On Wayland the taken screenshot is neither copied to clipboard nor saved to > > default location. > > > > Operating System: KDE neon Unstable Edition > > KDE Plasma Version: 5.19.80 > > KDE Frameworks Version: 5.71.0 > > Qt Version: 5.14.2 > > Maybe we should open a different bug, the bug in Wayland is not so much > about spectacle than it is about Wayland clipboard. Done: bug 422860 Fixed for X11, bug still exists in Wayland tracked at https://bugs.kde.org/show_bug.cgi?id=422860 i dont think this is fixed on x11, might be same symptom but a different bug because i have an additional symptom: with meta + shift + prtsc. in my case i dont have auto save image enabled, only copy image to clipboard. when i run the shortcut i get a saved image and image in the notification but whats copied to clipboard is the file path of the image instead. so maybe i have two bugs: 1. image is saved when its not supposed to be. 2. image isnt copied to clipboard. if i have spectacle open i dont have any of these issues, the image ISNT saved to disk and the image IS copied to clipboard correctly. Operating System: Manjaro Linux KDE Plasma Version: 5.19.4 KDE Frameworks Version: 5.72.0 Qt Version: 5.15.0 Kernel Version: 5.7.12-1-MANJARO OS Type: 64-bit Processors: 8 × Intel® Xeon® CPU E5-1620 v3 @ 3.50GHz Memory: 62.8 GiB of RAM Graphics Processor: AMD Radeon ™ RX 470 Graphics Works for me on X11 now FWIW. Git commit db944286edbdf91e79a06871d570bd01b7c595af by Antonio Prcela. Committed on 07/10/2020 at 13:36. Pushed by ngraham into branch 'master'. Improve settings logic and layout Rearrange setting so it's no more possible to have all three options activated at once: copy image to clipboard, save location to clipboard and autosave image. Added check to avoid having all three settings at once. Updated layout with some spacers. M +92 -52 src/Gui/SettingsDialog/GeneralOptions.ui M +14 -0 src/Gui/SettingsDialog/GeneralOptionsPage.cpp M +2 -0 src/Gui/SettingsDialog/GeneralOptionsPage.h M +50 -21 src/Gui/SettingsDialog/SaveOptions.ui M +5 -5 src/Gui/SettingsDialog/spectacle.kcfg M +1 -0 src/SpectacleCore.cpp https://invent.kde.org/graphics/spectacle/commit/db944286edbdf91e79a06871d570bd01b7c595af |
Created attachment 127808 [details] KInfocenter system information Under Spectacle 19.12.3 (KDE 5.18.4), using hotkeys to perform rectangle region, active window, or full-screen captures does not copy the resulting image capture to the clipboard. STEPS TO REPRODUCE 1. Configure Spectacle to copy all screen captures to the clipboard. 2. Press the configured hotkey selection for either full desktop, rectangle capture, or active window. 3. Observe that a screenshot was captured, confirmed via notification. 4. Attempt to paste the copied image into an image editor or other software that will accept a pasted image. OBSERVED RESULT No image is pasted. If a previous text or image was already in the clipboard, that will be pasted instead. Otherwise, nothing at all is pasted. EXPECTED RESULT The captured region image should be copied to the clipboard and pasteable. Previous clipboard contents should be overwritten. SOFTWARE/OS VERSIONS - See attachment. ADDITIONAL INFORMATION - The captures will autosave to a directory correctly if configured to do so, so the captures are actually being made. - Manually capturing a full screen, regional, or active window screenshot using the Spectacle application itself (NOT a hotkey) will properly copy the capture to the clipboard.