fix: config per output
This commit is contained in:
parent
973cec1713
commit
2995da845d
97
src/bar.cpp
97
src/bar.cpp
|
@ -37,7 +37,54 @@ waybar::Bar::Bar(const Client& client,
|
||||||
|
|
||||||
void waybar::Bar::initBar()
|
void waybar::Bar::initBar()
|
||||||
{
|
{
|
||||||
std::size_t layer_top = config_["layer"] == "top"
|
// Converting string to button code rn as to avoid doing it later
|
||||||
|
auto setupAltFormatKeyForModule = [this](const std::string& module_name){
|
||||||
|
if (config_.isMember(module_name)) {
|
||||||
|
Json::Value& module = config_[module_name];
|
||||||
|
if (module.isMember("format-alt")) {
|
||||||
|
if (module.isMember("format-alt-click")) {
|
||||||
|
Json::Value& click = module["format-alt-click"];
|
||||||
|
if (click.isString()) {
|
||||||
|
std::string str_click = click.asString();
|
||||||
|
|
||||||
|
if (str_click == "click-right") {
|
||||||
|
module["format-alt-click"] = 3u;
|
||||||
|
} else if (str_click == "click-middle") {
|
||||||
|
module["format-alt-click"] = 2u;
|
||||||
|
} else if (str_click == "click-backward") {
|
||||||
|
module["format-alt-click"] = 8u;
|
||||||
|
} else if (str_click == "click-forward") {
|
||||||
|
module["format-alt-click"] = 9u;
|
||||||
|
} else {
|
||||||
|
module["format-alt-click"] = 1u; // default click-left
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
module["format-alt-click"] = 1u;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
module["format-alt-click"] = 1u;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
auto setupAltFormatKeyForModuleList = [this, &setupAltFormatKeyForModule](const char* module_list_name) {
|
||||||
|
if (config_.isMember(module_list_name)) {
|
||||||
|
Json::Value& modules = config_[module_list_name];
|
||||||
|
for (const Json::Value& module_name : modules) {
|
||||||
|
if (module_name.isString()) {
|
||||||
|
setupAltFormatKeyForModule(module_name.asString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Convert to button code for every module that is used.
|
||||||
|
setupAltFormatKeyForModuleList("modules-left");
|
||||||
|
setupAltFormatKeyForModuleList("modules-right");
|
||||||
|
setupAltFormatKeyForModuleList("modules-center");
|
||||||
|
std::size_t layer_top = config_["layer"] == "top"
|
||||||
? ZWLR_LAYER_SHELL_V1_LAYER_TOP : ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM;
|
? ZWLR_LAYER_SHELL_V1_LAYER_TOP : ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM;
|
||||||
layer_surface = zwlr_layer_shell_v1_get_layer_surface(
|
layer_surface = zwlr_layer_shell_v1_get_layer_surface(
|
||||||
client.layer_shell, surface, *output, layer_top, "waybar");
|
client.layer_shell, surface, *output, layer_top, "waybar");
|
||||||
|
@ -196,54 +243,6 @@ auto waybar::Bar::setupConfig() -> void
|
||||||
std::istreambuf_iterator<char>());
|
std::istreambuf_iterator<char>());
|
||||||
util::JsonParser parser;
|
util::JsonParser parser;
|
||||||
config_ = parser.parse(str);
|
config_ = parser.parse(str);
|
||||||
|
|
||||||
// Converting string to button code rn as to avoid doing it later
|
|
||||||
auto setupAltFormatKeyForModule = [this](const std::string& module_name){
|
|
||||||
if (config_.isMember(module_name)) {
|
|
||||||
Json::Value& module = config_[module_name];
|
|
||||||
if (module.isMember("format-alt")) {
|
|
||||||
if (module.isMember("format-alt-click")) {
|
|
||||||
Json::Value& click = module["format-alt-click"];
|
|
||||||
if (click.isString()) {
|
|
||||||
std::string str_click = click.asString();
|
|
||||||
|
|
||||||
if (str_click == "click-right") {
|
|
||||||
module["format-alt-click"] = 3u;
|
|
||||||
} else if (str_click == "click-middle") {
|
|
||||||
module["format-alt-click"] = 2u;
|
|
||||||
} else if (str_click == "click-backward") {
|
|
||||||
module["format-alt-click"] = 8u;
|
|
||||||
} else if (str_click == "click-forward") {
|
|
||||||
module["format-alt-click"] = 9u;
|
|
||||||
} else {
|
|
||||||
module["format-alt-click"] = 1u; // default click-left
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
module["format-alt-click"] = 1u;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
module["format-alt-click"] = 1u;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
auto setupAltFormatKeyForModuleList = [this, &setupAltFormatKeyForModule](const char* module_list_name) {
|
|
||||||
if (config_.isMember(module_list_name)) {
|
|
||||||
Json::Value& modules = config_[module_list_name];
|
|
||||||
for (const Json::Value& module_name : modules) {
|
|
||||||
if (module_name.isString()) {
|
|
||||||
setupAltFormatKeyForModule(module_name.asString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Convert to button code for every module that is used.
|
|
||||||
setupAltFormatKeyForModuleList("modules-left");
|
|
||||||
setupAltFormatKeyForModuleList("modules-right");
|
|
||||||
setupAltFormatKeyForModuleList("modules-center");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auto waybar::Bar::setupCss() -> void
|
auto waybar::Bar::setupCss() -> void
|
||||||
|
|
Loading…
Reference in New Issue