about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--shell/sandbox.mu8
-rw-r--r--shell/trace.mu10
2 files changed, 12 insertions, 6 deletions
diff --git a/shell/sandbox.mu b/shell/sandbox.mu
index 5addec61..bc05ee13 100644
--- a/shell/sandbox.mu
+++ b/shell/sandbox.mu
@@ -413,8 +413,6 @@ fn render-sandbox-menu screen: (addr screen), _self: (addr sandbox) {
   draw-text-rightward-from-cursor screen, " ctrl+... ", width, 0xf/fg, 0xc5/bg=blue-bg
   draw-text-rightward-from-cursor screen, " r ", width, 0/fg, 0x5c/bg=black
   draw-text-rightward-from-cursor screen, " run main  ", width, 7/fg, 0xc5/bg=blue-bg
-  draw-text-rightward-from-cursor screen, " s ", width, 0/fg, 0x5c/bg=black
-  draw-text-rightward-from-cursor screen, " run sandbox  ", width, 7/fg, 0xc5/bg=blue-bg
   $render-sandbox-menu:render-ctrl-m: {
     var self/eax: (addr sandbox) <- copy _self
     var has-trace?/eax: boolean <- has-trace? self
@@ -428,6 +426,8 @@ fn render-sandbox-menu screen: (addr screen), _self: (addr sandbox) {
     draw-text-rightward-from-cursor screen, " m ", width, 0/fg, 3/bg=keyboard
     draw-text-rightward-from-cursor screen, " to keyboard  ", width, 7/fg, 0xc5/bg=blue-bg
   }
+  draw-text-rightward-from-cursor screen, " s ", width, 0/fg, 0x5c/bg=black
+  draw-text-rightward-from-cursor screen, " run sandbox  ", width, 7/fg, 0xc5/bg=blue-bg
   draw-text-rightward-from-cursor screen, " a ", width, 0/fg, 0x5c/bg=black
   draw-text-rightward-from-cursor screen, " <<  ", width, 7/fg, 0xc5/bg=blue-bg
   draw-text-rightward-from-cursor screen, " b ", width, 0/fg, 0x5c/bg=black
@@ -464,6 +464,10 @@ fn edit-sandbox _self: (addr sandbox), key: byte, globals: (addr global-table),
   {
     compare g, 0x13/ctrl-s
     break-if-!=
+    # if cursor is in trace, skip
+    var cursor-in-trace?/eax: (addr boolean) <- get self, cursor-in-trace?
+    compare *cursor-in-trace?, 0/false
+    break-if-!=
     # minor gotcha here: any bindings created later in this iteration won't be
     # persisted until the next call to ctrl-s.
     store-state data-disk, self, globals
diff --git a/shell/trace.mu b/shell/trace.mu
index a97d14d3..30a11582 100644
--- a/shell/trace.mu
+++ b/shell/trace.mu
@@ -791,14 +791,16 @@ fn render-trace-menu screen: (addr screen) {
   width, height <- screen-size screen
   var y/ecx: int <- copy height
   y <- decrement
+  var height/edx: int <- copy y
+  height <- increment
+  clear-rect screen, 0/x, y, width, height, 0xc5/bg=blue-bg
   set-cursor-position screen, 0/x, y
   draw-text-rightward-from-cursor screen, " enter/bksp ", width, 0/fg, 0x5c/bg=black
   draw-text-rightward-from-cursor screen, " expand/collapse  ", width, 7/fg, 0xc5/bg=blue-bg
-  draw-text-rightward-from-cursor screen, " ctrl-r ", width, 0/fg, 0x5c/bg=black
+  draw-text-rightward-from-cursor screen, " ctrl+... ", width, 0xf/fg, 0xc5/bg=blue-bg
+  draw-text-rightward-from-cursor screen, " r ", width, 0/fg, 0x5c/bg=black
   draw-text-rightward-from-cursor screen, " run main  ", width, 7/fg, 0xc5/bg=blue-bg
-  draw-text-rightward-from-cursor screen, " ctrl-s ", width, 0/fg, 0x5c/bg=black
-  draw-text-rightward-from-cursor screen, " run sandbox  ", width, 7/fg, 0xc5/bg=blue-bg
-  draw-text-rightward-from-cursor screen, " ctrl-m ", width, 0/fg, 3/bg=keyboard
+  draw-text-rightward-from-cursor screen, " m ", width, 0/fg, 3/bg=keyboard
   draw-text-rightward-from-cursor screen, " to keyboard  ", width, 7/fg, 0xc5/bg=blue-bg
 }