diff options
| author | Trung Lê <8@tle.id.au> | 2026-06-10 11:32:32 +1000 |
|---|---|---|
| committer | Trung Lê <8@tle.id.au> | 2026-06-10 11:32:32 +1000 |
| commit | a646f86c232ecbc0d1875ef2b83a165760127699 (patch) | |
| tree | 8584adb5c971446eedd3959ac6fdaea86953e74d /src | |
| parent | 9576fada7bb0262dda68735fd49eafe2d7d9d537 (diff) | |
fix: derive default Videos dir from $XDG_VIDEOS_DIR, fall back to ~/Videos
Use the standard XDG_VIDEOS_DIR environment variable for the default save
directory, falling back to $HOME/Videos when it is unset. The record and
replay pages now reuse gsr_config_get_videos_dir() instead of duplicating the
lookup.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gsr-config.c | 7 | ||||
| -rw-r--r-- | src/gsr-record-page.c | 5 | ||||
| -rw-r--r-- | src/gsr-replay-page.c | 5 |
3 files changed, 6 insertions, 11 deletions
diff --git a/src/gsr-config.c b/src/gsr-config.c index af8b980..8b9bd4b 100644 --- a/src/gsr-config.c +++ b/src/gsr-config.c @@ -68,9 +68,10 @@ gsr_config_get_dir(void) char * gsr_config_get_videos_dir(void) { - const char *vdir = g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS); - if (vdir) - return g_strdup(vdir); + /* Prefer the standard XDG videos directory, fall back to ~/Videos. */ + const char *xdg_videos = g_getenv("XDG_VIDEOS_DIR"); + if (xdg_videos && *xdg_videos) + return g_strdup(xdg_videos); char *home = get_home_dir(); char *result = g_build_filename(home, "Videos", NULL); g_free(home); diff --git a/src/gsr-record-page.c b/src/gsr-record-page.c index 1a34c0a..24247da 100644 --- a/src/gsr-record-page.c +++ b/src/gsr-record-page.c @@ -69,10 +69,7 @@ G_DEFINE_FINAL_TYPE(GsrRecordPage, gsr_record_page, ADW_TYPE_PREFERENCES_PAGE) static char * get_default_videos_dir(void) { - const char *vdir = g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS); - if (vdir) - return g_strdup(vdir); - return g_build_filename(g_get_home_dir(), "Videos", NULL); + return gsr_config_get_videos_dir(); } /* ── Timer helpers ───────────────────────────────────────────────── */ diff --git a/src/gsr-replay-page.c b/src/gsr-replay-page.c index 0a354be..3c516a8 100644 --- a/src/gsr-replay-page.c +++ b/src/gsr-replay-page.c @@ -67,10 +67,7 @@ G_DEFINE_FINAL_TYPE(GsrReplayPage, gsr_replay_page, ADW_TYPE_PREFERENCES_PAGE) static char * get_default_videos_dir(void) { - const char *vdir = g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS); - if (vdir) - return g_strdup(vdir); - return g_build_filename(g_get_home_dir(), "Videos", NULL); + return gsr_config_get_videos_dir(); } /* ── Timer helpers ───────────────────────────────────────────────── */ |
