mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-31 07:52:42 +01:00 
			
		
		
		
	retain instance name css class for custom modules
When adding a custom module with a name, e.g.:
```jsonc
{
  ...,
  "custom/foo#bar": { },
  ...
}
```
The custom module does not retain the `bar` class as it should, because
all the classes are replaced with the runtime output:
1b4a7b02f4/src/modules/custom.cpp (L141-L147)
Avoid removing the module instance name class so css class behavior is
consistent between all modules.
			
			
This commit is contained in:
		| @@ -30,6 +30,7 @@ class Custom : public ALabel { | ||||
|  | ||||
|   const std::string name_; | ||||
|   std::string text_; | ||||
|   std::string id_; | ||||
|   std::string alt_; | ||||
|   std::string tooltip_; | ||||
|   std::vector<std::string> class_; | ||||
|   | ||||
| @@ -4,7 +4,12 @@ | ||||
|  | ||||
| waybar::modules::Custom::Custom(const std::string& name, const std::string& id, | ||||
|                                 const Json::Value& config) | ||||
|     : ALabel(config, "custom-" + name, id, "{}"), name_(name), fp_(nullptr), pid_(-1) { | ||||
|     : ALabel(config, "custom-" + name, id, "{}"), | ||||
|       name_(name), | ||||
|       id_(id), | ||||
|       percentage_(0), | ||||
|       fp_(nullptr), | ||||
|       pid_(-1) { | ||||
|   dp.emit(); | ||||
|   if (interval_.count() > 0) { | ||||
|     delayWorker(); | ||||
| @@ -140,6 +145,7 @@ auto waybar::modules::Custom::update() -> void { | ||||
|       } | ||||
|       auto classes = label_.get_style_context()->list_classes(); | ||||
|       for (auto const& c : classes) { | ||||
|         if (c == id_) continue; | ||||
|         label_.get_style_context()->remove_class(c); | ||||
|       } | ||||
|       for (auto const& c : class_) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Bao Trinh
					Bao Trinh