Skip to content

Conversation

ArnabTechiee
Copy link
Contributor

Description

This change updates the application to use the standard XDG config directory (~/.config/spotdl) on Linux, while maintaining backward compatibility for existing users.

Related Issue

Closes #2387

Motivation and Context

This helps de-clutter the user's home folder on Linux and follows standard conventions, as requested in issue #2387.

How Has This Been Tested?

I have manually tested the following scenarios:

  1. New user: Verified the new ~/.config/spotdl directory is created.
  2. Existing user (legacy): Verified the old ~/.spotdl directory is used if present.
  3. Existing user (modern): Verified the new ~/.config/spotdl is prioritized if both directories exist.

Screenshots (if appropriate)

Types of Changes

  • New feature (non-breaking change which adds functionality)

Checklist

  • My code follows the code style of this project
  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have read the CONTRIBUTING document
  • I have added tests to cover my changes
  • All new and existing tests passed

@Silverarmor Silverarmor requested a review from Copilot October 2, 2025 22:53
@Silverarmor Silverarmor changed the base branch from master to dev October 2, 2025 22:53
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements XDG Base Directory Specification compliance for Linux systems by changing the default config directory from ~/.spotdl to ~/.config/spotdl, while maintaining backward compatibility for existing users.

  • Updates get_spotdl_path() to use XDG config directory (~/.config/spotdl) on Linux
  • Implements backward compatibility logic to check for existing ~/.spotdl directory
  • Maintains current behavior for non-Linux systems

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Member

@Silverarmor Silverarmor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove import platformdirs

ArnabTechiee and others added 4 commits October 3, 2025 04:40
Co-authored-by: Jayden <23619946+Silverarmor@users.noreply.github.com>
Co-authored-by: Jayden <23619946+Silverarmor@users.noreply.github.com>
Co-authored-by: Jayden <23619946+Silverarmor@users.noreply.github.com>
Copy link
Member

@Silverarmor Silverarmor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thanks for your submission!

In the future, please update documentation and ensure tests pass. Instructions in CONTRIBUTING.md

@Silverarmor Silverarmor merged commit 4294b89 into spotDL:dev Oct 8, 2025
1 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Change config location to default on Linux

2 participants