[HN Gopher] Textual Adds a Command Palette
       ___________________________________________________________________
        
       Textual Adds a Command Palette
        
       Author : willm
       Score  : 52 points
       Date   : 2023-09-16 13:54 UTC (9 hours ago)
        
 (HTM) web link (textual.textualize.io)
 (TXT) w3m dump (textual.textualize.io)
        
       | eichin wrote:
       | Love it, but ctl-\ in particular ("send sigquit", ie. core-dump
       | the app) will make me twitch every time :-)
        
       | isoprophlex wrote:
       | This will come off as angry old-man-yells-at-UI but man do I
       | dislike the concept of a command palette. It just feels so lazy.
       | Stuff everything wherever you want and the command palette will
       | sort it out.
       | 
       | I'm happy to change my mind, maybe there's good use cases for
       | it/people that really like the concept... but every time I have
       | to use one, it feels suboptimal. As if there was a logical menu
       | structure & keymap on the roadmap, but the software needed
       | shipping, so now everything is everywhere and the user will just
       | have to search for it.
       | 
       | Edit: thank you everyone for the thoughtful replies. I will try
       | to love these things in the coming weeks.
        
         | SnowflakeOnIce wrote:
         | This is not quite a command palette, but in macOS apps, you can
         | press command-shift-/ to search the names of menu commands. I
         | use that frequently in apps that I don't use regularly (and
         | hence don't remember where all the menu items are). Very
         | helpful for discoverability.
        
           | bloopernova wrote:
           | That's great!
           | 
           | and _of course_ Microsoft Teams (preview) breaks it.
        
         | BiteCode_dev wrote:
         | And they world agree since we never adopted search engine and
         | stayed on web portails with index of sites.
        
         | agumonkey wrote:
         | Menus have limits, and fuzzy search is most often the right fit
         | there.
        
         | milkshakes wrote:
         | have you ever used spotlight? 1password? sublime? vscode?
         | 
         | there are definitely use cases where a command palette is a
         | vast improvement over navigating through multiple
         | folders/menus, and it keeps your hands from leaving the
         | keyboard
        
         | frou_dh wrote:
         | Sublime Text where the current style of Command Palette was
         | created/popularised does have hierarchical menus, context
         | menus, and keybindings with the commands. The Palette is an
         | alternative interface for accessing the same stuff.
        
         | willm wrote:
         | I use the command palette in VSCode frequently. Almost
         | everything is available as a keybinding, or with a few clicks
         | in nested menus, but I've only committed a subset to memory.
         | The command palette means I only need remember the name of
         | something to quickly find it again.
         | 
         | The Textual CP can also provide dynamic commands. Like opening
         | a file. If I wanted to open "foo.py" I could hit "ofp" to match
         | the "open foo.py" command (or any other matching fuzzy search).
         | That's likely to be faster than a file open dialog.
        
         | davepdotorg wrote:
         | I've been using a "command palette" in the same app since the
         | mid 90s, on lots of different operating systems, and I've never
         | really found that it's a lazy way to make commands available.
         | Mostly what I want to use _is_ available from a menu, and /or
         | available from keyboard bindings, but if I wish I can also pull
         | up the command palette and run the command directly --
         | sometimes that's handy if I personally know what the command is
         | called but I can't remember which menu it might be in, or what
         | the key binding is.
         | 
         | Of course, it's not called a "command palette"; normally Emacs
         | calls it `execute-extended-command`, and more commonly people
         | will refer to it as the minibuffer.
         | 
         | But that's just me doing the angry-old-man-yells-about-ancient-
         | useful-UI thing. ;-)
        
           | hprotagonist wrote:
           | and then embark, the right-click of emacs!
        
         | chimichurri wrote:
         | Notion too. Slash commands (command pallete) provide a quick
         | and easy way to execute actions without navigating through
         | menus. I would argue that slash commands are much more
         | discoverable than keyboard or graphical menus since they
         | present of the option for documentation snippets.
        
       | agumonkey wrote:
       | I wonder how it would look if they had some kind of fuzzy command
       | bar where you could evaluate code.
        
       | wakahiu wrote:
       | This is very cool and I can see how it'd be helpful for users.
       | How did you arrive at this feature? Slash command's
       | discoverability is key. The commands serve as documentation and
       | hints. Additionally, love the fact that users can create
       | customized commands as shortcuts for frequent workflows or other
       | logic. Reduces repetitive clicking/navigating.
       | 
       | As the builder of LeapTable
       | (https://github.com/peterwnjenga/leaptable), an open-source low-
       | code database powered by AI agents, one of the first pieces of
       | feedback I received from early users was the desire for slash
       | commands similar to Notion.
       | 
       | After evaluating different options, I settled on incorporating
       | PlateJS (https://platejs.org/docs/mention) to enable @mention-
       | style slash commands in LeapTable's React-based interface.
       | 
       | PlateJS proved to be a great fit for easily bringing robust slash
       | command capabilities into our webapp. The @mention commands allow
       | for convenient execution of actions, integration with external
       | services, and automation workflows.
       | 
       | For any other React developers looking to incorporate flexible,
       | Notion-style slash commands into their webapps, I highly
       | recommend checking out PlateJS. It provided the perfect building
       | block for enabling rich slash command interactions in LeapTable.
        
       ___________________________________________________________________
       (page generated 2023-09-16 23:02 UTC)