Notebook, Note, To-do, Tag, Search Favorites Plugin

Based on the Note Tabs plugin, I've created another panel view based plugin.
It allows you to save any notebook, note, to-do, tag, or search as favorite in an extra panel view for quick access.

You can install it via the Joplin plugin system (see here for details).

I hope it will help you to improve your daily work with Joplin. :slight_smile:

Features

  • Save any of the following item types as favorites
    • Notebook
    • Note, To-do
    • Tag
    • Search
      • Not fully supported right now - see here for details
  • Set and edit user defined names for the favorites
  • Right-click on favorites to open edit dialog
  • Change position of favorites within the panel via drag & drop
  • Drag notebooks and notes from sidebar or note list directly to favorites
  • Configurable style attributes
  • Support horizontal and vertical layout
  • Toggle panel visibility

For more details about all features and a short "how to use" please refer to the README.

Usage

Panel position

By default, all new plugin panels are placed on the right side of the app screen. However, this can be changed manually later. Please see here how to place the panel at the desired position.

Screenshots

Repository

18 Likes

Addendum to the searches:

Unfortunately, the "saved searches" are not yet fully supported. Currently it is not possible to enter the saved search strings into the global search field programmatically.
Fortunately, however, it is still possible to use them at least via a small workaround. Saving the searches is fully supported by the plugin, you can save them and also edit them afterwards.
To open them, you actually "only" have to click on the corresponding favorite and type Ctrl+V (on Windows to paste the clipboard content). Then the saved search string is inserted directly into the global search field.

Very cool!

The vertical orientation works great to place Favorites above or below the sidebar with notebooks and tags - quick access to to favorites without giving up editing screen real estate.

This allows me to "clean up" note tabs and limit that to current working notes, and use Favorites for reference notes I check on a regular basis. And quick access to tags is nice for heavy taggers with tag lists too long to easily find a frequently used tag.

Obviously a full implementation of saved search would be an absolute killer feature!

How do you envision panel visibility toggle being used? If I toggle visibility to Off, the Favorites panel gets blanked out, but the panel remains in place, so I don't gain back any real estate, so I'm curious what you had in mind for this feature.

Potential bug: If I edit a saved search and click OK, the edit isn't saved. Tried for both regular word search and title search. Edits to name of the search can be saved, but edits to search query are not saved.

2 Likes

Does anyone know what the default background color and text color of the Joplin sidebar is? Would like to match the Favorites panel to that since I've got them oriented one on top of the other. Tried looking through the css files in /joplin-desktop/tmp, but couldn't find it, but I'm not really familiar with css.

Got close with #333333, but it's not quite a match for the default sidebar

I used #313640 for the background and white for the foreground and got pretty close :slight_smile:

1 Like

Thank you. This is the plugin that I didn't know I was waiting for!

As @jb261 says, I can now use the Favorites in the sidebar for items I want long term quick access to, and the tabs for short term pinned access to notes I am working on for a project. Brilliant!

And big thanks once again to @laurent for the plugin architecture. As a result of this Joplin 's functionality has taken giant steps in a few months. :star_struck:

6 Likes

Thanks for your feedback. I'm glad you like it.

I'm thinking here of a distraction free mode for editing notes. That is, someone wants to hide everything but the editor to focus on writing. So with the feature he can also hide the plugin panel.

That does not sound good. I will look at it later and fix if necessary immediately.

2 Likes

In order to get the closest look within the sidebar, you can use the internal (not well documented) css variables. Here's how I using it. With these settings the colors from the current color theme are used.

Background color: var(--joplin-background-color2)
Hover background color: var(--joplin-background-hover)
Foreground color: var(--joplin-color2)
Divider color: var(--joplin-background-color2)

6 Likes

Thank you.

That is really useful because it binds the plugin to the theme colours rather than hardwiring some colours into it.

1 Like

This depends on the use-case. When one uses their own css, using theme vars is unfortunately a no-go in most cases. But for bundled themes and theme switching this makes perfect sense. It's great that benji300 still give us the option to use regular values.

1 Like

I completely agree. Indeed I have been using my own css both for the design of the notes (where I have my headings laid out different from the default: my h2 has an underline for example) and for the original and clever css-based TOC design.

However, if I understand correctly, using the variables in the plugin serves to bind the plugin colours to the colours of the current theme. Changing the variable itself will now change the colours in both theme and plugin. In many cases this is perfect - and indeed one of the things css variables are designed to do. I fully accept though that there will be use cases in which this is not the desired behaviour and for that I too am glad benji has given us the option to insert our own colours directly.

One final note: as benji points out the colours / variables used in Joplin are not currently easily found and earlier today, before he posted the variables he is personally using, I took a screenshot and posted it into Affinity Photo to find the rgb values of the sidebar background. #313640 was the answer I got. The variable seems an easier solution (in this case) :slight_smile:

1 Like

Whenever you need the color specs, open the dev tools and use the inspect tool. This will tell you the color of an element.

1 Like

Can anyone else replicate this?

Thanks. And thanks for pointing out the css variables, very convenient for color matching to current theme.

Joplin 1.6.7 (prod, win32)

I can confirm this is a bug. I will fix it as soon as possible.
As a workaround you can create a new search favorite with the updated query and delete the old one.

2 Likes

This plugin is phenomenal.
One thing I noticed is that the options to Add Search, Remove all favorites and Toggle visibility are missing in the Keyboard Shortcuts (cf. attached screenshot). Add tag on the other hand is available while missing in the Tools > Favorites menu.

It would be great if it were possible to (manually) assign the same shortcut to the visibility toggle that is used for the sidebar or the notelist. However, as I understand, it's not possible to assign the same shortcut twice and I don't think this is anything that can be fixed by the plugin, nor is it plugin's job to do so.
Can anyone think of a possible workaround?

Edit: Just thought of something that could potentially be done by the plugin: Commands to toggle both sidebar and Favorites and also note list and Favorites respectively. Users could then assign a shortcut (e.g. F10 or F11) to a command that suits their layout and leave the corresponding original shortcut disabled.

1 Like

I just checked with the dev tools (Help -> Toggle development tools), in the light theme it's #313640

1 Like

And you nailed it!

Having saved searches would be extremely valuable for users coming from Evernote. Does anyone know if there is anything in progress or in the plans for Joplin to allow saved search strings to be entered into the global search field programmatically as @benji300 proposes in the plugin?

4 Likes

I think there's still a limitation within the App itself where some commands are displayed in the keyboard editor and some not. But you can assign shortcuts manually via the keymap-desktop.json.

This is on purpose. The command to add tags only works from the context menu of the individual tags. Calling via the menu or the command palette does not work for technical reasons. There is no API for the plugins, which returns the currently selected tag (which also doesn't really make sense...). That's why I didn't add the command to the menu, since nothing would happen if it was called from there or via a shortcut. However, I can't hide it in the command palette. So if it is called from there, nothing will happen. This is a bit of a limitation at the moment, unfortunately. That's why I added the Menu contexts to the command overview of the README.

Honestly, I think this would be better in an extra "Zen Mode" plugin. However, it needs to be checked if it is possible to trigger commands between plugins. In this plugin I see these commands rather not. What if someone has the favorites panel somewhere else? For example above or below the editor. Then the two commands do not really help.

This is a great plugin, many thanks! The only problem I'm having is that I cannot seem to set the divider colour; I want it "invisble" (i.e. the same colour as the background), and have set it as shown above:

image

but still get:

image

Any clues?