fix(workspaces): reorder child if needed on focus
This commit is contained in:
		
							parent
							
								
									00e5a1a7d5
								
							
						
					
					
						commit
						45832fcbe3
					
				|  | @ -50,11 +50,13 @@ void waybar::modules::Workspaces::updateThread() | |||
| auto waybar::modules::Workspaces::update() -> void | ||||
| { | ||||
|   Json::Value workspaces = _getWorkspaces(); | ||||
|   bool hided = false; | ||||
|   for (auto it = _buttons.begin(); it != _buttons.end(); ++it) { | ||||
|     auto ws = std::find_if(workspaces.begin(), workspaces.end(), | ||||
|       [it](auto node) -> bool { return node["num"].asInt() == it->first; }); | ||||
|     if (ws == workspaces.end()) { | ||||
|       it->second.hide(); | ||||
|       hided = true; | ||||
|     } | ||||
|   } | ||||
|   for (auto node : workspaces) { | ||||
|  | @ -69,6 +71,9 @@ auto waybar::modules::Workspaces::update() -> void | |||
|       } else if (!styleContext->has_class("current") && isCurrent) { | ||||
|         styleContext->add_class("current"); | ||||
|       } | ||||
|       if (hided) { | ||||
|         _box->reorder_child(it->second, node["num"].asInt() - 1); | ||||
|       } | ||||
|       it->second.show(); | ||||
|     } | ||||
|   } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue