mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-30 23:42:42 +01:00 
			
		
		
		
	Add option to wlr/workspaces to sort workspaces by number
This commit is contained in:
		| @@ -152,6 +152,7 @@ class WorkspaceManager : public AModule { | |||||||
|  |  | ||||||
|   bool sort_by_name_ = true; |   bool sort_by_name_ = true; | ||||||
|   bool sort_by_coordinates_ = true; |   bool sort_by_coordinates_ = true; | ||||||
|  |   bool sort_by_number_ = false; | ||||||
|   bool all_outputs_ = false; |   bool all_outputs_ = false; | ||||||
|   bool active_only_ = false; |   bool active_only_ = false; | ||||||
|   bool creation_delayed_ = 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(); |     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"]; |   auto config_all_outputs = config_["all-outputs"]; | ||||||
|   if (config_all_outputs.isBool()) { |   if (config_all_outputs.isBool()) { | ||||||
|     all_outputs_ = config_all_outputs.asBool(); |     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_less = lhs->get_name() < rhs->get_name(); | ||||||
|     auto is_name_eq = 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_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_name_) { | ||||||
|       if (sort_by_coordinates_) { |       if (sort_by_coordinates_) { | ||||||
|         return is_name_eq ? is_coords_less : is_name_less; |         return is_name_eq ? is_coords_less : is_name_less; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 herlev
					herlev