New Plugin: (Yet Another) Vertical Tabs for Obsidian

Hi! Everyone. I want to share my new plugin: Vertical Tabs.

:point_right: Click me to install
:point_right: GitHub Repo
:point_right: Support

As a researcher, the tab feature is essential for multiple-file editing experience. Personally, I often go back and forth between dozens of files for cross referencing, comparing, etc. However, this quickly becomes inefficient. In the following figure, only a handful of files are open, but the tabs are too narrow for figuring out which opened file is where. This issue becomes more severe when one relies on screen splitting.


Theme: Primary

There is a feature request for vertical tabs and a plugin provides this feature. Pretty much every modern web browser supports this feature, and I want to bring this to Obsidian. Some workarounds are suggested in the original post, but none of these are ideal.

For example, the existing vertical tabs plugin works in many cases, but does not support long filenames and multi-panel layouts very well.


Theme: Primary; Plugin: Obsidian Vertical Tabs View


Theme: Primary; Plugin: Obsidian Vertical Tabs View


Theme: Primary; Plugin: Obsidian Vertical Tabs View

To solve these issues, I developed a new plugin (currently still under code review). As shown in the following figure, it groups tabs by their residing panels, and displays the whole file name in the tabs. To make the UI space efficient without breaking any feature, it only display the active tabs; all other tabs are visible in the vertical tab view. You can drag the horizontal tab (provided by Obsidian) freely to other existing panels or make some new panels.


Theme: Primary; Plugin: My Plugin

You can close or pin/unpin it right in the vertical view.


Theme: Primary; Plugin: My Plugin

Suggestions and comments are welcome.

10 Likes

Nice one!

I’m not a developer, but it seems that you invested a significant amount of time crafting such a plugin. Am I right? :joy:

(I will try this one out as well)

Thank you for your support.

Currently this plugin is still a MVP (Minimum Viable Product). I spent days on experimenting and figuring out the best UX (User Experience). Development, for now, is actually an easy step, which takes a couple of hours. I posted my plugin here to see if anyone else has any suggestions, as its improvements could be time consuming.

Some functionalities in my original design have not been implemented yet, since the API provided by the Obsidian team is quite limited (partially due to security concerns), and some ad hoc teaks or hacking might be necessary. :slightly_smiling_face:

1 Like

This is what I want, thank you!

1 Like

Hi, everyone! I have published a new release to fix an annoying bug. Please make sure you are using the latest version.

1 Like

:tada::tada::tada: Vertical Tabs is now available in Community Plugin store :tada::tada::tada:

New features:

  • Drag-and-drop to reorder tabs
  • View/organize/pin sidebar tabs

ezgif-4-ff6168c126

3 Likes

:tada::tada: New Features in v0.3.0

Click To Install

  • Context menus for tabs
  • Automatically sort tabs by their titles or pinned states
  • Automatically put the most recently used tabs on top or bottom

:balloon: Coming Next

  • :tada: Rename groups
  • :tada: Managed sessions
  • :tada: Tab history
  • :tada: Sync sessions and history across devices with end-to-end encryption
  • :tada: A tons of UI/UX improvements
3 Likes

:tada::tada: Vertical Tabs v0.5.0

Taming your workspace and tabs with even more powerful features: Introducing Zen Mode

  • :star: Hide/Unhide groups without closing/reopening the tabs
  • :star: ONE CLICK to maximize and focus on your current note
  • :star: Group names are now customizable!

See the demo videos below.

:point_right: Click me to install
:point_right: GitHub repository
:point_right: Support

Zen Mode
Hide/Unhide Groups
Rename Groups

1 Like

:red_circle: Vertical Tabs v0.5.4

:bangbang: Please make sure to update to this latest version (v.0.5.4) as soon as possible.

This update includes fixes of some serious bugs that might cause Obsidian Mobile to crash.

2 Likes

:tada::tada: Vertical Tabs v0.6.0

  • :heart: Improved the speed and responsiveness of drag-and-drop.
  • :heart: Groups can now be reordered.
  • :heart: Dragging a tab to the end automatically creates a new group.

:point_right: Click me to install
:point_right: Support

demo

2 Likes

Great plugin, well done !

I wish it could include some features to get closer to Sidebery on Firefox (see also related feature request by @Pyrodusk ) :

  • Possibility to select several tabs and group them with a custom name.
  • Multi-level subtree : middle-click on a link to open as a child of current tab.
  • Drag a tab to a parent tab.
  • Vertical workspaces

Sidebery could probably be our gold standard for better navigation in Obsidian.

Looking forward to hearing your thoughts about it !

Hi! I posted detailed discussion about implementing the same approach provided by Sidebery on GitHub: A few suggestions to get closer to Sidebery on Firefox · Issue #26 · oxdc/obsidian-vertical-tabs · GitHub

:bangbang: Vertical Tabs v0.6.8

Vertical Tabs v0.6.8 includes some important improvements. Please update at your earliest convenience!

:point_right: Click me to install
:point_right: Support

https://github.com/user-attachments/assets/7a280cd7-4379-4b1c-a801-539775699130

Thank you for doing this. This is very helpful. Long needed.

1 Like

:tada::tada: Vertical Tabs v0.6.9

Improvements:

  • :heart: Automatically reveal hidden groups when a tab inside them is opened.
  • :heart:Group names will now be saved automatically when you click away.
  • :heart: Sort strategies now persist across relaunches.
  • :heart: Manual tab sorting will be disabled when automatic sorting is enabled.
  • :heart: Added an indicator for automatic sorting.

:point_right: Click me to install
:point_right: Support

demo

This is becoming a very useful plug-in, I’m now using it instead of Workspaces as it suits my workflow better.

Some suggestions (re: the attached image)

  1. The icon for “visible/not visible” is the wrong way around (imho). A crossed-out eye icon says to me “can’t see”.
  2. When switching to another group and hiding the current group, the active tab in the previous group remains highlighted. I would suggest either removing the highlight or (even better) muting the highlight by making the colour partially transparent.
  3. The font styles don’t differentiate clearly between groups and note names. I would suggest an option for changing colour, size or bold.

Thanks again for a very useful plug-in.
image

Thank you for your support!

  1. The icon for “visible/not visible” is the wrong way around (imho). A crossed-out eye icon says to me “can’t see”.

This might be a UX design dilemma:
Option 1. Action Perspective: From this point of view, the icon indicates the action that would be done. A “crossed-out eye” icon spells: “click me to make this invisible”.
Option 2. State Perspective: As an alternative, the icon tells the state of some related object. A “crossed-out eye” icon tells: “this thing is invisible”.
My preference here is Option 1. To solve your problem, graying out the hidden group might be better, as it provides an intuitive and consistent visual indication of the state.

  1. When switching to another group and hiding the current group, the active tab in the previous group remains highlighted. I would suggest either removing the highlight or (even better) muting the highlight by making the colour partially transparent.

This is a CSS issue regarding your theme. In the following demo, tab 1, 2 and 5 are highlighted since they are selected in their own groups. Tab 5’s highlighting is darker to show that it is the one being edited.


To make this work, your theme has to differentiate the following two CSS variables,

--background-modifier-active-hover
--nav-item-background-active

that is, assigning different colors to these variables.
You may fix this issue by adding a CSS snippet, for example,

.obsidian-vertical-tabs-container .tree-item.is-tab.is-highlighted .tree-item-self {
    background-color: red;
}
  1. The font styles don’t differentiate clearly between groups and note names. I would suggest an option for changing colour, size or bold.

Great point! I’ll fix this.

1 Like

:tada::tada: Vertical Tabs v0.6.10

:tada: All known bugs have been fixed!

:bangbang: IMPORTANT: A restart of Obsidian is required after updating. :bangbang:.

:point_right: Click me to install
:point_right: Support

Thanks for the feedback. And the CSS snippet you provided works perfectly!
image

1 Like

:heart: :heart: Vertical Tabs v0.6.11 :heart: :heart:

Latest Updates & Improvements:

:point_right: Support

  • :balloon: Drag-and-Drop for Tabs :balloon: The drag-and-drop functionality for tabs is now always enabled, making workspace management easier. (#36)
  • :balloon: Middle-Click Improvements :balloon: Middle-mouse scrolling is no longer triggered accidentally. Middle-clicking now reliably closes tabs in all situations. (#14)
  • :balloon: Vertical Tabs Usability :balloon: Vertical Tabs can no longer be dragged to the main split, preventing itself from getting hidden. (#35)
  • :balloon: Clear File Paths :balloon: For files with the same name, the full file path is now displayed to help distinguish between them. (#30)
  • :balloon: Group Management :balloon: A new button has been added to quickly collapse or expand all groups, except the sidebars, for better organization. (#37)