SUMMARY Saving a screenshot in Spectacle results in a confirmation message that says something like "The screenshot was saved as Screenshot_date_time.png". This message remains visible even if you take a new screenshot, which misleadingly suggests that the new screenshot has also been saved. I have accidentally lost work while taking a series of screenshots because I thought that a screenshot was saved when it was not. This seems to happen when Spectacle is activated with a shortcut, but not when clicking the "Take a New Screenshot" button in the Spectacle window. In the example below, I have the Print Screen key bound to "launch Spectacle" under Shortcuts in System Settings. When pressed, this key launches spectacle (if it is not launched already) and immediately takes a screenshot. STEPS TO REPRODUCE 1. Activate Spectacle with an activation key (e.g. Print Screen). Take a screenshot and save it to disk with the Save As button. 2. Activate Spectacle with an activation key again. 3. Close Spectacle by clicking the button on the window frame. OBSERVED RESULT After saving the screenshot to disk in step 1, a message appears in the spectacle window indicating that the file has been saved. When activating Spectacle again, because the window is already open a new screenshot is taken immediately. When this happens, the message indicating that the (previous) file was saved does not go away from the window. When closing Spectacle immediately, there is no warning that the file is unsaved, making it more likely that the user will lose work if they trust the message. EXPECTED RESULT When activating Spectacle when the window is already open, I expect the behavior to be the same as when clicking "Take a New Screenshot". In other words, Spectacle should remove the message stating that the file is saved when a new screenshot is taken. SOFTWARE/OS VERSIONS Linux: Arch Linux x86_64 (kernel version 5.18.5) KDE Plasma Version: 5.25.0 KDE Frameworks Version: 5.95.0 Qt Version: 5.15.4
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/145
(In reply to Bug Janitor Service from comment #1) > A possibly relevant merge request was started @ > https://invent.kde.org/graphics/spectacle/-/merge_requests/145 I had a quick look at the merge request and it seems like it's supposed to hide the message on a timer? That would help but it's not the core issue here. When I click the "take a new screenshot" button, the message disappears immediately. There's presumably some bit of code hooked up to the button to do that, and I think it would make sense to have it fire every time a new screenshot is taken, including when that happens because of an activation key.
That's the point, the message never disappears. With this change, it works as you have described in "expected".
(In reply to Antonio Prcela from comment #3) > That's the point, the message never disappears. With this change, it works > as you have described in "expected". Maybe I misunderstood what the change is doing. It appears to make the message disappear after 10 seconds. That's not what I'm looking for, notwithstanding anything I said about the expected results. Right now, the "file saved" notification stays active indefinitely. That seems fine to me. When you click the "Take a New Screenshot" button, the notification disappears immediately, which also seems right. (If you take a new screenshot, then it won't have been saved, so the message would be misleading if it remained.) The problem is that when you activate Spectacle by clicking an activation key, a new screenshot is taken but the message doesn't go away. Making it so that the message went away after 10 seconds unconditionally would be a bad idea in my estimation. It would make it less clear in some cases that an image had been saved, and if you took a new screenshot quickly enough after saving the previous one, the "saved" message would still be visible for a few seconds until it disappeared. In that case it wouldn't even solve the problem of Spectacle falsely claiming to have saved the file.
Git commit ecbfc45440f747b9c54bd216e144d38d3b102b66 by Antonio Prcela. Committed on 22/07/2022 at 16:14. Pushed by aprcela into branch 'master'. Reenable autohiding of inline message This change commented the lines, hence the inline message never hides: https://invent.kde.org/graphics/spectacle/-/commit/9658891adf8275ac69d874e8753b92dd20060618#c59784b9993edc6ebf92ca55c1465735a8cca131_234_241 also: don't hide for all kind of messages. Keep for saved screenshots, until next screenshot has been taken M +7 -5 src/Gui/KSMainWindow.cpp M +1 -0 src/Gui/KSWidget.cpp M +1 -0 src/Gui/KSWidget.h https://invent.kde.org/graphics/spectacle/commit/ecbfc45440f747b9c54bd216e144d38d3b102b66