Bug 500719 - any context menu
Summary: any context menu
Status: RESOLVED UPSTREAM
Alias: None
Product: Spectacle
Classification: Applications
Component: General (other bugs)
Version First Reported In: 23.08.5
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-25 12:11 UTC by flat
Modified: 2025-03-03 19:18 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description flat 2025-02-25 12:11:30 UTC
SUMMARY


STEPS TO REPRODUCE
1.  mouse right-click for "context menu" (any place)
2.  try to use hotkey for make screenshot
3.  doesn't work

i have no idea what happen, but "yesterday" its worked
Comment 1 Noah Davis 2025-02-25 18:03:17 UTC
Are you on X11 or Wayland? If you don't know where to find that info, go to Info Center, click "Copy Details" in the top right and paste it in a comment.

If you are on X11, this is expected behavior. It's simply impossible to take screenshots using hotkeys on X11 while a normal context menu is open due to the way X11 handles normal context menus. Not all context menus are what I am calling "normal". Some are actually visual elements of a parent window and don't have the limitation. If you managed to do it before, you may have been on Wayland or been using the second type of context menu I mentioned because this limitation has been around for decades.

If you want to take a screenshot of a normal context menu on X11, you need to do a delayed screenshot.
Comment 2 Noah Davis 2025-02-25 18:03:33 UTC
Forgot to change status
Comment 3 flat 2025-02-26 05:54:18 UTC
(In reply to Noah Davis from comment #1)
> Are you on X11 or Wayland? If you don't know where to find that info, go to
> Info Center, click "Copy Details" in the top right and paste it in a comment.
> 
> If you are on X11, this is expected behavior. It's simply impossible to take
> screenshots using hotkeys on X11 while a normal context menu is open due to
> the way X11 handles normal context menus. Not all context menus are what I
> am calling "normal". Some are actually visual elements of a parent window
> and don't have the limitation. If you managed to do it before, you may have
> been on Wayland or been using the second type of context menu I mentioned
> because this limitation has been around for decades.
> 
> If you want to take a screenshot of a normal context menu on X11, you need
> to do a delayed screenshot.

Thanks for the quick reply. Yes, I have x11. Most likely I had a delayed mode. But when you press the "selection area" hotkey, the context menu is automatically removed and there is no delay after that. The delay only works if you press printscrn to call up the dialog menu and select the appropriate mode with the delay mode, but this is inconvenient and you will have to get used to it.

I do not switch to wayland because I work in Houdini SideFX
Comment 4 Noah Davis 2025-03-03 17:02:20 UTC
(In reply to flat from comment #3)
> Thanks for the quick reply. Yes, I have x11. Most likely I had a delayed
> mode. But when you press the "selection area" hotkey, the context menu is
> automatically removed and there is no delay after that. The delay only works
> if you press printscrn to call up the dialog menu and select the appropriate
> mode with the delay mode, but this is inconvenient and you will have to get
> used to it.
> 
> I do not switch to wayland because I work in Houdini SideFX

Unfortunately, I don't have a good alternative solution. I wouldn't want to add a dedicated global shortcut just for delayed screenshots unless we removed some existing Spectacle global shortcuts. I also think it might be a bad idea to allow a previously set delay to affect the global shortcuts. Users might need to quickly take a picture of something and then it would be ruined because they forgot they set a delay last week.
Comment 5 Noah Davis 2025-03-03 17:04:31 UTC
Actually, there is an alternative if you're willing to do some scripting. Check out Spectacle's command line options with `spectacle -h`. The `-d` option flag can be used to set a delay like `spectacle -d 5000` for a 5 second delay.