From 5fc9d13f805a56ffde218be590b4e11be5c65b1a Mon Sep 17 00:00:00 2001 From: Dustin Swan Date: Fri, 13 Feb 2026 21:59:36 -0700 Subject: [PATCH] fixing some bugs --- src/cg/05-palette.cg | 14 +++++++++++--- src/cg/10-os.cg | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/cg/05-palette.cg b/src/cg/05-palette.cg index e9b62a3..885a538 100644 --- a/src/cg/05-palette.cg +++ b/src/cg/05-palette.cg @@ -51,6 +51,14 @@ palette = config \ | True \ y + h - listHeight | False \ offset)); + onSelect = text \ + batch [ + paletteState.query := "", + paletteState.focusedIndex := 0, + paletteState.scrollOffset := 0, + config.onSelect text, + ]; + paletteRow = config \ color = (config.selected | True \ "rgba(255,255,255,0.2)" | False \ "transparent"); @@ -85,8 +93,8 @@ palette = config \ newIndex = nextSelectable results effectiveIndex 1; { state = state, emit = [paletteState.focusedIndex := newIndex, paletteState.scrollOffset := scrollTo newIndex] }) | Key { key = "Enter" } \ - (nth paletteState.focusedIndex results - | Some (Item data) \ { state = state, emit = [paletteState.focusedIndex := 0, config.onSelect data.label] } + (nth effectiveIndex results + | Some (Item data) \ { state = state, emit = [onSelect data.label] } | _ \ { state = state, emit = [] }) | _ \ { state = state, emit = [] }, @@ -138,7 +146,7 @@ palette = config \ w = contentWidth, h = textInputHeight, selected = (effectiveIndex == i), - onClick = _ \ config.onSelect data.label + onClick = _ \ onSelect data.label } | _ \ empty ) results) diff --git a/src/cg/10-os.cg b/src/cg/10-os.cg index 986d0f3..401f913 100644 --- a/src/cg/10-os.cg +++ b/src/cg/10-os.cg @@ -27,7 +27,7 @@ openWindow = title content \ fullWidth = False }], osState.palette.visible := False, - focusWindow id + focusWindow (len osState.windows) ]; closeWindowByIndex = i \