mirror of
				https://github.com/rad4day/Waybar.git
				synced 2025-10-29 23:22:41 +01:00 
			
		
		
		
	Merge pull request #1008 from nullobsi/label-sizing
improve module sizing options
This commit is contained in:
		| @@ -24,6 +24,14 @@ The *backlight* module displays the current backlight level. | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in characters the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *rotate*: ++ | ||||
| 	typeof: integer ++ | ||||
| 	Positive value to rotate the text label. | ||||
|   | ||||
| @@ -55,6 +55,14 @@ The *battery* module displays the current capacity and state (eg. charging) of y | ||||
| 	typeof: integer++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *rotate*: ++ | ||||
| 	typeof: integer++ | ||||
| 	Positive value to rotate the text label. | ||||
|   | ||||
| @@ -35,6 +35,14 @@ Addressed by *bluetooth* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -45,6 +45,14 @@ The *clock* module displays the current date and time. | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *rotate*: ++ | ||||
| 	typeof: integer ++ | ||||
| 	Positive value to rotate the text label. | ||||
|   | ||||
| @@ -24,6 +24,14 @@ The *cpu* module displays the current cpu utilization. | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *rotate*: ++ | ||||
| 	typeof: integer ++ | ||||
| 	Positive value to rotate the text label. | ||||
|   | ||||
| @@ -67,6 +67,14 @@ Addressed by *custom/<name>* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -39,6 +39,14 @@ Addressed by *disk* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -27,6 +27,14 @@ screensaving, also known as "presentation mode". | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. A click also toggles the state | ||||
|   | ||||
| @@ -34,6 +34,14 @@ Addressed by *memory* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -81,6 +81,14 @@ Addressed by *mpd* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -64,6 +64,14 @@ Addressed by *network* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -50,6 +50,14 @@ Additionally you can control the volume by scrolling *up* or *down* while the cu | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *scroll-step*: ++ | ||||
| 	typeof: float ++ | ||||
| 	default: 1.0 ++ | ||||
|   | ||||
| @@ -26,6 +26,14 @@ cursor is over the module, and clicking on the module toggles mute. | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *scroll-step*: ++ | ||||
| 	typeof: int ++ | ||||
| 	default: 5 ++ | ||||
|   | ||||
| @@ -25,6 +25,14 @@ Addressed by *sway/language* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -25,6 +25,14 @@ Addressed by *sway/mode* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -25,6 +25,14 @@ Addressed by *sway/window* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in character the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when clicked on the module. | ||||
|   | ||||
| @@ -63,6 +63,14 @@ Addressed by *temperature* | ||||
| 	typeof: integer ++ | ||||
| 	The maximum length in characters the module should display. | ||||
|  | ||||
| *min-length*: ++ | ||||
|     typeof: integer ++ | ||||
|     The minimum length in characters the module should take up. | ||||
|  | ||||
| *align*: ++ | ||||
|     typeof: float ++ | ||||
|     The alignment of the text, where 0 is left-aligned and 1 is right-aligned. If the module is rotated, it will follow the flow of the text. | ||||
|  | ||||
| *on-click*: ++ | ||||
| 	typeof: string ++ | ||||
| 	Command to execute when you clicked on the module. | ||||
|   | ||||
| @@ -20,7 +20,7 @@ ALabel::ALabel(const Json::Value& config, const std::string& name, const std::st | ||||
|   } | ||||
|   event_box_.add(label_); | ||||
|   if (config_["max-length"].isUInt()) { | ||||
|     label_.set_max_width_chars(config_["max-length"].asUInt()); | ||||
|     label_.set_max_width_chars(config_["max-length"].asInt()); | ||||
|     label_.set_ellipsize(Pango::EllipsizeMode::ELLIPSIZE_END); | ||||
|     label_.set_single_line_mode(true); | ||||
|   } else if (ellipsize && label_.get_max_width_chars() == -1) { | ||||
| @@ -28,9 +28,28 @@ ALabel::ALabel(const Json::Value& config, const std::string& name, const std::st | ||||
|     label_.set_single_line_mode(true); | ||||
|   } | ||||
|  | ||||
|   if (config_["rotate"].isUInt()) { | ||||
|     label_.set_angle(config["rotate"].asUInt()); | ||||
|   if (config_["min-length"].isUInt()) { | ||||
|     label_.set_width_chars(config_["min-length"].asUInt()); | ||||
|   } | ||||
|  | ||||
|   uint rotate = 0; | ||||
|  | ||||
|   if (config_["rotate"].isUInt()) { | ||||
|     rotate = config["rotate"].asUInt(); | ||||
|     label_.set_angle(rotate); | ||||
|   } | ||||
|  | ||||
|   if (config_["align"].isDouble()) { | ||||
|     auto align = config_["align"].asFloat(); | ||||
|     if (rotate == 90 || rotate == 270) { | ||||
|       label_.set_yalign(align); | ||||
|     } else { | ||||
|       label_.set_xalign(align); | ||||
|     } | ||||
|  | ||||
|   } | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| auto ALabel::update() -> void { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Alex
					Alex