feat: group global configuration under settings

This commit is contained in:
2026-10-11 17:17:50 +02:00
parent f5c1386315
commit eee610105e
3 changed files with 111 additions and 19 deletions
+3 -1
View File
@@ -129,7 +129,7 @@ $XDG_CONFIG_HOME/tubular/config.toml
If `XDG_CONFIG_HOME` is unset, empty, or relative, the fallback is `~/.config/tubular/config.toml`. Edit the file directly and press `r` to reload, or save memberships from the tag dialog.
```toml
# Top-level setting: place this before the table headers.
[settings]
pinned_categories = ["Favorites"]
[categories]
@@ -142,6 +142,8 @@ Favorites = ["@jawed"]
`[categories]` contains **flat, overlapping tags**. A channel can belong to several categories; there is no hierarchy or inheritance. `[channels]` maps readable handles to stable channel URLs or IDs. Saving a channel through the UI records its handle and mapping when metadata is available.
`[settings]` holds global options such as `pinned_categories`. The `[settings]`, `[channels]`, and `[categories]` sections can appear in any order; pin/unpin preserves the existing section order and other preferences. For older configs, add `[settings]` immediately above `pinned_categories`. A top-level declaration is no longer accepted.
Category entries accept `@handles`, HTTPS YouTube channel URLs, or canonical `UC…` channel IDs. Mapped handles use their stable identity; unmapped handles work directly.
- **Search** and **Feed** are permanent tabs. Feed combines all `[channels]` registrations, including untagged channels, plus channels entered directly in categories, without duplicates.