A simple way to select one and only one block

If I’m in non-editing mode (akin to vim’s normal mode), it is very hard to select a single block with the mouse when I would expect it should be easy.

  • If I click anywhere in a block except its bullet, logseq enters editing mode
  • If I cmd-click, this adds to the current selection so that I often end up with 2 selected blocks instead of 1. (And it’s impossible to unselect the old selection, which I filed an issue for: Cmd-click on a selected block should unselect it)
  • If I right-click on the bullet, this adds to the current selection just like cmd-click plus there’s an extraneous context menu showing up.
  • Shift-click of course just extends the selection.
  • Option-click acts like simple click.
  • Clicking on the left or right margin of block doesn’t work because there’s no such special area. (You’ll find a lot of UIs that do keep a margin for just this purpose. One example off the top of my head: Apple Notes on mac)

The only current working solution: click on a block and hit ESC. This is not ideal of course as this very common operation should be a single step that doesn’t require a double change of modes.

Commentary about modes: In my mind, if I’m in non-editing mode (akin to vim normal mode), it should be easy to stay in non-editing mode and easily select and unselect blocks. But logseq seems to unfairly prioritize editing mode (imagine if vim forced you to stay in insert mode or too easily triggered insert mode all the time–you’d have to use arrow keys instead of h,j,k,l). IMO, the two modes should be both first-class.