forked from quickshell/quickshell
core/command: add --no-duplicate
This commit is contained in:
parent
47ec85ffef
commit
9d21a01153
1 changed files with 13 additions and 4 deletions
|
@ -132,6 +132,7 @@ struct CommandState {
|
|||
struct {
|
||||
bool printVersion = false;
|
||||
bool killAll = false;
|
||||
bool noDuplicate = false;
|
||||
} misc;
|
||||
};
|
||||
|
||||
|
@ -239,13 +240,13 @@ int runCommand(int argc, char** argv, QCoreApplication* coreApplication) {
|
|||
{
|
||||
cli.add_flag("-V,--version", state.misc.printVersion)
|
||||
->description("Print quickshell's version and exit.");
|
||||
|
||||
cli.add_flag("--no-duplicate", state.misc.noDuplicate)
|
||||
->description("Exit immediately if another instance of the given config is running.");
|
||||
}
|
||||
|
||||
{
|
||||
auto* sub = cli.add_subcommand("log", "Read quickshell logs.\n")
|
||||
->description("If file is specified, the given file will be read.\n"
|
||||
"If not, the log of the first launched instance matching"
|
||||
"the instance selection flags will be read.");
|
||||
auto* sub = cli.add_subcommand("log", "Print quickshell logs.");
|
||||
|
||||
auto* file = sub->add_option("file", state.log.file, "Log file to read.");
|
||||
|
||||
|
@ -644,6 +645,14 @@ int launchFromCommand(CommandState& cmd, QCoreApplication* coreApplication) {
|
|||
auto r = locateConfigFile(cmd, configPath);
|
||||
if (r != 0) return r;
|
||||
|
||||
{
|
||||
InstanceLockInfo info;
|
||||
if (cmd.misc.noDuplicate && selectInstance(cmd, &info) == 0) {
|
||||
qCDebug(logBare) << "An instance of this configuration is already running.";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return launch(
|
||||
{
|
||||
.configPath = configPath,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue