From da6ff30bfb9acb1359752a238f7bdca661129679 Mon Sep 17 00:00:00 2001 From: Altay Date: Tue, 24 Feb 2026 04:56:35 +0300 Subject: [PATCH] settings_ui: Improve control alignment for multiline settings rows (#49850) Closes #49848 Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) ## Summary Align right-side controls in settings rows when descriptions wrap to multiple lines, and relax the text-width cap for better balance. ## Changes - Top-aligned settings row containers in shared settings UI render paths by adding `items_start()` to: - Setting rows (`render_settings_item`) - Sub-page link rows - Action link rows - Updated the left text column width constraint in `render_settings_item` from `w_3_4` to `w_full + max_w_2_3 + min_w_0` to avoid overlap while reducing excess empty space. ## Validation - Built and ran Zed locally with `cargo run`. - Manual verification in Settings pages with multiline descriptions and right-side controls: - General - Appearance - Languages & Tools - Agent/Terminal-related sections - Confirmed improved control alignment and no right-column text overlap in the tested views. | Before | After | |---|---| | ![1-before](https://github.com/user-attachments/assets/bf548d15-a1a6-4917-81ac-0a1afefa2ea1) | ![1-after](https://github.com/user-attachments/assets/47a61610-7b74-48bd-838d-e39e3b578d19) | | ![2-before](https://github.com/user-attachments/assets/92c0bd32-9772-42f4-be98-b1818556fa80) | ![2-after](https://github.com/user-attachments/assets/188e0fdf-91ea-49bf-9648-9177107d94c9) | ## Linked Issues - #49848 Release Notes: - Fixed settings row layout so right-side controls align better with multiline setting descriptions. --------- Co-authored-by: Danilo Leal --- crates/settings_ui/src/settings_ui.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/settings_ui/src/settings_ui.rs b/crates/settings_ui/src/settings_ui.rs index 743d05014d91b26bf47b788194f21b330fdc45f8..9ac338f7b849a53c402a0cea6b79ddc6496df0f2 100644 --- a/crates/settings_ui/src/settings_ui.rs +++ b/crates/settings_ui/src/settings_ui.rs @@ -1163,7 +1163,9 @@ fn render_settings_item( .child( v_flex() .relative() - .w_3_4() + .w_full() + .max_w_2_3() + .min_w_0() .child( h_flex() .w_full()