- Tabs Sidebar
- Manage open document tabs from the sidebar.
- 4667 Installs
-
This extension is allowed to:
- Read Files
- Launch Subprocesses
Readme
Tabs Sidebar
Tabs Sidebar provides a sidebar to list and manage your currently open document tabs.
It was inspired by the Tab List Nova extension, but is a complete rewrite with numerous improvements and new features.
Features
- Sort by tab bar order, file kind, or alphabetically
- Sort by custom order using up/down buttons and context menu
- Custom sort order is saved in project config
- Group by type, based on syntax
- Group by folder hierarchy
- Indicators for unsaved tab, remote tab, and in trash
- Shows Git status as icon and/or text
- Right-click context menu with options to "Close Tab", "Show in Finder", "Copy Path", etc.
- Option to open tab on single click or double click
- Option to show or hide parent folder names
- Option to show file count when grouping by kind
- Localized in French, German, Chinese, and Japanese
Requirements
Git >= 2.15 is required to show Git status
In order to use the Git status feature, Git must be installed and available on the command line, and your Nova project folder must be a Git repo.
Accessibility Permissions
Tabs Sidebar uses AppleScript to read and activate certain menubar items such as "Close Tab", "Show in Files Sidebar", and "Clean Up By Tab Bar Order". Accessibility permissions must be granted to Nova to perform these actions.
To give Nova accessibility permissions:
- Open System Preferences → Security & Privacy → Privacy, and click the lock to make changes.
- Scroll down to Accessibility and check on Nova in the list.
- Scroll down to Automation and check on System Events under Nova.
Usage
To use Tabs Sidebar:
- From the "All Sidebars" panel, click and drag the "Tabs" item up into the toolbar or out into a new split
- All open document tabs will be listed in the sidebar. Click or double-click an item to open its tab
- Click the up/down buttons when a tab or group is selected to rearrange the list
- Right-click in the sidebar or click the (…) button for sorting options
- When "Sort Alphabetically" is enabled, custom sorting is not available. When disabled, custom order is restored.
- When "Group by Kind" is enabled, only custom sorting of group folders is available.
Configuration
To configure global preferences, open Extensions → Extension Library... then select Tabs Sidebar's Preferences tab.
Known limitations
- Tabs Sidebar cannot rearrange Nova's tab bar because there is currently no API, menu item, or keyboard shortcut for managing tabs order
- Cannot differentiate between a local file and remote file with the same name, leading to inconsistent opening and sorting. This is due to the Window menu not indicating which files are remote.
- Does not update list when document file path changes
Changelog
v1.7.1 - 2024-09-19
Fixed
- Folders having the wrong path info when copying path
v1.7.0 - 2024-09-19
Added
- New "Close All Tabs" menu item to quickly clean up a workspace
Changed
- Watching for Git status changes is now less buggy
- Refactored how folder hierarchy is built in group by folder view
Fixed
- Git status not auto-updating in group by folder view when saving document
v1.6.1 - 2024-02-08
Fixed
- Collapsed folders not being remembered after switching out of Group By Folder
v1.6.0 - 2024-02-08
Added
- Group by folder option
- Remember collapsed folder state
- New Dockerfile icon
- Updated macOS permissions instructions in README
- Popup notification when Nova is unable to execute Applescript commands
Changed
- Disabled open/close context menu items on type group folders
- Track custom order by file URI instead of path
v1.5.12 - 2024-01-25
Added
- Objective-C++ folder name
- Ruby folder icon when grouping by kind
- Add syntax icons for group folders when file extension doesn't match syntax
Fixed
- Attempt to fix documents in sidebar not updating properly when adding/removing editors
- Fix tree view reloading every time new untitled document is edited
- Disable Show In... and Copy Path context menu items for group folders
v1.5.8 - 2023-06-03
Added
- Preference to show folder path in forward or reverse order
Fixed
- Parent folder displaying twice in sidebar when always show parent folder option is selected
v1.5.7 - 2023-06-01
Fixed
- Attempt to fix extension service crash by delaying start of filesystem watcher on launch
v1.5.6 - 2023-05-28
Fixed
- Attempt to fix extension crash message on Nova launch by stopping filesystem watcher before quit
v1.5.5 - 2023-05-20
Added
- Dockerfile icon
- Objective-C group name
- Inverted Git status icons for working tree status
v1.5.4 - 2023-04-18
Changed
- Don't reload Git status if changed file is ignored by .gitignore
v1.5.3 - 2022-10-28
Added
- Reload tab list when document syntax changed
Changed
- Update sidebar icon to better match Nova interface
- Update Typescript definitions
v1.5.2 - 2022-10-17
Added
- Add back missing icons for .editorconfig, .gitignore, .css.map, .js.map, and typescript .t.ds definitions.
v1.5.1 - 2022-10-15
Fixed
- Filenames with @ symbol not showing git status
- Files inside untracked folders not showing git status
- Trashed files showing .Trash as parent folder twice
v1.5.0 - 2022-10-08
Added
- Show Git status indicators next to file names, configurable as icon and/or text
- Remember collapsed state of groups
- Group order can now be moved up/down when grouping by kind
- Basic workspace preferences pane
Changed
- Refactored app as a class, moved TabDataProvider to separate file
- Never activate open tab command when extension highlights a tab programmatically
Fixed
- Wrong tab sometimes being selected on startup
- Wrong tab sometimes being selected on document open/close
v1.4.2 - 2022-09-20
Changed
- Improved performance of switching remote tabs by combining applescripts into one script
- Disable unavailable context menu items for remote tabs (Show in Finder, Copy Relative Path)
Fixed
- Some remote tabs not opening on macOS < 11
v1.4.1 - 2022-09-20
Fixed
- Opening, closing, sorting remote tabs when workspace has no path
- Opening, closing, sorting tabs when file browser or terminal tab is currently active
v1.4.0 - 2022-09-18
Added
- Localized in French, German, Chinese, Japanese
Changed
- Rewritten with Typescript
- Slightly smaller default unsaved tab symbol
Fixed
- Prevent externally changed files from having their tabs inadvertently opened
- Fixes tabs switching when discarding git changes
- Fix error with getting parent of null element
v1.3.1 - 2022-08-08
Fixed
- Bug with timeoutId causing extension to fail to load
v1.3.0 - 2022-08-07
Added
- Ability to close remote tabs from the context menu
Changed
- Always activate extension no matter which documents are in workspace
- Refactored opening remote tabs
Fixed
- Newly opened tabs being placed in wrong order
v1.2.1 - 2022-08-05
Changed
- Improved performance of load on activation
v1.2.0 - 2022-08-05
Added
- Refresh command for when file name/path or syntax changes
Changed
- Greatly improved performance of moving tabs up/down by only refreshing moved items
- Scroll tab into view when moving up/down or focusing in editor
Fixed
- Error when trying to move tab past end rapidly
v1.1.8 - 2022-08-03
- Prevent error popup when attempting to move tabs too quickly past end
v1.1.7
- Prevent error popup when moving tabs up/down too quickly
v1.1.6
- Don't try to open document if it's already the one that's opened
v1.1.5
- Make shell scripts executable using Process instead of fs.chmod
v1.1.4
- Correct size for extension icon
v1.1.3
- Keep last document open when opening project
v1.1.2
- Resolve rapid tab switching bug on launch
v1.1.1
- Added new logo
- Updated TODO
v1.1.0 - 2022-08-02
- Automatically make shell scripts executable if they are not already
- Fixes certain commands not working
v1.0.0 - 2022-08-02
Initial release
License
MIT License
Copyright (c) 2022 Austen Blokker
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.