Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Follow XDG Base Directory specification #1967

Closed
3 tasks done
erlisdhima opened this issue Mar 17, 2023 · 4 comments
Closed
3 tasks done

Follow XDG Base Directory specification #1967

erlisdhima opened this issue Mar 17, 2023 · 4 comments
Assignees
Labels
conclusion: duplicate Has already been submitted os: linux Specific to Linux operating system topic: CLI Related to Arduino CLI topic: theia Related to the Theia IDE framework type: enhancement Proposed improvement

Comments

@erlisdhima
Copy link

erlisdhima commented Mar 17, 2023

Describe the request

There's a specification in Linux where directories and files should go for users.
https://wiki.archlinux.org/title/XDG_Base_Directory

It would be ideal if the Arduino IDE would follow it so that it reduces clutter in the $HOME directory, i.e.:

$XDG_CONFIG_HOME/arduino15 instead of ~/.arduino15

$XDG_CONFIG_HOME/arduinoIDE instead of ~/.arduinoIDE

I understand that it may take a lot to implement properly, or add a config in the IDE itself, but could we not at least get an environment variable(s), which if set it will load the configs from that path?

This would solve the issue with migration, as it seems like the main justification arduino ide developers use to not implement this. And we would at least not have those directories in the home directory.

Aside from reducing the clutter in the home directory, there are many reasons for following the XDG specification, one of which is be able to include only specific directories to backup.
Right now we have to manually exclude these directories, which at some point you understand its too much and decide, f* it - I'll back up everything.

Describe the current behavior

Home dir is a complete mess at this point.

Arduino IDE version

2.0.4

Operating system

Linux

Operating system version

Ubuntu 22.04

Additional context

No response

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details
@erlisdhima erlisdhima added the type: enhancement Proposed improvement label Mar 17, 2023
@per1234 per1234 self-assigned this Mar 17, 2023
@per1234
Copy link
Contributor

per1234 commented Mar 17, 2023

Hi @erlisdhima. Thanks for taking the time to submit an issue.

$XDG_CONFIG_HOME/arduino15 instead of ~/.arduino15

I see we have another report about this at #1514.

$XDG_CONFIG_HOME/arduinoIDE instead of ~/.arduinoIDE

This path is set by the Eclipse Theia IDE framework Arduino IDE is built on, so the change would need to be made upstream. The Thiea developers are already tracking the request at eclipse-theia/theia#1518 / arduino/arduino-cli#1538

It is best to have only a single issue per subject so we can consolidate all relevant discussion to one place, so I'll go ahead and close this in favor of the others.

If you end up with additional information to share, feel free to comment in the other threads.

@per1234 per1234 closed this as not planned Won't fix, can't repro, duplicate, stale Mar 17, 2023
@per1234 per1234 added os: linux Specific to Linux operating system topic: CLI Related to Arduino CLI topic: theia Related to the Theia IDE framework conclusion: duplicate Has already been submitted labels Mar 17, 2023
@erlisdhima
Copy link
Author

Hi @per1234 , thanks for explaining and linking to the other pages! I will check the other threads.

@Michael2MacDonald
Copy link

This path is set by the Eclipse Theia IDE framework Arduino IDE is built on, so the change would need to be made upstream.

While I am not arguing that the change should or shouldn't be made upstream (as I don't have the knowledge to have an opinion on that), I would like to point out that after consulting the issue in the theia repo I was told the following:

it is customizable by products built with the framework.

I could be missing some key information, but it sounds like the change does not need to be made upstream. Maybe someone could provide information on why it should or shouldn't be made upstream or in the Arduino IDE? I would love to understand this issue better.

@SeongGino
Copy link

SeongGino commented Nov 28, 2023

The fact that home folder clutter remains (and as of 2.x, is even MORE of) an issue in current year is, frankly, baffling.

Can we PLEASE help end the clutter - or at the very least, let users define a custom directory with an environment variable? Despite all the improvements to the IDE, the extra needless dotfolder is making me reconsider going back to 1.8.x.

@arduino arduino locked as too heated and limited conversation to collaborators Nov 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
conclusion: duplicate Has already been submitted os: linux Specific to Linux operating system topic: CLI Related to Arduino CLI topic: theia Related to the Theia IDE framework type: enhancement Proposed improvement
Projects
None yet
Development

No branches or pull requests

4 participants