settings: make initial slave screen focus optional
This commit is contained in:
@@ -144,10 +144,16 @@ int main(int argc, char **argv)
|
||||
// lock current screen and go to the slave one if applicable
|
||||
if (Config.startup_slave_screen_type)
|
||||
{
|
||||
auto slave_screen = *Config.startup_slave_screen_type;
|
||||
auto slave_screen_type = *Config.startup_slave_screen_type;
|
||||
bool screen_locked = myScreen->lock();
|
||||
if (screen_locked && slave_screen != myScreen->type())
|
||||
toScreen(slave_screen)->switchTo();
|
||||
if (screen_locked && slave_screen_type != myScreen->type())
|
||||
{
|
||||
auto slave_screen = toScreen(slave_screen_type);
|
||||
assert(slave_screen != nullptr);
|
||||
slave_screen->switchTo();
|
||||
if (!Config.startup_slave_screen_focus)
|
||||
Actions::get(Actions::Type::MasterScreen).execute();
|
||||
}
|
||||
}
|
||||
|
||||
// local variables
|
||||
|
||||
@@ -546,6 +546,9 @@ bool Configuration::read(const std::vector<std::string> &config_paths, bool igno
|
||||
}
|
||||
}, defaults_to(startup_slave_screen_type, boost::none)
|
||||
));
|
||||
p.add("startup_slave_screen_focus", yes_no(
|
||||
startup_slave_screen_focus, false
|
||||
));
|
||||
p.add("locked_screen_width_part", assign_default<double>(
|
||||
locked_screen_width_part, 50.0, [](double v) {
|
||||
return v / 100;
|
||||
|
||||
@@ -165,6 +165,7 @@ struct Configuration
|
||||
bool ask_for_locked_screen_width_part;
|
||||
bool allow_for_physical_item_deletion;
|
||||
bool progressbar_boldness;
|
||||
bool startup_slave_screen_focus;
|
||||
|
||||
unsigned mpd_connection_timeout;
|
||||
unsigned crossfade_time;
|
||||
|
||||
Reference in New Issue
Block a user