Editor Tabs
Problem
A number of users have complained about lack of tabs over the years. While we strive to make them unnecessary (due to their limited use after a few documents are open) we may be able to add support for them in a user-configurable way.
Goals
Implement a more complete DzlTabStrip for document selection. This will require scrollability, middle-mouse-click, close buttons, and menus at either side.
- Add GSetting for displaying tabs and implement in builtin Builder preferences.
Add/remove tab strip from IdeFrame based on GSetting.
Anti-Goals
- We will not be switching to tabs by default.
Affected Modules
- libdazzle (or implement it manually in libide-gui)
- libide-gui/ide-frame.c
Interfaces
Risks
- We do not want to get stuck maintaining something that is difficult to maintain. It is important the tab-strip is high-quality.
- We want something that can eventually be ported to Gtk 4 without too much difficulty.