|
|
|
|
@ -11,6 +11,8 @@ osState = {
|
|
|
|
|
nextId = 0
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
openPalette = _ \ osState.palette.visible := not (osState.palette.visible);
|
|
|
|
|
|
|
|
|
|
windowWidth = window \ window.fullWidth
|
|
|
|
|
| True \ viewport.width
|
|
|
|
|
| False \ window.width;
|
|
|
|
|
@ -77,9 +79,9 @@ focusWindow = index \
|
|
|
|
|
onSelect = input \
|
|
|
|
|
result = eval input;
|
|
|
|
|
result
|
|
|
|
|
| Value v \ openWindow input (ui.text { content = show v, color = "white" })
|
|
|
|
|
| Defined name \ noOp
|
|
|
|
|
| Err msg \ openWindow "Error" (ui.text { content = msg, color = "red" });
|
|
|
|
|
| Value v \ openWindow input (_ \ ui.text { content = show v, color = "white" })
|
|
|
|
|
| Defined name \ openWindow name (_ \ inspector { name = name })
|
|
|
|
|
| Err msg \ openWindow "Error" (_ \ ui.text { content = msg, color = "red" });
|
|
|
|
|
|
|
|
|
|
renderWindow = window isActive \
|
|
|
|
|
titleBarHeight = 30;
|
|
|
|
|
@ -127,7 +129,7 @@ renderWindow = window isActive \
|
|
|
|
|
child = ui.clip {
|
|
|
|
|
w = (windowWidth window),
|
|
|
|
|
h = viewport.height - titleBarHeight,
|
|
|
|
|
child = window.content
|
|
|
|
|
child = window.content 0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
@ -158,6 +160,10 @@ renderWindows = _ \
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
search = q \
|
|
|
|
|
storeRes = storeSearch q;
|
|
|
|
|
[...storeRes, q];
|
|
|
|
|
|
|
|
|
|
os = ui.stateful {
|
|
|
|
|
key = "os",
|
|
|
|
|
autoFocus = True,
|
|
|
|
|
@ -166,7 +172,7 @@ os = ui.stateful {
|
|
|
|
|
|
|
|
|
|
update = state event \ event
|
|
|
|
|
| Key { key = "p", meta = True } \
|
|
|
|
|
{ state = state, emit = [osState.palette.visible := not (osState.palette.visible)] }
|
|
|
|
|
{ state = state, emit = [openPalette] }
|
|
|
|
|
| Key { key = "ArrowLeft", meta = True } \
|
|
|
|
|
(
|
|
|
|
|
newIndex = max 0 (osState.wm.focusedIndex - 1);
|
|
|
|
|
@ -193,7 +199,7 @@ os = ui.stateful {
|
|
|
|
|
# keep palette at the end so it's on top
|
|
|
|
|
osState.palette.visible
|
|
|
|
|
| True \ palette {
|
|
|
|
|
search = storeSearch,
|
|
|
|
|
search = search,
|
|
|
|
|
onSelect = onSelect,
|
|
|
|
|
viewport = viewport,
|
|
|
|
|
}
|
|
|
|
|
|