diff options
| -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 ───────────────────────────────────────────────── */ |
