feat: open selected video channel with U
This commit is contained in:
@@ -62,6 +62,7 @@ Each selection opens an independent player instance without replacing existing p
|
|||||||
| Esc | Close the preview |
|
| Esc | Close the preview |
|
||||||
| `c` | Browse saved categories |
|
| `c` | Browse saved categories |
|
||||||
| `u` | Browse an individual saved channel |
|
| `u` | Browse an individual saved channel |
|
||||||
|
| `U` (Shift-U) | Open the selected video's channel |
|
||||||
| `s` | Edit the selected channel's tags |
|
| `s` | Edit the selected channel's tags |
|
||||||
| `S` | Edit tags for all saved channels in the current category |
|
| `S` | Edit tags for all saved channels in the current category |
|
||||||
| Tab / Shift-Tab | Switch between visible views |
|
| Tab / Shift-Tab | Switch between visible views |
|
||||||
@@ -100,6 +101,8 @@ If the terminal intercepts modified Backspace rather than transmitting it, use C
|
|||||||
- Choosing a channel opens one temporary channel tab. Choosing another replaces it without replacing the temporary category tab. Revisiting a channel restores its cached videos, selection, and pagination.
|
- Choosing a channel opens one temporary channel tab. Choosing another replaces it without replacing the temporary category tab. Revisiting a channel restores its cached videos, selection, and pagination.
|
||||||
- Channel selection is single-choice and does not pin channels or change subscriptions. `s` still edits the selected video's channel tags; bulk `S` remains category-only.
|
- Channel selection is single-choice and does not pin channels or change subscriptions. `s` still edits the selected video's channel tags; bulk `S` remains category-only.
|
||||||
|
|
||||||
|
Press **`U` (Shift-U)** on a video to browse its creator directly, including channels you have not saved. This uses the same temporary channel tab and caches without adding a subscription. Channel IDs are preferred; a valid handle is used when an ID is unavailable. Missing channel metadata leaves the current view unchanged. Unsaved channel views survive configuration changes for the session; explicitly removing a saved subscription still removes its channel view.
|
||||||
|
|
||||||
### Channel tags (`s`, or `S` for bulk editing)
|
### Channel tags (`s`, or `S` for bulk editing)
|
||||||
|
|
||||||
- `j` / `k` or arrow keys navigate; Space toggles a tag.
|
- `j` / `k` or arrow keys navigate; Space toggles a tag.
|
||||||
|
|||||||
+1
-1
@@ -400,7 +400,7 @@ fn category_name(name: &str) -> io::Result<&str> {
|
|||||||
Ok(name.trim())
|
Ok(name.trim())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn normalize_channel(input: &str) -> io::Result<String> {
|
pub(crate) fn normalize_channel(input: &str) -> io::Result<String> {
|
||||||
if input.chars().any(char::is_control) {
|
if input.chars().any(char::is_control) {
|
||||||
return Err(invalid(
|
return Err(invalid(
|
||||||
"Channel addresses must contain no control characters",
|
"Channel addresses must contain no control characters",
|
||||||
|
|||||||
+188
-20
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user