Created attachment 102195 [details]
Screenshot Showing Areas Outside Active Window (in blue)
KDE Frameworks 5.27.0
Qt 5.7.0 (built against 5.7.0)
The xcb windowing system
Spectacle Capture Active Window includes an unwanted additional 10-15 pixel margin or buffer around the outside of the Active Window causing the user to have to manually crop every image taken just to get an actual snapshot of the current window. This is incredibly cumbersome and frustrating. Why would capture 'Active Window' be grabbing an additional 10-15 pixels outside the current window?
Expected behavior - when capturing any window, especially the 'Active Window' spectacle should only capture the 'Active Window' without including any extraneous margin or buffer outside the 'Active Window'
A screenshot is attached showing the unwanted additional info captured outside the active window
Note: the space around the 'Active Window' shown in the snapshot is actually transparent in color, but is shown in KDE as a solid color based on your current color scheme.
"Active Window" tries to add an extra shadow effect because it was possible and is supposed to look nicer. I guess that a preference to control this would be useful.
Would an option at Preferences be helpful (not in the main UI since it should not be a commonly changed option)?
(In reply to Peter Wu from comment #2)
> ...because it was possible and is supposed to look nicer...
Really ?? !!!
> Would an option at Preferences be helpful (not in the main UI since it
> should not be a commonly changed option)?
It most certainly would. Like the OP, it is infuriating to have to edit the screenshot afterwards to remove this "nicer looking" "feature". (Sorry folks, don't take it to heart.)
There absolutely should be a config option and command line switch to disable this (even if you don't agree that it should be disabled by default).
Imagine you want to take a screenshot from a fullscreen window, and then you want to view this image fullscreen 1:1 on the same screen resolution. Sure you can set up and remember yet another hotkey with -m, but then it doesn't even to the exact same thing.
I agree there should be an option to disable shadows in screenshots.
As a workaround, just disable compositing temporarily, e.g. by pressing Shift+Alt+F12. Alternatively, disable "Include window titlebar and borders" if applicable in your use case.
I absolutely agree. This is costing me much time in capturing screenshots for a user manual.
Since years, I use the workaround of choosing "Rectangular Region" and manually draw the capture rectangle when I want to capture a window including title bar. It produces no pixel-perfect results but it is much quicker than to remove the shadow manually in an image editor.
> As a workaround, just disable compositing temporarily, e.g. by pressing Shift+Alt+F12.
Thanks for this hint! I tried it and it works as a good alternative workaround here.
Reading https://blog.martin-graesslin.com/blog/2018/05/shadows-in-window-screenshots/, support for disabling shadows seems unlikely. Note that I learned about this only from the blog post – Was anybody else from #Spectacle informed about this in advance or involved in the decision?
No, I don't believe anyone was contacted.
It's not just the Dedoimedo guy. We have people wanting to turn them off so they can improve the look of their documentation too. Heck, from time to time I find myself wanting to turn them off or replace them with small ones for the screenshots I post to my blog. I think there are legitimate use cases.
From a UI perspective, what I would like is a set of options for how to handle a window's shadows:
- Use existing shadows
- Replace existing shadows with a very small tasteful shadow (Window Under cursor mode seems to already do a variant of this; it would be nice to make it a universal option)
- Omit shadows entirely, and use alpha to ensure that any rounded corners look proper
I'm seeing this issue while running spectacle with i3 as window manager.
Screenshots end up being the naked window with a huge transparent frame.
This is the case whether include decorations is ticked or unticked.
This is doubtlessly very broken behavior.
*** Bug 404143 has been marked as a duplicate of this bug. ***
While Martin rejects the idea of a checkbox in Spectacle to disable shadow effects, can I vote to add such an option? Right now I am taking screenshots for presentation slides where a border effect is already present. I now have to manually remove the border which is extra work.
Martin is not the Spectacle maintainer or even a developer. He also is no longer the KWin maintainer not even very active there anymore. Decisions can be changed; I would not rule this out. I think it's mostly a matter of someone writing a patch do to it.
There's code in Spectacle that does this, but this is just for consistency with KWin's way of doing this. If someone removed this from KWin, I'll gladly remove the offending code from Spectacle. I personally think the drop shadow is completely unnecessary anyway.
Ridding spectacle of this shadow trumps consistency with KWin...
Go on... remove the offending code... you know you want to... :)
@Paul: That will do absolutely nothing, since that part of the code is only used if you're not running under KWin.
I'm not an expert but couldn't we crop the image after the fact to get the rid of the shadow? I think we could get the dimensions from KWin maybe?
Why would we do that? We (KDE) own the KWin code, let's fix it properly!
(In reply to Henrik Fehlauer from comment #8)
> , support for disabling shadows seems unlikely. Note that I learned about
> this only from the blog post – Was anybody else from #Spectacle informed
> about this in advance or involved in the decision?
i'm not sure if we're still talking about the same thing. but in Bug 404143 i specifically talked about the situation where you disable showing window decorations, but it doesn't remove the shadow, which i would argue is part of the decoration.
(In reply to Boudhayan Gupta from comment #16)
> @Paul: That will do absolutely nothing, since that part of the code is only
> used if you're not running under KWin.
In comment #2 it was implied, at least that's how I read it, that this shadow/border was a "feature" added to spectacle. I guess I was wrong, which seems the norm these days, argh... ;)
I've been trying to figure out why my screenshots looked weird, finally looked into it and found it was this capturing shadows thing.
Disabling compositing is a decent workaround for now, but this is my vote for a proper setting to change this behaviour.
I deselect "Enable compositor on startup" automatically on first use ever since global disabling began preventing Plasma from starting at all, and get the annoying borders anyway. :(
Looking for the same feature...
Adding myself to CC…
*** Bug 444133 has been marked as a duplicate of this bug. ***
This is a must-have. These borders are incredibly annoying, every window screenshot that I take I have to open an image editor and manually crop the borders. The first time I saw it, it caused a really bad impression, I didn't see it as a feature, but as a bug, and that's still how I see it today, despite it being the intentional behavior picked by the developer. When we take screenshots on Windows, Android, iOS, macOS, Gnome, it never comes with those borders. This "innovative" behavior is not what users are expecting, will always negatively surprise new users, and will continue to annoy users until it is fixed. This can't be ignored. It is bad for users, it is bad for KDE. I don't mean to sound rude, that's just my honest feedback as a user.
I understand it was done this way to fix a bug related to the corners, but it is not the best solution, we should pursue some kind of smooth transition of the rounded corners. It shouldn't be hard to do, and we could even look up & borrow code from other pieces of free software that already implement this solution.
I think the default behavior should be borderless and I don't think an option to add the borders is even necessary.
(In reply to Peter Wu from comment #12)
> While Martin rejects the idea of a checkbox in Spectacle to disable shadow
> effects, can I vote to add such an option? Right now I am taking screenshots
> for presentation slides where a border effect is already present. I now have
> to manually remove the border which is extra work.
This affects me to and it's very annoying; think of the extra amount of black ink when the screenshot has to be printed.
I'm starting a new round of Manual updating, and tripped over this again - having completely forgotten about it. I'm now looking for an alternative to spectacle. I'm curious if this is not being done because someone objects or just because nobody has stepped up to actually do the work?
Nobody has done it yet.