Plugin: Note Tabs

switching is not working here on Manjaro.
How to help to solve the issue? Or can i manually control it?

You mean the layout does not switch from horizontal to vertical when the width of the panel is reduced below 400px as you can see on the screencast from the README?

Could you provide a screenshot of your App layout? In fact, I wouldn't expect the behavior on Manjaro (I'm guessing that's an operating system) to be any different than on others. An option to force the vertical layout is currently not available.

Technically it would be possible to put the breadcrumbs in an own panel. So they could be located anywhere in the layout. But I will wait to implement this until further requests. Don't know if this is a real use case for users.

Maybe I found a workaround to change this behavior. I will look into it, but can't make any promises.

1 Like

I just realized there is a scroll bar in the tab area. I'm using a dark them and it's really obscure.

I found this css that seems to stlye the other scroll bars, but it doesn't affect the tab area.

::-webkit-scrollbar-thumb{
background: silver
}

::-webkit-scrollbar-track{
border: 4px solid black

I've inspected the element but I can't figure out how to get it to work. Any suggestions? @uxamanda have you tried? You seem to be the the resident Joplyn CSS wizzard.

Hmm, I took a look, but for some reason, I can't affect those specific areas using CSS selectors. My guess is that it is because the plugin classes have dots in the name, i.e. .rli-plugin-view-joplin.plugin.note.tabs-note.tabs.panel. Normally dots are used to chain classes.

@dpoulton do you know?

1 Like

Thanks for the unwarranted vote of confidence!

I have the tabs set horizontally and I do not get a scroll bar. I set the tabs to be vertical and one appeared but I could not isolate it.

Then I remembered that when the plugin was first released @benji300 was asked about fonts in the plugin (this thread, above) the reply included

I guess the plugin has no access to the App fonts as is "lives" in an iframe which is decoupled from the App itself.

(my emphasis)

So would the plugin even be aware of custom css in the app itself??? All other colour options appear to have to be customised from defaults in the advanced settings for the plugin.

2 Likes

Currently it is the case that the plugin panels cannot be changed via userchrome.css. They don't "know" this file by default. But it should technically be possible to load the userchrome.css also into the plugin. I've already thought about this, but I'm not sure if it is currently supported by the plugin API.

Technical background:
It should be possible to add the stylesheet via joplin.views.panels.addScript('<PathToAppData>/userchrome.css'). However, I'm not sure if I can get the <PathToAppData> with the current plugin API or simply use a relative path like '../../userchrome.css'. I need to check that first.

1 Like

I know zero about plugin development, but I have seen wordpress plugins that just have a textbox where you can put whatever css you want to be applied to the plugin aspect. Would that be an option? I realize it could be a nightmare. But maybe there is a way to filter the user input.

Thanks for the plugin!

joplin.settings.globalSetting("profileDir")

Writing from memory so names might be slightly different but the general idea is the same.

Honestly, I like the idea of having a central stylesheet where I can define the style of the App and all of its plugins. With this you also don't have to specify global styles (like font family) at multiple locations.
I guess I will add an option to "enable" the userchrome.css for the plugin. So users can still use the provided style options in the plugin settings.

2 Likes

Thanks for the hint @roman_r_m, didn't know that settings value. I will check if it works as excpected.

Actually it's joplin.settings.globalValue('profileDir'), not globalSetting

1 Like

I can't find how bind the shortcut to 'Tabs: Switch to last active tab'. This is what I added to my keymaps-desktop.jso:

{
"command": "tabsSwitchLastActive",
"accelerator": "Alt+q"
}

But when I import the file I get this error:

Err: Invalid accelerator: tabsSwitchLastActive.

Is it it the wrong name? Other shortcuts like tabsMoveLeft work fine.

Which version of Joplin are you using? The command ID is correct. Maybe the "q" must be specified in uppercase? Have you tried to set the shortcut directly in the shortcuts editor? Because this worked for me also with "ALT+Q".

image

I have checked whether or not it is possible to enable the userchrome.css for the plugin panel. Unfortunately it is not. It's a limitation of the plugin API. I will start another thread to discuss this. But I don't think that will be supported soon.

1 Like

I'm using 1.7.11. You're right, it must be uppercase Q, it's working now, thank you!

1 Like

Yep, it's kind of weird that Electron makes a distinction between q and Q, because Shift is an accelerator, thus the letters could be case insensitive....

A new version of the plugin has just been released: v1.2.0 (Release on GitHub)

Added

  • User option to specify minimum width for a single breadcrumb entry (#30)
  • User option to specify the font size for the panel
  • User option to specify the background color when hovering over tabs
  • User option to display navigation buttons (backward/forward) below the tabs
  • Command to toggle panel visibility (#16)
  • Support to drag & drop notes from note list to pin as tabs (#31)
  • Support to drag & drop notes from favorites plugin to pin as tabs

Changed

  • Breadcrumbs scroll independently from tabs (#29)
  • Improved reading and updating values from plugin settings (#24)
4 Likes

So, is this a history previous/next? I expected it to be a scroll left and right. Just curious.

Unrelated, I just noticed that when I hover over the tab bar and scroll the scroll wheel, the tabs actually move slightly up and down. Shift-scroll still moves left and right like before.

Thanks for the update!

Any reason why you are directly changing the keymap.json file? Validation is quite strict on it because it's not meant to be user edited. Or was it not possible to do what you wanted using the app shortcut editor?