changes copied from 0f295234cc and 18fea0ac03

This commit is contained in:
Moshe Katz 2014-11-20 10:59:17 -05:00
parent 44e6184487
commit e5531537ad

View File

@ -79,7 +79,7 @@ optpair GetOption()
return pair; return pair;
} }
void StartCmder(std::wstring path) void StartCmder(std::wstring path, bool is_single_mode)
{ {
#if USE_TASKBAR_API #if USE_TASKBAR_API
wchar_t appId[MAX_PATH] = { 0 }; wchar_t appId[MAX_PATH] = { 0 };
@ -102,7 +102,14 @@ void StartCmder(std::wstring path)
PathCombine(cfgPath, exeDir, L"config\\ConEmu.xml"); PathCombine(cfgPath, exeDir, L"config\\ConEmu.xml");
PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe"); PathCombine(conEmuPath, exeDir, L"vendor\\conemu-maximus5\\ConEmu.exe");
if (is_single_mode)
{
swprintf_s(args, L"/single /Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
}
else
{
swprintf_s(args, L"/Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath); swprintf_s(args, L"/Icon \"%s\" /Title Cmder /LoadCfgFile \"%s\"", icoPath, cfgPath);
}
SetEnvironmentVariable(L"CMDER_ROOT", exeDir); SetEnvironmentVariable(L"CMDER_ROOT", exeDir);
SetEnvironmentVariable(L"CMDER_START", path.c_str()); SetEnvironmentVariable(L"CMDER_START", path.c_str());
@ -229,7 +236,11 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
if (streqi(opt.first.c_str(), L"/START")) if (streqi(opt.first.c_str(), L"/START"))
{ {
StartCmder(opt.second); StartCmder(opt.second, false);
}
else if (streqi(opt.first.c_str(), L"/SINGLE"))
{
StartCmder(opt.second, true);
} }
else if (streqi(opt.first.c_str(), L"/REGISTER")) else if (streqi(opt.first.c_str(), L"/REGISTER"))
{ {
@ -243,7 +254,7 @@ int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
} }
else else
{ {
MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n /START <path>\n /REGISTER [USER/ALL]\n /UNREGISTER [USER/ALL]", MB_TITLE, MB_OK); MessageBox(NULL, L"Unrecognized parameter.\n\nValid options:\n /START <path>\n /SINGLE <path>\n /REGISTER [USER/ALL]\n /UNREGISTER [USER/ALL]", MB_TITLE, MB_OK);
return 1; return 1;
} }