Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ Developers corner » Things we want from Linux/FreeBSD release archives
Re: Things we want from Linux/FreeBSD release archives [message #53477 is a reply to message #53475] Sun, 05 April 2020 13:07 Go to previous message
mirek is currently offline  mirek
Messages: 13976
Registered: November 2005
Ultimate Member
amrein wrote on Sun, 05 April 2020 11:46
Hi

I don't understand why we use ~/.config and ~/.cache and not directories in the current source directory when U++ is inside user home directory.
I mean, the main idea of sandboxing is to keep everything in the same directory, right? Sad



You have missed the description of the process. It is quite more complicated then just using ~/.config / ~.cache.

String  ConfigFile(const char *file) {
	if(sConfigFolder.GetCount())
		return AppendFileName(sConfigFolder, file);
#if defined(PLATFORM_WIN32)
	if(sHomecfg) {
		String p = GetHomeDirFile(GetAppName());
		ONCELOCK
			RealizeDirectory(p);
		return AppendFileName(p, file);
	}
	return GetExeDirFile(file);
#elif defined(PLATFORM_POSIX)
	static String cfgdir;
	ONCELOCK {
		String h = GetExeFolder();
		if(!sHomecfg)
			while(h.GetCount() > 1 && DirectoryExists(h)) {
				String pp = AppendFileName(h, ".config");
				FindFile ff(pp);
				if(ff && ff.IsFolder() && ff.CanWrite()) {
					cfgdir = pp;
					break;
				}
				h = GetFileFolder(h);
			}
		if(IsNull(cfgdir))
			cfgdir = GetEnv("XDG_CONFIG_HOME");
		if(IsNull(cfgdir) || !DirectoryExists(cfgdir))
			cfgdir = GetHomeDirFile(".config");
		if(sConfigGroup.GetCount())
			cfgdir = AppendFileName(cfgdir, sConfigGroup);
	}
	String pp = AppendFileName(cfgdir, GetAppName());
	RealizeDirectory(pp);
	return AppendFileName(pp, file);
#else
	NEVER();
	return GetExeDirFile(file);
#endif//PLATFORM
}
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: U++ does not appear to like playing nice with the Boost algorithm string library?
Next Topic: [POLL] Should we upgrade umk command line behavior ?
Goto Forum:
  


Current Time: Thu May 09 21:05:29 CEST 2024

Total time taken to generate the page: 0.01557 seconds