From a5612fce2a20e60f38e791235795809d58c44346 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Mon, 26 Dec 2022 11:31:35 +0000 Subject: [PATCH] some musing about switch-to-buffer --- musing.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/musing.md b/musing.md index 0fcc0db..8f63a8b 100644 --- a/musing.md +++ b/musing.md @@ -36,14 +36,52 @@ lua's standard types ## next steps -* change define-command so that the parameters are ordered +* [done] change define-command so that the parameters are ordered * display unbound key error * ESC to cancel interactive command * autocomplete command name * parameters with non-string values (e.g. buffer) * show current url when command inactive -* show prompts for parameter +* [done] show prompts for parameter * multiple buffers - create buffer - list buffers (where does the output go?) - find and switch to buffer + + +how do we do the buffer list thing? +- generate html, or +- use native widgets + +native widgets seems neater +- how do we permit commands to insert widgets into the frame? +- how do we get rid of them? + +we could have an "output overlay" inserted underneath the commander. +could we use the same thing for completions? we haven't addressed +non-string parameters yet, really + +M-x switch-to-buffer + Buffer mai_ + + +------+ +---------+ + | main | | mailing | + +------+ +---------+ + + +----- + +so there are two things going on here + +1) how to implement switch-to-buffer with appropriate autocomplete +on the buffer name - perhaps involving showing buffer thumbnails etc + +2) in emacs, not all buffers are files - e.g. the buffer list, or the +process list, or the magit status buffer - there is a well-used +affordance for elisp to put semi-persistent interactable content +onscreen - do we need such a thing here or is it ok to say "just call +gtk" to command authors + +are these the same problem or are they separate problems? do we have +the second problem? What I will do is address the first one and +see if it's generalisable once I've done it.