feat: rename categories from views and selectors
This commit is contained in:
@@ -70,6 +70,7 @@ These are the default bindings. Overrides in `[keys]` replace an action's bindin
|
||||
| `U` (Shift-U) | Open the selected video's channel |
|
||||
| `s` | Edit the selected channel's tags |
|
||||
| `S` | Edit tags for all saved channels in the current category |
|
||||
| `R` (Shift-R) | Rename the current category, including category-scoped collection views |
|
||||
| `w` | Save the selected video to watch later (also works in previews) |
|
||||
| `W` | Choose combined or category watch later from any video view or preview |
|
||||
| `Alt-w` | Open the current category's watch later |
|
||||
@@ -95,12 +96,12 @@ The full-description view scrolls with ↓ / ↑, Ctrl-J / Ctrl-K, or PageDown /
|
||||
|
||||
### Text input
|
||||
|
||||
These shortcuts work in search, category/channel/tag-filter, and new-tag fields:
|
||||
These shortcuts work in search, category/channel/tag-filter, new-tag, and category-rename fields:
|
||||
|
||||
| Key | Action |
|
||||
| --- | --- |
|
||||
| Enter | Submit the search, browse the selected category/channel, leave tag-filter mode, or stage the new tag |
|
||||
| Esc | Leave insert mode or abandon the new-tag name |
|
||||
| Enter | Submit the search, browse the selected category/channel, leave tag-filter mode, stage a new tag, or commit a rename |
|
||||
| Esc | Leave insert mode or abandon the new-tag / rename prompt |
|
||||
| Backspace | Delete one character |
|
||||
| Option/Alt-Backspace or Ctrl-W | Delete the previous whitespace-delimited word |
|
||||
| Cmd/Super-Backspace or Ctrl-U | Clear the line |
|
||||
@@ -111,9 +112,9 @@ In terminals supporting bracketed paste, clipboard text is inserted in one opera
|
||||
|
||||
### Category browser (`c`)
|
||||
|
||||
- **Normal:** `j` / `k` or arrow keys navigate; `i` enters filter mode; Enter browses the selected category; `p` toggles its persisted pin; Esc closes.
|
||||
- **Normal:** `j` / `k` or arrow keys navigate; `i` enters filter mode; Enter browses the selected category; `p` toggles its persisted pin; `R` renames it; Esc closes.
|
||||
- **Insert:** type a case-insensitive substring to filter; arrow keys or Ctrl-J / Ctrl-K navigate matches; Enter browses; Esc returns to normal mode without clearing the filter.
|
||||
- Reopening the browser clears its filter. No matches makes browsing and pinning a no-op.
|
||||
- Reopening the browser clears its filter. No matches makes browsing, pinning, and renaming a no-op.
|
||||
|
||||
### Saved channels (`u`)
|
||||
|
||||
@@ -127,15 +128,25 @@ Press **`U` (Shift-U)** on a video to browse its creator directly, including cha
|
||||
|
||||
### Channel tags (`s`, or `S` for bulk editing)
|
||||
|
||||
- **Normal:** `j` / `k` or arrow keys navigate; Space toggles a tag; `i` edits the filter.
|
||||
- **Normal:** `j` / `k` or arrow keys navigate; Space toggles a tag; `i` edits the filter; `R` renames the selected tag.
|
||||
- **Insert:** type a case-insensitive substring to filter live; arrow keys or Ctrl-J / Ctrl-K navigate matches. Enter or Esc returns to normal mode without saving or clearing the filter.
|
||||
- Filtering only hides rows: checked and unchecked staged memberships outside the filter are retained. With no matches, navigation and toggling do nothing. Reopening the dialog clears its filter.
|
||||
- `n` prompts for a new tag name. Enter stages it checked, clears the filter, and selects the new tag; Esc abandons the name.
|
||||
- Enter **in the normal-mode tag list** saves all staged memberships, including hidden tags. Esc cancels without writing. These controls apply to both single-channel and bulk tagging.
|
||||
- Enter **in the normal-mode tag list** saves all staged memberships, including hidden tags. Esc cancels those staged changes; it does not undo a committed rename of an existing category. These controls apply to both single-channel and bulk tagging.
|
||||
- Filter actions are configurable as `tags.edit`, `tags.input.next`, and `tags.input.previous`; text editing uses the shared `input.*` actions.
|
||||
|
||||
Bulk editing applies the exact checked tag set to **every saved channel in the current category**, not only channels with loaded videos. Tags shared by every target start checked; mixed memberships start unchecked. Review the checked set before saving: unchecked tags are removed from all targets. Other channels, saved registrations, empty categories, pins, and comments are preserved.
|
||||
|
||||
### Renaming categories (`R`)
|
||||
|
||||
In normal mode, press `R` (Shift-R) to rename the active category, or the hovered category in a category/collection selector or single-channel/bulk tag list. Combined collection entries and channel rows cannot be renamed.
|
||||
|
||||
The floating prompt starts with the current name. Edit it with the shared text controls (`Ctrl-U` clears it), then press Enter to commit or Esc to cancel. Names are trimmed and must be nonempty, free of control characters, and distinct from existing or staged category names. Errors leave the prompt open without changing the file. If the source category changed externally, close dialogs and reload config with `r` before retrying.
|
||||
|
||||
Renaming an existing category saves its identity immediately while preserving channel memberships, pins, comments, cached videos, selection, pagination, watch filters, and back/forward history. In tag dialogs, checkbox changes remain staged until the main tag-list Enter; cancelling them does not undo the rename. A newly staged, unsaved tag stays local when renamed and reaches disk only when the tags are saved.
|
||||
|
||||
Configure the shortcut with `category.rename`; the prompt uses the shared `input.*` actions. `R` remains ordinary text while editing search or filters.
|
||||
|
||||
## Subscriptions and feeds
|
||||
|
||||
Configuration lives at:
|
||||
|
||||
Reference in New Issue
Block a user