mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Merge pull request #369 from crondog/master
swaybar: use height from config
This commit is contained in:
		
						commit
						b171047d82
					
				
					 1 changed files with 19 additions and 11 deletions
				
			
		| 
						 | 
					@ -229,6 +229,17 @@ void bar_ipc_init(int outputi, const char *bar_id) {
 | 
				
			||||||
		desktop_shell_set_panel_position(registry->desktop_shell, parse_position(json_object_get_string(position)));
 | 
							desktop_shell_set_panel_position(registry->desktop_shell, parse_position(json_object_get_string(position)));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (bar_height) {
 | 
				
			||||||
 | 
							if (json_object_get_int(bar_height) == -1) {
 | 
				
			||||||
 | 
								int width, height;
 | 
				
			||||||
 | 
								get_text_size(window, &width, &height, "Test string for measuring purposes");
 | 
				
			||||||
 | 
								window->height = height + MARGIN * 2;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								window->height = json_object_get_int(bar_height) + MARGIN * 2;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (_colors) {
 | 
						if (_colors) {
 | 
				
			||||||
		json_object *background, *statusline, *separator;
 | 
							json_object *background, *statusline, *separator;
 | 
				
			||||||
		json_object *focused_workspace_border, *focused_workspace_bg, *focused_workspace_text;
 | 
							json_object *focused_workspace_border, *focused_workspace_bg, *focused_workspace_text;
 | 
				
			||||||
| 
						 | 
					@ -321,7 +332,7 @@ void render() {
 | 
				
			||||||
	int width, height;
 | 
						int width, height;
 | 
				
			||||||
	get_text_size(window, &width, &height, "%s", line);
 | 
						get_text_size(window, &width, &height, "%s", line);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cairo_move_to(window->cairo, window->width - MARGIN - width, MARGIN);
 | 
						cairo_move_to(window->cairo, window->width - MARGIN - width, (window->height - height) / 2 );
 | 
				
			||||||
	pango_printf(window, "%s", line);
 | 
						pango_printf(window, "%s", line);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Workspaces
 | 
						// Workspaces
 | 
				
			||||||
| 
						 | 
					@ -350,7 +361,7 @@ void render() {
 | 
				
			||||||
		cairo_stroke(window->cairo);
 | 
							cairo_stroke(window->cairo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		cairo_set_source_u32(window->cairo, box_colors.text);
 | 
							cairo_set_source_u32(window->cairo, box_colors.text);
 | 
				
			||||||
		cairo_move_to(window->cairo, x + MARGIN, MARGIN);
 | 
							cairo_move_to(window->cairo, x + MARGIN, (window->height - height) / 2 );
 | 
				
			||||||
		pango_printf(window, "%s", ws->name);
 | 
							pango_printf(window, "%s", ws->name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		x += width + MARGIN * 2 + MARGIN;
 | 
							x += width + MARGIN * 2 + MARGIN;
 | 
				
			||||||
| 
						 | 
					@ -467,6 +478,12 @@ int main(int argc, char **argv) {
 | 
				
			||||||
	int desired_output = atoi(argv[optind]);
 | 
						int desired_output = atoi(argv[optind]);
 | 
				
			||||||
	struct output_state *output = registry->outputs->items[desired_output];
 | 
						struct output_state *output = registry->outputs->items[desired_output];
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
						window = window_setup(registry, output->width, 30, false);
 | 
				
			||||||
 | 
						if (!window) {
 | 
				
			||||||
 | 
							sway_abort("Failed to create window.");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						desktop_shell_set_panel(registry->desktop_shell, output->output, window->surface);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	bar_ipc_init(desired_output, bar_id);
 | 
						bar_ipc_init(desired_output, bar_id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (status_command) {
 | 
						if (status_command) {
 | 
				
			||||||
| 
						 | 
					@ -491,15 +508,6 @@ int main(int argc, char **argv) {
 | 
				
			||||||
		line[0] = '\0';
 | 
							line[0] = '\0';
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	window = window_setup(registry, output->width, 30, false);
 | 
					 | 
				
			||||||
	if (!window) {
 | 
					 | 
				
			||||||
		sway_abort("Failed to create window.");
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	desktop_shell_set_panel(registry->desktop_shell, output->output, window->surface);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	int width, height;
 | 
					 | 
				
			||||||
	get_text_size(window, &width, &height, "Test string for measuring purposes");
 | 
					 | 
				
			||||||
	window->height = height + MARGIN * 2;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	poll_for_update();
 | 
						poll_for_update();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue