diff options
author | Jonas Dreßler <verdre@v0yd.nl> | 2023-04-26 12:34:17 +0200 |
---|---|---|
committer | Jonas Dreßler <verdre@v0yd.nl> | 2023-04-26 13:36:26 +0200 |
commit | 99923ac6121f60ee3ca4a6a0b19e42084253de56 (patch) | |
tree | 52d1fe6a0e05d8f3f400a33f082773db27bcc24d | |
parent | c494597a910a22b861a6736919316bad8d2c8eab (diff) | |
download | gnome-shell-99923ac6121f60ee3ca4a6a0b19e42084253de56.tar.gz |
screenshot: Handle screencast errors properly
Send a notification and remove the screencast inidicator when we hear about
a screencast error from the dbus service.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2752>
-rw-r--r-- | js/ui/screenshot.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js index 9acc07494..d50a4f046 100644 --- a/js/ui/screenshot.js +++ b/js/ui/screenshot.js @@ -1037,6 +1037,9 @@ var ScreenshotUI = GObject.registerClass({ this._castButton.visible = this._screencastSupported; }); + this._screencastProxy.connectSignal('Error', + () => this._screencastFailed()); + this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' }); // The full-screen screenshot has a separate container so that we can @@ -1913,6 +1916,18 @@ var ScreenshotUI = GObject.registerClass({ return; } + // Translators: notification title. + this._showNotification(_('Screencast recorded')); + } + + _screencastFailed() { + this._setScreencastInProgress(false); + + // Translators: notification title. + this._showNotification(_('Screencast ended unexpectedly')); + } + + _showNotification(title) { // Show a notification. const file = Gio.file_new_for_path(this._screencastPath); @@ -1923,8 +1938,7 @@ var ScreenshotUI = GObject.registerClass({ ); const notification = new MessageTray.Notification( source, - // Translators: notification title. - _('Screencast recorded'), + title, // Translators: notification body when a screencast was recorded. _('Click here to view the video.') ); |