My TCL/TK application prompts the user to choose a location where to save a file.
What should the value of the -initialdir option be so that the Desktop is the default location?
I tried %userprofile%\desktop, but it’s not working.
set dir [tk_chooseDirectory -title "Where do you want to save the config file?" -initialdir %userprofile%\desktop]
Thanks
The safest way is to use twapi‘s get_shell_folder command with the argument “csidl_common_desktopdirectory” to get the path to the “all users” desktop directory, or “csidl_desktopdirectory” to get the current user’s desktop.
If you don’t want to depend on twapi, the paths can be found in the registry, but I don’t know how reliable it is. For example:
This returns “%USERPROFILE%\Skrivbord” on my system. You still have to expand the USERPROFILE variable (and any other variables). That’s best done with twapi::expand_environment_strings, but since you’re not using twapi, try regsub:ing %USERPROFILE% with $env(HOME) instead.
Or if you don’t care about people with non-english Windows, just use “~/Desktop”.