Bug 511393 - Unable to capture any portion of the screen while a dropdown menu is active in an app
Summary: Unable to capture any portion of the screen while a dropdown menu is active i...
Status: CLOSED UPSTREAM
Alias: None
Product: Spectacle
Classification: Applications
Component: General (other bugs)
Version First Reported In: 6.4.4
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-30 19:14 UTC by Scott R. Godin
Modified: 2025-12-09 20:07 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
screen capture obtained with "import" instead of spectacle, to grab the dropdown (202.24 KB, image/jpeg)
2025-10-30 19:14 UTC, Scott R. Godin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Scott R. Godin 2025-10-30 19:14:41 UTC
Created attachment 186344 [details]
screen capture obtained with "import" instead of spectacle, to grab the dropdown

SUMMARY
attempting to capture a dropdown menu in Gvim to attach a screenshot to an email to tell a friend about this new feature I just added and cannot for the life of me figure out how to get Spectacle to allow me to grab the screen while a dropdown menu is active in the frontmost app 

STEPS TO REPRODUCE
1. open Gvim in any configuration that shows the menu bar
2. pull a dropdown menu from the menu bar that has a submenu , and navigate to the submenu
3. press (or try to) META-SHIFT-S to open spectacle (nothing happens) 
4. open spectacle separately, set a delay option, then press Meta-Shift-S and race to pull down the drop down menu, and then at THAT point, also attempt a screengrab (partial or full screen)


OBSERVED RESULT
Failed to take screenshot in any way shape or form

EXPECTED RESULT
screenshot showing dropdown menu as in the attached

SOFTWARE/OS VERSIONS

Operating System: Fedora Linux 41
KDE Plasma Version: 6.4.4
KDE Frameworks Version: 6.18.0
Qt Version: 6.8.3
Kernel Version: 6.16.12-100.fc41.x86_64 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7 CPU         860  @ 2.80GHz
Memory: 16 GiB of RAM (15.6 GiB usable)
Graphics Processor: NVIDIA GeForce GTX 650


ADDITIONAL INFORMATION

I was able to take the attached screenshot by creating the following applet in ~/bin/sshot
```
#!/bin/bash
sleep 5
import -window root ~/sshot.jpg
chmod 644 ~/sshot.jpg
```
Comment 1 Nate Graham 2025-10-31 18:50:56 UTC
I'm afraid this is an X11 limitation. Workarounds include setting a timer in Spectacle and opening the menu later, or using the Wayland session.
Comment 2 Scott R. Godin 2025-10-31 22:48:17 UTC
As mentioned previously a workaround does *not* in fact, include setting a timer in spectacle and opening the menu later, as that was tried and also failed. 

And You/upstream Kwin devs, et al., would need to have made KWin happier with the Nvidia-470xx driver for my system's older GTX 650 card, before I could even USE wayland with it, as it isn't even polite about it enough to dump me back to nouveau, oh no, I get sent to CPU rendering and 2, repeat TWO, FPS . 

and also as mentioned the `import -window root` method seems to work fine in X11 for a FULLso "limitation" seems to me to be limited to spectacle in this case
Comment 3 Scott R. Godin 2025-10-31 22:50:21 UTC
s/FULLso/Full-screen shot, so/
Comment 4 Nate Graham 2025-12-08 22:42:18 UTC
It's not, it's an X11 issue, as I mentioned.

If the timer option didn't work, try it again. You have to set up the timer, take a screenshot, and then open the context menu before the timer fires.

If you're having trouble using the Plasma Wayland session, please feel free to submit specific separate bug reports about it. Thanks!
Comment 5 Scott R. Godin 2025-12-09 18:37:31 UTC
useless. I don't know why i even bothered. 

"If the timer option didn't work, try it again. You have to set up the timer, take a screenshot, and then open the context menu before the timer fires." -- this was tried, exactly like that, multiple times. Pulling a nested dropdown-within-a-dropdown before the app opens is tricky enough. Sometimes you even have to press ESC before it even shows that Spectacle has opened, at which point you lose one level of your dropdown, defeating the purpose. 

And yet `import` has no problem with it, so technically not an X-11 limitation. 

Whatever, I don't care anymore, since nobody else seems to.
Comment 6 Nate Graham 2025-12-09 18:41:21 UTC
Ok, sorry I couldn't help you.
Comment 7 Noah Davis 2025-12-09 20:07:13 UTC
> 3. press (or try to) META-SHIFT-S to open spectacle (nothing happens) 

> And yet `import` has no problem with it, so technically not an X-11
> limitation.

The limitation is that the dropdown menu globally intercepts all key events on X11. `import` works because it's a console command. If you opened Spectacle with a console command instead of a global shortcut, it would have worked.