diff --git a/src/theme_engine/tests.rs b/src/theme_engine/tests.rs index 7b71480a..c698a456 100644 --- a/src/theme_engine/tests.rs +++ b/src/theme_engine/tests.rs @@ -833,9 +833,9 @@ fn built_in_classic_uses_149_geometry() { assert_eq!(theme.name, "Classic v1"); assert_eq!(theme.validate(), Vec::::new()); for (runtime, expected_width) in [ - (ThemeRuntime::new(true, false, false), 217), - (ThemeRuntime::new(true, true, false), 285), - (ThemeRuntime::new(true, true, true), 375), + (ThemeRuntime::new(true, false, false), 235), + (ThemeRuntime::new(true, true, false), 321), + (ThemeRuntime::new(true, true, true), 429), ] { assert_eq!( resolve_surface_size(&theme, 0, None, runtime), @@ -900,7 +900,7 @@ fn built_in_classic_adds_a_fable_column_when_the_limit_is_available() { Some(&usage), ThemeRuntime::new(true, false, false) ), - (310, 46) + (348, 46) ); assert!(theme.surfaces[0] .children @@ -1228,8 +1228,8 @@ fn opencode_monthly_window_is_available_to_templates_when_present() { fn starter_theme_renders_transparent_pixels_at_declared_size() { let theme = ThemeDocument::starter(); let rendered = render_theme(&theme, None); - assert_eq!((rendered.width, rendered.height), (217, 46)); - assert_eq!(rendered.pixels.len(), 217 * 46); + assert_eq!((rendered.width, rendered.height), (235, 46)); + assert_eq!(rendered.pixels.len(), 235 * 46); assert!(rendered.pixels.iter().any(|pixel| pixel >> 24 > 0)); assert_eq!(rendered.pixels[0] >> 24, 0); let track_alpha = (30..139) @@ -1240,6 +1240,39 @@ fn starter_theme_renders_transparent_pixels_at_declared_size() { assert!(rendered.warnings.is_empty()); } +#[test] +fn builtin_usage_text_boxes_fit_full_usage_lines() { + // GDI draws these labels with DT_END_ELLIPSIS. A 62px box clipped + // "12% · 59m" to "12% · 59..." once the percentage gained a second + // digit. Keep the value columns wide enough for the longest usage_line shape. + for json in [ + include_str!("../themes/classic-usage-widget.json"), + include_str!("../themes/compact-fluent-quad.json"), + ] { + let theme: ThemeDocument = serde_json::from_str(json).unwrap(); + for surface in &theme.surfaces { + for object in &surface.children { + let SceneContent::Text { template, .. } = &object.content else { + continue; + }; + if !template.contains(":usage_line}") { + continue; + } + let min = if template.contains("Fable ") { 110 } else { 80 }; + let Expression(expr) = &object.width; + let width: f64 = expr.parse().unwrap_or(0.0); + assert!( + width >= min as f64, + "{}: {} width {} must hold a full usage line (>= {min}px)", + theme.id, + object.id, + width + ); + } + } + } +} + #[test] fn empty_text_output_is_a_safe_noop() { let mut pixels = vec![0x7F12_3456; 16]; @@ -1270,10 +1303,10 @@ fn theme_surfaces_rasterize_at_requested_dpi_scales() { let theme = ThemeDocument::starter(); let runtime = ThemeRuntime::new(true, false, false); for (scale, width, height) in [ - (1.0, 217, 46), - (1.25, 271, 58), - (1.5, 326, 69), - (2.0, 434, 92), + (1.0, 235, 46), + (1.25, 294, 58), + (1.5, 353, 69), + (2.0, 470, 92), ] { let rendered = render_theme_surface_with_runtime_at_scale(&theme, 0, None, runtime, scale); assert_eq!((rendered.width, rendered.height), (width, height)); @@ -1431,7 +1464,7 @@ fn compact_fluent_quad_adds_a_fable_column_when_the_limit_is_available() { assert_eq!( resolve_surface_size(&theme, 0, Some(&usage), runtime), - (base_width + 96, height) + (base_width + 116, height) ); assert!(theme.surfaces[0] .children @@ -1715,7 +1748,7 @@ fn invalid_render_scales_fall_back_to_one() { ThemeRuntime::default(), scale, ); - assert_eq!((rendered.width, rendered.height), (217, 46)); + assert_eq!((rendered.width, rendered.height), (235, 46)); } } @@ -1882,7 +1915,7 @@ fn render_collapses_layout_while_zero_visibility_keeps_space() { theme.surfaces[0].children[claude].visibility = 0.0.into(); assert_eq!( resolve_object_bounds_with_runtime(&theme, 0, codex, None, runtime).map(|bounds| bounds.0), - Some(164.0) + Some(182.0) ); theme.surfaces[0].children[claude].render = 0.0.into(); @@ -1945,36 +1978,36 @@ fn starter_adapts_width_segments_and_collapsed_provider_rows() { .unwrap() }; for (runtime, width, segments) in [ - (ThemeRuntime::new(true, false, false), 217, 10), - (ThemeRuntime::new(false, true, false), 217, 10), - (ThemeRuntime::new(false, false, true), 217, 10), - (ThemeRuntime::new(true, true, false), 285, 5), - (ThemeRuntime::new(true, false, true), 285, 5), - (ThemeRuntime::new(false, true, true), 285, 5), - (ThemeRuntime::new(true, true, true), 375, 4), + (ThemeRuntime::new(true, false, false), 235, 10), + (ThemeRuntime::new(false, true, false), 235, 10), + (ThemeRuntime::new(false, false, true), 235, 10), + (ThemeRuntime::new(true, true, false), 321, 5), + (ThemeRuntime::new(true, false, true), 321, 5), + (ThemeRuntime::new(false, true, true), 321, 5), + (ThemeRuntime::new(true, true, true), 429, 4), ( ThemeRuntime::from_providers(ProviderSet::from_enabled([ProviderId::OpenCode])), - 245, + 263, 10, ), ( ThemeRuntime::from_providers(ProviderSet::from_enabled([ProviderId::Cursor])), - 245, + 263, 10, ), ( ThemeRuntime::from_providers(ProviderSet::from_enabled([ProviderId::Grok])), - 217, + 235, 10, ), ( ThemeRuntime::from_providers(ProviderSet::from_enabled([ProviderId::Copilot])), - 217, + 235, 10, ), ( ThemeRuntime::from_providers(ProviderSet::from_enabled(ProviderId::ALL)), - 725, + 851, 2, ), ] { @@ -2022,7 +2055,7 @@ fn starter_adapts_width_segments_and_collapsed_provider_rows() { claude_and_antigravity, ) .map(|bounds| bounds.0), - Some(164.0) + Some(182.0) ); } diff --git a/src/themes/classic-usage-widget.json b/src/themes/classic-usage-widget.json index e9393e1a..937b7623 100644 --- a/src/themes/classic-usage-widget.json +++ b/src/themes/classic-usage-widget.json @@ -20,7 +20,7 @@ "offset_x": 0, "offset_y": 0 }, - "width": "42 + providers.count * (ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62) + max(0, providers.count - 1) * 3 + (providers.opencode.enabled + providers.cursor.enabled) * 28 + providers.claude.enabled * claude.model.fable.available * 93", + "width": "42 + providers.count * (ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80) + max(0, providers.count - 1) * 3 + (providers.opencode.enabled + providers.cursor.enabled) * 28 + providers.claude.enabled * claude.model.fable.available * 113", "height": "46", "mouse_events": { "right_click": "show_context_menu(\"classic-v1\")" @@ -211,7 +211,7 @@ "parent": "cursor-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -258,7 +258,7 @@ "parent": "cursor-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -305,7 +305,7 @@ "parent": "cursor-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -352,7 +352,7 @@ "parent": "cursor-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -426,7 +426,7 @@ "name": "Claude Code provider", "render": "providers.claude.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -460,7 +460,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -507,7 +507,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -554,7 +554,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -601,7 +601,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -622,7 +622,7 @@ "name": "Codex provider", "render": "providers.codex.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -656,7 +656,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -703,7 +703,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -750,7 +750,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -797,7 +797,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -818,7 +818,7 @@ "name": "Antigravity provider", "render": "providers.antigravity.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -852,7 +852,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -899,7 +899,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -946,7 +946,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -993,7 +993,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1048,7 +1048,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1095,7 +1095,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "5", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1142,7 +1142,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -1189,7 +1189,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -1238,7 +1238,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1288,7 +1288,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1338,7 +1338,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1388,7 +1388,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1410,7 +1410,7 @@ "name": "Grok provider", "render": "providers.grok.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -1444,7 +1444,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1491,7 +1491,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1540,7 +1540,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1590,7 +1590,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1612,7 +1612,7 @@ "name": "Copilot provider", "render": "providers.copilot.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -1646,7 +1646,7 @@ "parent": "copilot-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1693,7 +1693,7 @@ "parent": "copilot-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "28", - "width": "62", + "width": "80", "height": "13", "content": { "type": "text", @@ -1714,7 +1714,7 @@ "name": "Fable weekly meter", "render": "providers.claude.enabled && claude.model.fable.available", "parent": "provider-row", - "width": "90", + "width": "110", "height": "46" }, { @@ -1747,7 +1747,7 @@ "render": "system.dark", "parent": "fable-provider", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", @@ -1793,7 +1793,7 @@ "render": "1 - system.dark", "parent": "fable-provider", "y": "28", - "width": "90", + "width": "110", "height": "13", "content": { "type": "text", diff --git a/src/themes/compact-fluent-quad.json b/src/themes/compact-fluent-quad.json index 55250224..762557a1 100644 --- a/src/themes/compact-fluent-quad.json +++ b/src/themes/compact-fluent-quad.json @@ -21,7 +21,7 @@ "offset_x": 6, "offset_y": 0 }, - "width": "providers.count * (ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62) + max(0, providers.count - 1) * 6 + providers.opencode.enabled * 28 + providers.cursor.enabled * 18 + providers.claude.enabled * claude.model.fable.available * 96", + "width": "providers.count * (ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80) + max(0, providers.count - 1) * 6 + providers.opencode.enabled * 28 + providers.cursor.enabled * 18 + providers.claude.enabled * claude.model.fable.available * 116", "height": "46", "background": { "type": "none" @@ -356,7 +356,7 @@ "render": "providers.claude.enabled", "visibility": "100", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46", "background": { "type": "none" @@ -413,7 +413,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -481,7 +481,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -549,7 +549,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -617,7 +617,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -648,7 +648,7 @@ "render": "providers.claude.enabled && claude.model.fable.available", "visibility": "100", "parent": "provider-row", - "width": "90", + "width": "110", "height": "46", "background": { "type": "none" @@ -704,7 +704,7 @@ "visibility": "100", "parent": "fable-provider", "y": "25", - "width": "90", + "width": "110", "height": "13", "background": { "type": "none" @@ -771,7 +771,7 @@ "visibility": "100", "parent": "fable-provider", "y": "25", - "width": "90", + "width": "110", "height": "13", "background": { "type": "none" @@ -802,7 +802,7 @@ "render": "providers.codex.enabled", "visibility": "100", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46", "background": { "type": "none" @@ -859,7 +859,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -927,7 +927,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -995,7 +995,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1063,7 +1063,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1094,7 +1094,7 @@ "render": "providers.antigravity.enabled", "visibility": "100", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46", "background": { "type": "none" @@ -1396,7 +1396,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1429,7 +1429,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1462,7 +1462,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1495,7 +1495,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1808,7 +1808,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1841,7 +1841,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1874,7 +1874,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1907,7 +1907,7 @@ "parent": "antigravity-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -1995,7 +1995,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2063,7 +2063,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "9", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2131,7 +2131,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "90", + "width": "110", "height": "13", "background": { "type": "none" @@ -2199,7 +2199,7 @@ "parent": "opencode-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "90", + "width": "110", "height": "13", "background": { "type": "none" @@ -2267,7 +2267,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2335,7 +2335,7 @@ "parent": "claude-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2403,7 +2403,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2471,7 +2471,7 @@ "parent": "codex-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2501,7 +2501,7 @@ "name": "Grok provider", "render": "providers.grok.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -2547,7 +2547,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2615,7 +2615,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2683,7 +2683,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2751,7 +2751,7 @@ "parent": "grok-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2781,7 +2781,7 @@ "name": "Copilot provider", "render": "providers.copilot.enabled", "parent": "provider-row", - "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 62", + "width": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4 + 80", "height": "46" }, { @@ -2827,7 +2827,7 @@ "parent": "copilot-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none" @@ -2895,7 +2895,7 @@ "parent": "copilot-provider", "x": "ceil(10 / max(1, providers.count)) * 11 - 1 + 4", "y": "25", - "width": "62", + "width": "80", "height": "13", "background": { "type": "none"