Closed DLFW closed 9 months ago
Quick link to the documentation for tab-bar configuration in my fork: https://github.com/DLFW/joshuto/tree/nicer-tabs/docs/configuration/tabbar
I would enhance the docs in some time, I guess.
Here are two screenshots of the default configuration; without scroll tags:
...and with scroll tags:
Thanks @kamiyaa! Sorry for the bug... I was testing this since weeks but it seems I'm not so interested in my root dir.... 😄
This implements a scrollable tab bar, like discussed in #233.
This makes tabs easier to read, better utilizes the space in the top-bar and makes handling many tabs way easier.
The display of the current directory has been removed. The current tab will show the directory always in full form. The directories of other tabs will be shown in full form if there is enough space, otherwise, they will be shown in a short form. If the available space in the top-bar is still not sufficient, scroll tags will be added at each end.
The long-form is currently defined as the full, absolute path. The short-form is currently defined as the last directory element of the path.
The tab-bar is configurable in terms of font styling and style character (like dividers, prefixes, and postfixes).
Documentation has been created in a separate file.
Collateral impact:
tilde_in_titlebar
option for[display]
injoshuto.toml
has been removed. (Because the "current dir display" has been removed.)display_mode
option for[tabs]
injoshuto.toml
has been removed and with it, also thetab_bar_mode
command. The appearance of index-numbers in tags is not configurable anymore. Numbers are shown if and only if there are more than one tab. This feature can be re-introduced later in some other form if still desired with the new tab-bar. With the new tab-bar, this configuration option did not make sense the way it was designed.max_len
option for[tabs]
injoshuto.toml
has been removed. (Because tabs don't have a fixed width anymore.)AppStyleOptionsRaw
struct has been introduced to allow handling of more complex default styling logic. Each styling attribute is defined there as anOption
to indicate if a styling option has been set by the user or not.PathStyleIfSome
trait is now available in "utils" to patch ratatui styles with another, optional style.