Open Moonbase59 opened 3 years ago
Possibly this is not an issue in 0.96 any more. Also, possibly there is a long duration set in CInnamon's settings for the notification bubble's closing animation?
afaik this is shutters own animation, not cinnamon's
I think, this is a standard libnotify notification initiated by Shutter, but the window manager takes care of animating the appearance and disappearance of such notification bubbles.
I don't think that is the case - Mario implemented an own notification system into Shutter for the very reason that libnotify doesn't give control over the notification expiration time. Mind double-checking?
Ah, thanks for pointing that out, my bad! So libnotify isn't involved, but I still think that the window manager (Cinnamon's window manager in this case) has control over animations which are shown when a notification, or any other window, is shown and hidden. If I set the closing animation's duration to 10s in my window manager settings, Shutter will capture it, even if the notification itself has the correct duration which was set by Shutter.
Yep, this somehow looks like you control it (for the seconds countdown which are exact) but the window manager lets it stay too long. I wonder if you can tell it to "stop" or just update the content?
N.B.: It seems "normal" Cinnamon notifications are in the top right corner of the screen, but Shutter’s are in the lower right. Don’t know if that has anything to do with it.
Maybe we can try to prove or disprove this hypothesis by switching the Cinnamon effects off temporarily?
Good idea, how would I do that?
I spelunkered a bit. Seems Cinnamon has hardcoded 4s timeout in /usr/share/cinnamon/js/ui/messageTray.js
:
Then again, I managed to screenshot a situation where a Cinnamon notification arrived (top right) plus Shutter screenshot its own last second countdown (bottom right). So I suspect it doesn’t use the "normal" notifier?
No it doesn't indeed (sorry for the confusion), but Cinnamon still controls the animation duration. You can switch off the animations completely, if the animation duration is hard do change: https://www.technipages.com/linux-mint-how-to-disable-minor-animations-for-improved-performance
Okay, thanks for the heads-up! Disabled all effects but that didn’t change anything. Still the "1 second" notification on the screenshot.
I found that I can actually select which notification manager to use: Built-in (was selected) or the "Desktop notifications" ("Schreibtischbenachrichtigungen"—isn’t German an awful language? :grin:):
No problems using the "Desktop notifications", not even when the window to screenshot is beneath it. So we can rule out Cinnamon, I reckon …
Would be nice if the built-in also worked, but if everyone is concentrating on making GTK3 work and there will be a PPA, I could as well wait. Don’t want to block anyone from doing the important work!
That's weird, as vadi2 wrote, the built in notification are actually a hack to prevent such a problem with the desktop notifications, not the other way around... I am wondering how things behave if you use a very short (1s) or very long (10s) delay. Will still the builtin notification be caught at 1s and the desktop notification function without problem?
Here are the results from about 10 tests per variant:
Delay | Desktop notifier shot | Internal notifier shot |
---|---|---|
1s | – | – |
5s | – | X |
10s | – | X |
For these tests I screenshot a half-width application window on a 1920x1080 screen, right side, that would be overlapped by both the desktop notifier (top right) and Shutter’s notifier (bottom right). But of course I was lazy and just used the "repeat last screenshot" function.
Now that Linuxuprising had a new version in the PPA (0.98 rev 1570), I tried again: Still the same
I just tried to reproduce it in VM and couldn't... Mint 20.2 Cinnamon, Shutter 0.98. Possibly a video card/driver issue on your end?
If I’d know that … No problems whatsoever with any other software, though. But yes, the Linux Mint 20.2/Cinnamon is a Dell laptop and has nVidia graphics built-in.
I do a lot of screenshots, for instructional and debugging purposes, and having to move the application "away" or almost always getting the notification in the image on full-screens drives me nuts.
But for screenshots Shutter is just "it"—wouldn’t want anything else (and there isn’t, with this functionality).
I do a lot of screenshots, for instructional and debugging purposes, and having to move the application "away" or almost always getting the notification in the image on full-screens drives me nuts.
Oh, I thought, switching to desktop notification was a working workaround? In worst case you can just disable the notifications completely!
In worst case you can just disable the notifications completely!
Sure, but I usually watch the (mostly 5s) timer to set up things appropriately (open menus, point to things with the mouse, etc.).
I see. So what about using the desktop notification for the time being?
Same thing here :-(
Sorry mis-clicked.
Oh, that's weird, but in https://github.com/shutter-project/shutter/issues/330#issuecomment-847760578 you wrote that the desktop notifications don't get caught?
If you screenshot a video, can you tell from the timestamp if the screenshot is actually showing the state of the screen at the time it should, or if it lags behind one second?
Oh, that's weird, but in #330 (comment) you wrote that the desktop notifications don't get caught?
That’s true, but as I said,
Now that Linuxuprising had a new version in the PPA (0.98 rev 1570), I tried again: Still the same
So now I got for testing:
The latest tests were made on 0.98 rev 1570 (since and including https://github.com/shutter-project/shutter/issues/330#issuecomment-894507347).
Re screen video: I’ll try to set something up the next days that includes a clock with seconds.
Today an update came (0.98-1~1ppa1~focal0
, still displays as 0.98 rev 1570), so I tested again.
If you screenshot a video, can you tell from the timestamp if the screenshot is actually showing the state of the screen at the time it should, or if it lags behind one second?
With the 5-second-delay, that’s actually more difficult than I thought. I always have the feeling that, after starting, about a second nothing happens, then the 5s countdown, then about 1s with no notification onscreen and the "feeling" it will now shoot the screen, then the "saved" notification.
So the overall feeling is that when clicking like "repeat last screenshot", it takes 6 instead of 5 seconds, and for the clock, I was always a second too late.
I clicked "repeat last screenshot" exactly when the clock showed 5s before the minute.
Since this screenshot went without the notification shown, I was hopeful and tested some other applications, by moving their window to the right side of the screen:
* = based on Electron
My first impression was: "What! It happens only with Electron apps?!" because it really looked like so. Almost every Atom or Obsidian screenshot had the notification, while others like Geany or Nemo seemingly not. But that was jumping to conclusions … The other programs still show the notification in the image, it just happens not so often.
That's weird, if it shoots too late, the notification should be gone more than ever...
I have a possibly related problem on my new laptop with an Intel Iris Xe video chip. If I use Compiz, Shutter will catch an outdated screen state (can be several minutes old). But at least in my case the problem is not Shutter specific but happens with the Xfce screenshot tool as well. Also, the problem disappears if I switch from Compiz to Xfwm.
Brief summary of issue
Shutter screenshots its own countdown notification window. It should wait until the notification is gone (or remove it before activating).
Steps to reproduce the issue
Error output
None.
Extra information, such as Shutter version, operating system and ideas for how to solve:
Shutter 0.94.3 Rev.1306 on Linux Mint 20.1/Cinnamon. Installed from this PPA:
deb http://ppa.launchpad.net/linuxuprising/shutter/ubuntu focal main
since no other version found and no wish to compile.