Feature Request: Option to "Move" vs. "Add" tag when dragging a note to sidebar tags

Problem: Currently, dragging a note from the note list onto a tag in the sidebar Adds the target tag onto the note. While this makes sense for a multi-tag architecture, it makes re-organizing notes tedious.

Coming from traditional folder structures, I often want to Move a note from Tag_A to Tag_B rather than associate it with both. To do this currently, I have to drag to Tag_B (which appends Tag_B to the note text) and then manually scroll through the note body to locate and delete #Tag_A.

Proposed Interaction (macOS Finder-Style Modifier Keys): It would be great to have a modifier key option during drag-and-drop to choose between “Move” and “Add”/“Copy”:

  • Standard Drag (Default / Add): Adds the new tag to the note (current behavior).

  • Option + Drag (Move): Replaces the source tag with the target tag (removes #Tag_A and appends #Tag_B).

User Value: This would drastically reduce manual text editing when restructuring notes, providing a fluid keyboard-and-mouse workflow familiar to macOS users without breaking Bear’s core inline text-tag design.

e.g. In Apple Notes Folders, move is easy: Drag & Drop. Done. In Bear, it is:

  1. Add the new Tag_B (type it in manually or drag and drop the note on the new tag in the sidebar).
  2. Scroll or search to find where Tag_A is in the note somewhere (often the bottom, sometimes in the middle, unless I was really diligent about putting my tags on top).
  3. Manually remove Tag-A.

Multiple Tags: I understand this process would need to understand how to account for multiple tags. There are probably multiple approaches that can be chosen, or even implemented in parallel, including but not limited to:

  1. If there is only one tag and the “Move” action is triggered by the user, then remove the old tag. Simple.
  2. If there is >1 tag and the “Move” action is triggered… If there is Tag_A and Tag_B on the note, and moving to Tag_C, some possible ways to do this might include:
    2a. If the note is being viewed from the Tag_A list, then “Move” should only remove Tag_A when adding Tag_C, but keep Tag_B.
    2b. If the note is being viewed from a list/view/filter other than Tag_A or Tag_B, then prompt whether to replace all existing Tags or choose which Tag(s) to keep vs remove.
1 Like