feat: conventional default download and share folders

The default download directory is now the platform Downloads folder plus
a Soulseek subfolder (via the directories crate — XDG on Linux, known
folder on Windows) instead of a tilde path that only worked with a HOME
variable. Sharing follows the Soulseek convention of sharing what you
download: shared_dir defaults to the download folder, and an explicitly
empty shared_dir opts out. The folder is created at startup so first-run
share validation succeeds.
This commit is contained in:
michel
2026-07-20 20:43:27 +02:00
parent 8221045aa0
commit 8389d525e7
4 changed files with 86 additions and 8 deletions
+2 -1
View File
@@ -40,7 +40,8 @@ pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
/// Directory downloads are saved to (default: ~/Downloads)
/// Directory downloads are saved to (default: your Downloads/Soulseek
/// folder, which is also shared unless shared_dir says otherwise)
#[arg(short, long, env = "SOULSEEK_DOWNLOAD_DIR")]
pub download_dir: Option<String>,