Skip to content

Make UI font size configurable (hover popup body smaller than editor text) #217

Description

@JDonaghy

Problem

The chrome (menus, hover popups, tooltips, dialogs) renders in a fixed UI font (currently `Source Sans 3 10` or similar small size) while the editor renders in a larger code font. Default chrome size is small enough that some users find body text in LSP hover popups hard to read.

User feedback during #214 smoke test:

The body text is "readable (by me, but a lot of people would struggle) and still smaller than editor text"

Suggested

Add a setting that scales the chrome font size:

```json
{
"ui_font_scale": 1.0,
// or:
"ui_font_size": 10
}
```

With a sane minimum (don't break the layout if 0).

Implementation

`UI_FONT` is currently a `const` in GTK `draw.rs`. Make it a function that consults `settings.ui_font_scale` (or absolute size) and returns the corresponding Pango font description. Apply globally — every chrome rasteriser uses it.

TUI doesn't have variable font sizes (terminal cells are fixed) but could honour the size parameter as a hint when available.

Files

  • `src/gtk/draw.rs` — `UI_FONT` const → function
  • `src/gtk/quadraui_gtk.rs` — every `pango::FontDescription::from_string(UI_FONT)` call site
  • `src/core/settings.rs` — new `ui_font_size` setting (default current value)
  • `src/render.rs::SETTING_DEFS` — register

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestuiUI/rendering

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions