From f259145084b4ef6b1c79b590936c47bc49cfb705 Mon Sep 17 00:00:00 2001 From: Greg Pomerantz Date: Sun, 10 May 2026 07:03:43 -0400 Subject: [PATCH] Fix icon Y positioning: offset by icon height to align bottom with baseline - drawText positions glyphs by baseline, drawPng uses top-left corner - Subtract iconSize from iconY so icon bottom aligns with text baseline - Icon now renders within status bar instead of overlapping top --- .qwen/settings.json | 7 +++++++ internal/ui/render.go | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .qwen/settings.json diff --git a/.qwen/settings.json b/.qwen/settings.json new file mode 100644 index 0000000..bb4e6a3 --- /dev/null +++ b/.qwen/settings.json @@ -0,0 +1,7 @@ +{ + "permissions": { + "allow": [ + "Bash(pkill *)" + ] + } +} \ No newline at end of file diff --git a/internal/ui/render.go b/internal/ui/render.go index a48d0de..eaf14ef 100644 --- a/internal/ui/render.go +++ b/internal/ui/render.go @@ -181,7 +181,9 @@ func (r *Renderer) drawStatusBar(gtx layout.Context, sb StatusBar, _ WindowConst iconY := iconsLineY iconSize := Dp(16) - r.drawPng(gtx, r.icons["cut"], leftX, iconY, iconSize, iconSize, color.NRGBA{R: 0, G: 0, B: 0, A: 255}) + // Icon Y is baseline position; drawPng uses top-left, so offset by icon height + iconDrawY := iconY - iconSize + r.drawPng(gtx, r.icons["cut"], leftX, iconDrawY, iconSize, iconSize, color.NRGBA{R: 0, G: 0, B: 0, A: 255}) leftX += Dp(36) r.drawText(gtx, th.Shaper, "⎘", r.theme.FontSize, leftX, iconY, color.NRGBA{R: 0, G: 0, B: 0, A: 255}) leftX += Dp(36)