mirror of
				https://github.com/cmderdev/cmder.git
				synced 2025-11-01 01:42:17 +08:00 
			
		
		
		
	Ignore %cmder_root%\config (#1945)
				
					
				
			* move default comemu.xml to vendor folder * ignore all of config folder * cleanup
This commit is contained in:
		
				
					committed by
					
						 Benjamin Staneck
						Benjamin Staneck
					
				
			
			
				
	
			
			
			
						parent
						
							a5bdecca77
						
					
				
				
					commit
					637b0fd3ac
				
			
							
								
								
									
										13
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,27 +1,24 @@ | |||||||
|  |  | ||||||
| ## Those files should be taken from their repositary | ## Those files should be taken from their repositary | ||||||
|  |  | ||||||
| bin/*/* | bin/* | ||||||
| !bin/Readme.md | !bin/Readme.md | ||||||
|  |  | ||||||
| vendor/*/* | vendor/*/* | ||||||
| !vendor/bin/* | !vendor/bin/* | ||||||
| !vendor/lib/* | !vendor/lib/* | ||||||
| !vendor/* | !vendor/* | ||||||
| !vendor/psmodules/PsGet | !vendor/psmodules/PsGet | ||||||
|  |  | ||||||
| config/.history | config/* | ||||||
|  | !config/Readme.md | ||||||
|  |  | ||||||
| Thumbs.db | Thumbs.db | ||||||
| *.exe | *.exe | ||||||
| *.dll | *.dll | ||||||
| build/ | build/ | ||||||
| Version v* | Version v* | ||||||
| *.bak | *.bak | ||||||
| config/user-* |  | ||||||
| config/user_* |  | ||||||
| config/*.lua |  | ||||||
| config/settings |  | ||||||
| config/aliases |  | ||||||
| config/profile.d |  | ||||||
| .github_changelog_generator | .github_changelog_generator | ||||||
| launcher/.vs | launcher/.vs | ||||||
| launcher/src/version.rc2 | launcher/src/version.rc2 | ||||||
|   | |||||||
| @@ -110,8 +110,12 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
|  |  | ||||||
| 	PathCombine(configDirPath, exeDir, L"config"); | 	PathCombine(configDirPath, exeDir, L"config"); | ||||||
|  |  | ||||||
|  | 	/* | ||||||
|  | 	Convert legacy user-profile.cmd to new name user_profile.cmd | ||||||
|  | 	*/ | ||||||
| 	PathCombine(legacyUserProfilePath, configDirPath, L"user-profile.cmd"); | 	PathCombine(legacyUserProfilePath, configDirPath, L"user-profile.cmd"); | ||||||
| 	if (PathFileExists(legacyUserProfilePath)) { | 	if (PathFileExists(legacyUserProfilePath)) | ||||||
|  | 	{ | ||||||
| 		PathCombine(userProfilePath, configDirPath, L"user_profile.cmd"); | 		PathCombine(userProfilePath, configDirPath, L"user_profile.cmd"); | ||||||
|  |  | ||||||
| 		char      *lPr = (char *)malloc(MAX_PATH); | 		char      *lPr = (char *)malloc(MAX_PATH); | ||||||
| @@ -124,8 +128,12 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 		rename(lPr, pR); | 		rename(lPr, pR); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	/* | ||||||
|  | 	Convert legacy user-aliases.cmd to new name user_aliases.cmd | ||||||
|  | 	*/ | ||||||
| 	PathCombine(legacyUserAliasesPath, configDirPath, L"user-aliases.cmd"); | 	PathCombine(legacyUserAliasesPath, configDirPath, L"user-aliases.cmd"); | ||||||
| 	if (PathFileExists(legacyUserAliasesPath)) { | 	if (PathFileExists(legacyUserAliasesPath)) | ||||||
|  | 	{ | ||||||
| 		PathCombine(userAliasesPath, configDirPath, L"user_aliases.cmd"); | 		PathCombine(userAliasesPath, configDirPath, L"user_aliases.cmd"); | ||||||
|  |  | ||||||
| 		char      *lPr = (char *)malloc(MAX_PATH); | 		char      *lPr = (char *)malloc(MAX_PATH); | ||||||
| @@ -138,12 +146,17 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 		rename(lPr, pR); | 		rename(lPr, pR); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	/* | ||||||
|  | 	Was -c [path] specified? | ||||||
|  | 	*/ | ||||||
| 	if (wcscmp(userConfigDirPath, L"") == 0) | 	if (wcscmp(userConfigDirPath, L"") == 0) | ||||||
| 	{ | 	{ | ||||||
|  | 		// No - It wasn't.  | ||||||
| 		PathCombine(userConfigDirPath, exeDir, L"config"); | 		PathCombine(userConfigDirPath, exeDir, L"config"); | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
|  | 		// Yes - It was. | ||||||
| 		PathCombine(userBinDirPath, userConfigDirPath, L"bin"); | 		PathCombine(userBinDirPath, userConfigDirPath, L"bin"); | ||||||
| 		SHCreateDirectoryEx(0, userBinDirPath, 0); | 		SHCreateDirectoryEx(0, userBinDirPath, 0); | ||||||
|  |  | ||||||
| @@ -153,8 +166,12 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 		PathCombine(userProfiledDirPath, userConfigDirPath, L"profile.d"); | 		PathCombine(userProfiledDirPath, userConfigDirPath, L"profile.d"); | ||||||
| 		SHCreateDirectoryEx(0, userProfiledDirPath, 0); | 		SHCreateDirectoryEx(0, userProfiledDirPath, 0); | ||||||
|  |  | ||||||
|  | 		/* | ||||||
|  | 		Convert legacy user-profile.cmd to new name user_profile.cmd | ||||||
|  | 		*/ | ||||||
| 		PathCombine(legacyUserProfilePath, userConfigDirPath, L"user-profile.cmd"); | 		PathCombine(legacyUserProfilePath, userConfigDirPath, L"user-profile.cmd"); | ||||||
| 		if (PathFileExists(legacyUserProfilePath)) { | 		if (PathFileExists(legacyUserProfilePath)) | ||||||
|  | 		{ | ||||||
| 			PathCombine(userProfilePath, userConfigDirPath, L"user_profile.cmd"); | 			PathCombine(userProfilePath, userConfigDirPath, L"user_profile.cmd"); | ||||||
|  |  | ||||||
| 			char      *lPr = (char *)malloc(MAX_PATH); | 			char      *lPr = (char *)malloc(MAX_PATH); | ||||||
| @@ -167,8 +184,12 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 			rename(lPr, pR); | 			rename(lPr, pR); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|  | 		/* | ||||||
|  | 		Convert legacy user-aliases.cmd to new name user_aliases.cmd | ||||||
|  | 		*/ | ||||||
| 		PathCombine(legacyUserAliasesPath, userConfigDirPath, L"user-aliases.cmd"); | 		PathCombine(legacyUserAliasesPath, userConfigDirPath, L"user-aliases.cmd"); | ||||||
| 		if (PathFileExists(legacyUserAliasesPath)) { | 		if (PathFileExists(legacyUserAliasesPath)) | ||||||
|  | 		{ | ||||||
| 			PathCombine(userAliasesPath, userConfigDirPath, L"user_aliases.cmd"); | 			PathCombine(userAliasesPath, userConfigDirPath, L"user_aliases.cmd"); | ||||||
|  |  | ||||||
| 			char      *lPr = (char *)malloc(MAX_PATH); | 			char      *lPr = (char *)malloc(MAX_PATH); | ||||||
| @@ -186,15 +207,19 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 	PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml"); | 	PathCombine(cfgPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.xml"); | ||||||
|  |  | ||||||
| 	// Set path to Cmder default ConEmu config file | 	// Set path to Cmder default ConEmu config file | ||||||
| 	PathCombine(defaultCfgPath, exeDir, L"config\\ConEmu.xml"); | 	PathCombine(defaultCfgPath, exeDir, L"config\\vendor\\ConEmu.xml.default"); | ||||||
|  |  | ||||||
| 	// Check for machine-specific then user config source file. | 	// Check for machine-specific then user config source file. | ||||||
| 	PathCombine(cpuCfgPath, userConfigDirPath, L"ConEmu-%COMPUTERNAME%.xml"); | 	PathCombine(cpuCfgPath, userConfigDirPath, L"ConEmu-%COMPUTERNAME%.xml"); | ||||||
| 	ExpandEnvironmentStrings(cpuCfgPath, cpuCfgPath, sizeof(cpuCfgPath) / sizeof(cpuCfgPath[0])); | 	ExpandEnvironmentStrings(cpuCfgPath, cpuCfgPath, sizeof(cpuCfgPath) / sizeof(cpuCfgPath[0])); | ||||||
|  |  | ||||||
|  | 	// Set path to Cmder user ConEmu config file | ||||||
| 	PathCombine(userCfgPath, userConfigDirPath, L"user-ConEmu.xml"); | 	PathCombine(userCfgPath, userConfigDirPath, L"user-ConEmu.xml"); | ||||||
| 	if (PathFileExists(cpuCfgPath)) { |  | ||||||
| 		if (PathFileExists(cfgPath)) { | 	if (PathFileExists(cpuCfgPath)) // If machine-specific ConEmu config file exists - use it. | ||||||
|  | 	{ | ||||||
|  | 		if (PathFileExists(cfgPath)) // If vendor ConEmu config file exists - back it up to config/ConEmu-%COMPUTERNAME%.xml. | ||||||
|  | 		{ | ||||||
| 			if (!CopyFile(cfgPath, cpuCfgPath, FALSE)) | 			if (!CopyFile(cfgPath, cpuCfgPath, FALSE)) | ||||||
| 			{ | 			{ | ||||||
| 				MessageBox(NULL, | 				MessageBox(NULL, | ||||||
| @@ -204,7 +229,7 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 				exit(1); | 				exit(1); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		else | 		else // If vendor ConEmu config file does not exists - Copy machine-specific config/ConEmu-%COMPUTERNAME%.xml to vendor ConEmu.xml file | ||||||
| 		{ | 		{ | ||||||
| 			if (!CopyFile(cpuCfgPath, cfgPath, FALSE)) | 			if (!CopyFile(cpuCfgPath, cfgPath, FALSE)) | ||||||
| 			{ | 			{ | ||||||
| @@ -216,8 +241,10 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else if (PathFileExists(userCfgPath)) { | 	else if (PathFileExists(userCfgPath)) // If config/user_conemu.xml exists use it.  | ||||||
| 		if (PathFileExists(cfgPath)) { | 	{ | ||||||
|  | 		if (PathFileExists(cfgPath)) // If vendor conemu.xml exits back it up to config/user_conemu.xml. | ||||||
|  | 		{ | ||||||
| 			if (!CopyFile(cfgPath, userCfgPath, FALSE)) | 			if (!CopyFile(cfgPath, userCfgPath, FALSE)) | ||||||
| 			{ | 			{ | ||||||
| 				MessageBox(NULL, | 				MessageBox(NULL, | ||||||
| @@ -227,7 +254,7 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 				exit(1); | 				exit(1); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		else | 		else // If vendor conemu.xml does not exist copy user_conemu.xml to vendor conemu.xml | ||||||
| 		{ | 		{ | ||||||
| 			if (!CopyFile(userCfgPath, cfgPath, FALSE)) | 			if (!CopyFile(userCfgPath, cfgPath, FALSE)) | ||||||
| 			{ | 			{ | ||||||
| @@ -239,7 +266,8 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else if (PathFileExists(cfgPath)) { | 	else if (PathFileExists(cfgPath)) // If vendor conemu.xml exists copy config/user_conemu.xml | ||||||
|  | 	{ | ||||||
| 		if (!CopyFile(cfgPath, userCfgPath, FALSE)) | 		if (!CopyFile(cfgPath, userCfgPath, FALSE)) | ||||||
| 		{ | 		{ | ||||||
| 			MessageBox(NULL, | 			MessageBox(NULL, | ||||||
| @@ -249,7 +277,8 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
| 			exit(1); | 			exit(1); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else { | 	else // No previous conemu.xml config exists use the default. | ||||||
|  | 	{ | ||||||
| 		if (!CopyFile(defaultCfgPath, cfgPath, FALSE)) | 		if (!CopyFile(defaultCfgPath, cfgPath, FALSE)) | ||||||
| 		{ | 		{ | ||||||
| 			MessageBox(NULL, | 			MessageBox(NULL, | ||||||
| @@ -262,28 +291,34 @@ void StartCmder(std::wstring  path = L"", bool is_single_mode = false, std::wstr | |||||||
|  |  | ||||||
| 	SYSTEM_INFO sysInfo; | 	SYSTEM_INFO sysInfo; | ||||||
| 	GetNativeSystemInfo(&sysInfo); | 	GetNativeSystemInfo(&sysInfo); | ||||||
| 	if (sysInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) { | 	if (sysInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) | ||||||
|  | 	{ | ||||||
| 		PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu64.exe"); | 		PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu64.exe"); | ||||||
| 	} | 	} | ||||||
| 	else { | 	else | ||||||
|  | 	{ | ||||||
| 		PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe"); | 		PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe"); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (is_single_mode) | 	if (is_single_mode) | ||||||
| 	{ | 	{ | ||||||
| 		if (!streqi(cmderTask.c_str(), L"")) { | 		if (!streqi(cmderTask.c_str(), L"")) | ||||||
|  | 		{ | ||||||
| 			swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", args, icoPath, cmderStart.c_str(), cmderTask.c_str()); | 			swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", args, icoPath, cmderStart.c_str(), cmderTask.c_str()); | ||||||
| 		} | 		} | ||||||
| 		else { | 		else | ||||||
|  | 		{ | ||||||
| 			swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str()); | 			swprintf_s(args, L"%s /single /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str()); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| 		if (!streqi(cmderTask.c_str(), L"")) { | 		if (!streqi(cmderTask.c_str(), L"")) | ||||||
|  | 		{ | ||||||
| 			swprintf_s(args, L"/Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", icoPath, cmderStart.c_str(), cmderTask.c_str()); | 			swprintf_s(args, L"/Icon \"%s\" /Title Cmder /dir \"%s\" /run {%s}", icoPath, cmderStart.c_str(), cmderTask.c_str()); | ||||||
| 		} | 		} | ||||||
| 		else { | 		else | ||||||
|  | 		{ | ||||||
| 			swprintf_s(args, L"%s /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str()); | 			swprintf_s(args, L"%s /Icon \"%s\" /Title Cmder /dir \"%s\"", args, icoPath, cmderStart.c_str()); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| @@ -435,7 +470,8 @@ cmderOptions GetOption() | |||||||
|  |  | ||||||
| 			cmderOptions.cmderCfgRoot = cmderCfgRoot; | 			cmderOptions.cmderCfgRoot = cmderCfgRoot; | ||||||
|  |  | ||||||
| 			if (szArgList[i + 1] != NULL && szArgList[i + 1][0] != '/') { | 			if (szArgList[i + 1] != NULL && szArgList[i + 1][0] != '/') | ||||||
|  | 			{ | ||||||
| 				cmderOptions.cmderCfgRoot = szArgList[i + 1]; | 				cmderOptions.cmderCfgRoot = szArgList[i + 1]; | ||||||
| 				i++; | 				i++; | ||||||
| 			} | 			} | ||||||
| @@ -453,7 +489,8 @@ cmderOptions GetOption() | |||||||
| 				cmderOptions.cmderStart = szArgList[i + 1]; | 				cmderOptions.cmderStart = szArgList[i + 1]; | ||||||
| 				i++; | 				i++; | ||||||
| 			} | 			} | ||||||
| 			else { | 			else | ||||||
|  | 			{ | ||||||
| 				MessageBox(NULL, szArgList[i + 1], L"/START - Folder does not exist!", MB_OK); | 				MessageBox(NULL, szArgList[i + 1], L"/START - Folder does not exist!", MB_OK); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| @@ -505,11 +542,13 @@ cmderOptions GetOption() | |||||||
| 				cmderOptions.cmderStart = szArgList[i]; | 				cmderOptions.cmderStart = szArgList[i]; | ||||||
| 				i++; | 				i++; | ||||||
| 			} | 			} | ||||||
| 			else { | 			else | ||||||
|  | 			{ | ||||||
| 				MessageBox(NULL, szArgList[i], L"Folder does not exist!", MB_OK); | 				MessageBox(NULL, szArgList[i], L"Folder does not exist!", MB_OK); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		else { | 		else  | ||||||
|  | 		{ | ||||||
| 			MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n    /c [CMDER User Root Path]\n\n    /task [ConEmu Task Name]\n\n    [/start [Start in Path] | [Start in Path]]\n\n    /single\n\nor\n\n    /register [USER | ALL]\n\nor\n\n    /unregister [USER | ALL]\n", MB_TITLE, MB_OK); | 			MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n\n    /c [CMDER User Root Path]\n\n    /task [ConEmu Task Name]\n\n    [/start [Start in Path] | [Start in Path]]\n\n    /single\n\nor\n\n    /register [USER | ALL]\n\nor\n\n    /unregister [USER | ALL]\n", MB_TITLE, MB_OK); | ||||||
| 			cmderOptions.error = true; | 			cmderOptions.error = true; | ||||||
| 		} | 		} | ||||||
| @@ -531,7 +570,8 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, | |||||||
|  |  | ||||||
| 	cmderOptions cmderOptions = GetOption(); | 	cmderOptions cmderOptions = GetOption(); | ||||||
|  |  | ||||||
| 	if (cmderOptions.registerApp == true) { | 	if (cmderOptions.registerApp == true) | ||||||
|  | 	{ | ||||||
| 		RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_BACKGROUND); | 		RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_BACKGROUND); | ||||||
| 		RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_LISTITEM); | 		RegisterShellMenu(cmderOptions.cmderRegScope, SHELL_MENU_REGISTRY_PATH_LISTITEM); | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user