Hi,
At my office I work on a windows platform, and at home on a linux one. In both case I work with the same eagle version (6.5.0) ( even if it's with 2 different licenses :at work, one license belonging to my company, and at home one license I bought my self). I have some trouble to synchronize user preferences on the two platforms and also to archive them on a server. On linux, it's easyer because all user data is located in the user directory. But on windows (XP), it's not so that simple and it depends on windows version etc...
On eagle, user specific data (assign, colors etc..) are stored in $HOME/.eaglerc on linux, but in $HOME/eaglerc.usr on windows. Why using 2 different names ? It would be easier to use synchronization tools with the same file name !
Second problem is the location of the file. We can use $HOME environment variable under windows to define a better location for eaglerc.usr file, but changing this variable could be a problem for other software... and if we don't use it, the eaglerc file is lost in "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData" directory.... (VERY EASY TO FIND !!! ) And this case the $HOME is useless to define project, librairies,cam,... directories.
Third point, I approve James Morrison, (post "V7 installation") : each version should use a different eaglerc file name (with the version number in the name)...
So I suggest this:
- Eagle could still use a file name and location like V6 version does (with the adjustments proposed by James, see V7 installation post).
- BUT with 2 improvements :
- It's possible to define the $HOME directory in the eaglerc file.
- if a key "User.Eaglerc.file" is set with a valid file path, eagle stop reading the current file, and use this new file instead (like the -Uxxx command line option does) .
So by default the behavior is unchanged.
We can define the $HOME without changing environment variable.
We can define the name and where is the user-preference file.
It's also a way to configure a permanent -Uxxx option for eagle.
Here an example:
- On windows PC:
- I copy the eaglerc.usr file from "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData\" to "D: \Eagle_Data"
- I rename it "My_eaglerc.usr"
- I edit eaglerc.usr file (in "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\AppData\") : in this file there will be only 2 lines :
- Home.dir= "D: \Eagle_Data"
- User.Eaglerc.file = "$HOME/My_eaglerc.usr"
- On linux PC:
- I copy the .eaglerc file from "~/" to "~/Eagle_Data"
- I rename it "My_eaglerc.usr"
- II edit eaglerc.usr file (in "~/") : in this file there will be only 2 lines :
- Home.dir= "~/Eagle_Data"
- User.Eaglerc.file = "$HOME/My_eaglerc.usr"
That way, on both platform, the user preference file will be named "My_eaglerc.usr" and located in "Eagle_Data" directory. So with only one archive/backup/sync of "Eagle_Data" directory, I can archive/backup/sync :
- all user preferences
- all the library, project etc... file that are located in $HOME. (if we use $HOME to configure the default directories for libraries, project .....)
even if it's from a platform to an other.
Guillaume Barrey.