Add option to wlr/workspaces to sort workspaces by number
This commit is contained in:
		
							parent
							
								
									5da45ece9d
								
							
						
					
					
						commit
						9a0013cb10
					
				|  | @ -152,6 +152,7 @@ class WorkspaceManager : public AModule { | |||
| 
 | ||||
|   bool sort_by_name_ = true; | ||||
|   bool sort_by_coordinates_ = true; | ||||
|   bool sort_by_number_ = false; | ||||
|   bool all_outputs_ = false; | ||||
|   bool active_only_ = false; | ||||
|   bool creation_delayed_ = false; | ||||
|  |  | |||
|  | @ -32,6 +32,11 @@ WorkspaceManager::WorkspaceManager(const std::string &id, const waybar::Bar &bar | |||
|     sort_by_coordinates_ = config_sort_by_coordinates.asBool(); | ||||
|   } | ||||
| 
 | ||||
|   auto config_sort_by_number = config_["sort-by-number"]; | ||||
|   if (config_sort_by_number.isBool()) { | ||||
|     sort_by_number_ = config_sort_by_number.asBool(); | ||||
|   } | ||||
| 
 | ||||
|   auto config_all_outputs = config_["all-outputs"]; | ||||
|   if (config_all_outputs.isBool()) { | ||||
|     all_outputs_ = config_all_outputs.asBool(); | ||||
|  | @ -61,6 +66,12 @@ auto WorkspaceManager::workspace_comparator() const | |||
|     auto is_name_less = lhs->get_name() < rhs->get_name(); | ||||
|     auto is_name_eq = lhs->get_name() == rhs->get_name(); | ||||
|     auto is_coords_less = lhs->get_coords() < rhs->get_coords(); | ||||
|     auto is_number_less = std::stoi(lhs->get_name()) < std::stoi(rhs->get_name()); | ||||
| 
 | ||||
|     if (sort_by_number_) { | ||||
|       return is_number_less; | ||||
|     } | ||||
| 
 | ||||
|     if (sort_by_name_) { | ||||
|       if (sort_by_coordinates_) { | ||||
|         return is_name_eq ? is_coords_less : is_name_less; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 herlev
						herlev