Bug 480023 - Add a GUI for stopping region recording besides the systray when started from the viewer window
Summary: Add a GUI for stopping region recording besides the systray when started from...
Status: CONFIRMED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: git-master
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2024-01-19 00:06 UTC by Aleix Pol
Modified: 2024-05-09 17:13 UTC (History)
4 users (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 Aleix Pol 2024-01-19 00:06:19 UTC
The spectacle window disappears when you select a region. Then there's no way to get it back. 


😢
Comment 1 fanzhuyifan 2024-01-19 00:24:13 UTC
Yeah currently the only way to stop the recording is to click the notifier icon.
Comment 2 Noah Davis 2024-01-31 15:33:51 UTC
Are you taking a screenshot using the global shortcut or from the GUI? There should be a systray icon in either case, but when taking a recording from the gui, there should be a finish recording button. Alternatively, you should be able to stop the recording by using the global shortcut again.
Comment 3 Noah Davis 2024-01-31 15:34:14 UTC
.
Comment 4 fanzhuyifan 2024-01-31 15:36:19 UTC
(In reply to Noah Davis from comment #2)
> Are you taking a screenshot using the global shortcut or from the GUI? There
> should be a systray icon in either case, but when taking a recording from
> the gui, there should be a finish recording button. Alternatively, you
> should be able to stop the recording by using the global shortcut again.

Do we need to worry about cases when the user doesn't have a systray?
Comment 5 Noah Davis 2024-01-31 16:25:26 UTC
(In reply to fanzhuyifan from comment #4)
> (In reply to Noah Davis from comment #2)
> > Are you taking a screenshot using the global shortcut or from the GUI? There
> > should be a systray icon in either case, but when taking a recording from
> > the gui, there should be a finish recording button. Alternatively, you
> > should be able to stop the recording by using the global shortcut again.
> 
> Do we need to worry about cases when the user doesn't have a systray?

Probably, although it's not clear what the solution should be. I'm not sure if QSystemTrayIcon has any kind of integration that allows an alternative thing to appear when there's no systray.
Comment 6 Noah Davis 2024-01-31 16:30:17 UTC
According to Qt docs:

> The QSystemTrayIcon class can be used on the following platforms:
> 
> - All supported versions of Windows.
> - All Linux desktop environments that implement the D-Bus StatusNotifierItem specification, including KDE, Gnome, Xfce, LXQt, and DDE.
> - All window managers and independent tray implementations for X11 that implement the freedesktop.org XEmbed system tray specification.
> - All supported versions of macOS.

GNOME doesn't have the old kind of systray, but I'm not sure if that means QSystemTrayIcon works when there's nothing like a systray.
Comment 7 Aleix Pol 2024-02-02 10:59:13 UTC
> Are you taking a screenshot using the global shortcut ...

No, this is about recording.

It's actually weird that both active window and full-screen will minimise spectacle but the region one will move into the system tray.
Comment 8 Noah Davis 2024-02-02 16:05:56 UTC
(In reply to Aleix Pol from comment #7)
> > Are you taking a screenshot using the global shortcut ...
> 
> No, this is about recording.
> 
> It's actually weird that both active window and full-screen will minimise
> spectacle but the region one will move into the system tray.

I meant screencast, not screenshot.

> It's actually weird that both active window and full-screen will minimise
> spectacle but the region one will move into the system tray.

Ah I forgot that region recording always goes to the systray. Yeah, that's caused by a limitation of how spectacle handles multiple types of main windows. I'll have to work on that.
Comment 9 Justin Zobel 2024-05-04 04:01:43 UTC
I came across this bug as I couldn't figure out how to stop the recording. It's lacking discoverability. Perhaps a notification when you start the first recording indicating that the user needs to press the red dot in the System Tray to end the recording.
Comment 10 Bug Janitor Service 2024-05-04 14:42:07 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/360
Comment 11 Noah Davis 2024-05-09 17:13:26 UTC
Git commit da86ecb98673386a154e466dabb751ddf43c31cf by Noah Davis.
Committed on 09/05/2024 at 17:11.
Pushed by ndavis into branch 'master'.

Make system tray icon easier to notice

Switches from QSystemTrayIcon to KStatusNotifierItem.

The icon has a scale animation when it appears that repeats a few times.

A system notification also appears when recording has started that tells you about the system tray icon.

M  +1    -0    .kde-ci.yml
M  +1    -0    CMakeLists.txt
M  +1    -0    src/CMakeLists.txt
M  +77   -15   src/SpectacleCore.cpp

https://invent.kde.org/graphics/spectacle/-/commit/da86ecb98673386a154e466dabb751ddf43c31cf