[gnome-shell] screencastService: Create directory if it doesn't exist
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] screencastService: Create directory if it doesn't exist
- Date: Fri, 14 Jan 2022 18:47:33 +0000 (UTC)
commit 0e4b87fe5adeb388dad92978a9bf55780782516c
Author: Ivan Molodetskikh <yalterz gmail com>
Date: Fri Dec 17 10:17:35 2021 +0300
screencastService: Create directory if it doesn't exist
Instead of testing if the videos directory exists and using the home
directory otherwise, just try to create the target directory. This
aligns with how the screenshot UI handles the screenshots folder, and
it's convenient for putting screencasts into a subdirectory.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2102>
js/dbusServices/screencast/screencastService.js | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js
index 708a15c84e..069b00d1a9 100644
--- a/js/dbusServices/screencast/screencastService.js
+++ b/js/dbusServices/screencast/screencastService.js
@@ -58,6 +58,14 @@ var Recorder = class {
this._height = height;
this._filePath = filePath;
+ try {
+ const dir = Gio.File.new_for_path(filePath).get_parent();
+ dir.make_directory_with_parents(null);
+ } catch (e) {
+ if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS))
+ throw e;
+ }
+
this._pipelineString = DEFAULT_PIPELINE;
this._framerate = DEFAULT_FRAMERATE;
this._drawCursor = DEFAULT_DRAW_CURSOR;
@@ -287,9 +295,6 @@ var ScreencastService = class extends ServiceImplementation {
return filename;
let videoDir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_VIDEOS);
- if (!GLib.file_test(videoDir, GLib.FileTest.EXISTS))
- videoDir = GLib.get_home_dir();
-
return GLib.build_filenamev([videoDir, filename]);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]