MCPcopy Create free account
hub / github.com/Alexays/Waybar / getIcon

Method getIcon

src/modules/sway/workspaces.cpp:386–418  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

384}
385
386std::string Workspaces::getIcon(const std::string& name, const Json::Value& node) {
387 std::vector<std::string> keys = {"high-priority-named", "urgent", "focused", name, "default"};
388 for (auto const& key : keys) {
389 if (key == "high-priority-named") {
390 auto it = std::find_if(high_priority_named_.begin(), high_priority_named_.end(),
391 [&](const std::string& member) { return member == name; });
392 if (it != high_priority_named_.end()) {
393 return config_["format-icons"][name].asString();
394 }
395
396 it = std::find_if(high_priority_named_.begin(), high_priority_named_.end(),
397 [&](const std::string& member) {
398 return trimWorkspaceName(member) == trimWorkspaceName(name);
399 });
400 if (it != high_priority_named_.end()) {
401 return config_["format-icons"][trimWorkspaceName(name)].asString();
402 }
403 }
404 if (key == "focused" || key == "urgent") {
405 if (config_["format-icons"][key].isString() && hasFlag(node, key)) {
406 return config_["format-icons"][key].asString();
407 }
408 } else if (config_["format-icons"]["persistent"].isString() &&
409 node["target_output"].isString()) {
410 return config_["format-icons"]["persistent"].asString();
411 } else if (config_["format-icons"][key].isString()) {
412 return config_["format-icons"][key].asString();
413 } else if (config_["format-icons"][trimWorkspaceName(key)].isString()) {
414 return config_["format-icons"][trimWorkspaceName(key)].asString();
415 }
416 }
417 return name;
418}
419
420bool Workspaces::handleScroll(GdkEventScroll* e) {
421 if (gdk_event_get_pointer_emulated((GdkEvent*)e) != 0) {

Callers

nothing calls this directly

Calls 2

beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected