add youtube-tui config and .zshprofile
This commit is contained in:
parent
a19db5bafa
commit
285cb72a18
10 changed files with 376 additions and 0 deletions
5
dot_zprofile
Normal file
5
dot_zprofile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
export MGFXC_WINE_PATH="/home/matthieu/.winemonogame"
|
||||
|
||||
export PATH="$PATH:/home/matthieu/.winemonogame"
|
||||
source /usr/local/lib/node_modules/@hyperupcall/autoenv/activate.sh
|
||||
27
private_dot_config/youtube-tui/appearance.yml
Normal file
27
private_dot_config/youtube-tui/appearance.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
borders: Rounded
|
||||
colors:
|
||||
text: Reset
|
||||
text_special: Reset
|
||||
text_secondary: Reset
|
||||
text_error: LightRed
|
||||
outline: Reset
|
||||
outline_selected: LightBlue
|
||||
outline_hover: LightRed
|
||||
outline_secondary: LightYellow
|
||||
message_outline: '#FF7F00'
|
||||
message_error_outline: LightRed
|
||||
message_success_outline: LightGreen
|
||||
command_capture: '#64FF64'
|
||||
item_info:
|
||||
tag: Gray
|
||||
title: LightBlue
|
||||
description: Gray
|
||||
author: LightGreen
|
||||
viewcount: LightYellow
|
||||
length: LightCyan
|
||||
published: LightMagenta
|
||||
video_count: '#838DFF'
|
||||
sub_count: '#65FFBA'
|
||||
likes: '#C8FF81'
|
||||
genre: '#FF75D7'
|
||||
page_turner: Gray
|
||||
25
private_dot_config/youtube-tui/cmdefine.yml
Normal file
25
private_dot_config/youtube-tui/cmdefine.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
bookmarks: loadpage bookmarks
|
||||
library: loadpage library
|
||||
cp: copy
|
||||
channel: loadpage channel
|
||||
video: loadpage video
|
||||
x: quit
|
||||
exit: quit
|
||||
sub: sync
|
||||
h: help
|
||||
tpause: mpv tprop pause ;; echo success Toggled player pause
|
||||
next: mpv playlist-next ;; echo mpv Skipped
|
||||
popular: loadpage popular
|
||||
back: mpv playlist-previous ;; echo mpv Skipped
|
||||
watchhistory: loadpage watchhistory
|
||||
trending: loadpage trending
|
||||
feed: loadpage feed
|
||||
search: loadpage search
|
||||
playlist: loadpage playlist
|
||||
r: reload
|
||||
pause: mpv sprop pause yes ;; echo mpv Player paused
|
||||
v: version
|
||||
print: echo
|
||||
rc: reload configs
|
||||
q: quit
|
||||
resume: mpv sprop pause no ;; echo mpv Player resumed
|
||||
82
private_dot_config/youtube-tui/commandbindings.yml
Normal file
82
private_dot_config/youtube-tui/commandbindings.yml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
global:
|
||||
Left:
|
||||
3: back ;; echo mpv Unskipped
|
||||
2: mpv seek -5 ;; echo mpv Rewinded 5 seconds
|
||||
'c':
|
||||
2: cp ${url}
|
||||
'f':
|
||||
2: run ${browser} '${url}'
|
||||
' ':
|
||||
0: tpause ;; echo mpv Player pause toggled
|
||||
'y':
|
||||
0: cp ${url}
|
||||
Right:
|
||||
3: next ;; echo mpv Skipped
|
||||
2: mpv seek 5 ;; echo mpv Fast forwarded 5 seconds
|
||||
search:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
popular:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
trending:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
video: {}
|
||||
playlist:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
channel_main: {}
|
||||
channel_videos:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
channel_playlists:
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
watchhistory:
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
feed:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-channel-url}/videos' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-video-url}'
|
||||
'P':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-channel-url}/videos' --no-video --loop-playlist=inf --shuffle
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-video-url}' --no-video
|
||||
library:
|
||||
'A':
|
||||
1: parrun ${terminal-emulator} mpv '${hover-url}' --no-video --loop-playlist=inf --shuffle
|
||||
'p':
|
||||
2: parrun mpv '${hover-url}'
|
||||
'a':
|
||||
2: parrun ${terminal-emulator} mpv '${hover-url}' --no-video
|
||||
56
private_dot_config/youtube-tui/commands.yml
Normal file
56
private_dot_config/youtube-tui/commands.yml
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
launch_command: loadpage library ;; flush ;; history clear ;; key Esc 0 ;; key Up 0 ;; key Up 0 ;; key Left 0 ;; key Enter 0
|
||||
video:
|
||||
- Reload updated video: run rm '~/.cache/youtube-tui/info/${id}.json' ;; video ${id}
|
||||
- Play video: parrun ${video-player} '${embed-url}'
|
||||
- Play audio: mpv stop ;; resume ;; mpv sprop loop-file no ;; mpv loadfile '${embed-url}' ;; echo mpv Player started
|
||||
- Play audio (loop): mpv stop ;; resume ;; mpv sprop loop-file inf ;; mpv loadfile '${embed-url}' ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Save video to library: bookmark ${id} ;; run rm -rf '${save-path}${id}.*' ;; parrun ${terminal-emulator} ${youtube-downloader} '${embed-url}' -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Save audio to library: bookmark ${id} ;; parrun rm -rf '${save-path}${id}.*' ;; parrun ${terminal-emulator} ${youtube-downloader} '${embed-url}' -x -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- 'Mode: ${provider}': switchprovider
|
||||
saved_video:
|
||||
- Reload updated video: run rm '~/.cache/youtube-tui/info/${id}.json' ;; video ${id}
|
||||
- '[Offline] Play saved file': parrun ${video-player} '${offline-path}' --force-window
|
||||
- '[Offline] Play saved file (audio)': mpv stop ;; resume ;; mpv sprop loop-file no ;; mpv loadfile '${offline-path}' ;; echo mpv Player started
|
||||
- '[Offline] Play saved file (audio loop)': mpv stop ;; resume ;; mpv sprop loop-file inf ;; mpv loadfile '${offline-path}' ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Redownload video to library: bookmark ${id} ;; run rm ${save-path}*${id}*.* ;; parrun ${terminal-emulator} ${youtube-downloader} ${embed-url} -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Redownload audio to library: bookmark ${id} ;; run rm ${save-path}*${id}*.* ;; parrun ${terminal-emulator} ${youtube-downloader} ${embed-url} -x -o '${save-path}%(title)s[%(id)s].%(ext)s'
|
||||
- Delete saved file: run rm ${save-path}*${id}*.*
|
||||
playlist:
|
||||
- Switch view: '%switch-view%'
|
||||
- Reload updated playlist: run rm ~/.cache/youtube-tui/info/${id}.json ;; reload
|
||||
- Play all (videos): parrun ${video-player} ${url}
|
||||
- Play all (audio): mpv stop ;; resume ;; ${mpv-queuelist} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- Shuffle play all (audio loop): mpv stop ;; resume ;; ${mpv-queuelist} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Save playlist videos to library: bookmark ${id} ;; run rm -rf '${save-path}*${id}*' ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Save playlist audio to library: bookmark ${id} ;; run rm -rf '${save-path}*${id}*' ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -x -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- 'Mode: ${provider}': switchprovider
|
||||
saved_playlist:
|
||||
- Switch view: '%switch-view%'
|
||||
- Reload updated playlist: run rm ~/.cache/youtube-tui/info/${id}.json ;; reload
|
||||
- '[Offline] Play all (videos)': parrun ${video-player} ${save-path}*${id}*/* --force-window
|
||||
- '[Offline] Play all (audio)': mpv stop ;; resume ;; ${offline-queuelist} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- '[Offline] Shuffle play all (audio loop)': mpv stop ;; resume ;; ${offline-queuelist} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- View channel: channel ${channel-id}
|
||||
- Subscribe to channel: sync ${channel-id}
|
||||
- Open in browser: parrun ${browser} '${url}'
|
||||
- Toggle bookmark: togglemark ${id}
|
||||
- Redownload playlist videos to library: bookmark ${id} ;; run rm -rf ${save-path}*${id}* ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Redownload playlist audio to library: bookmark ${id} ;; run rm -rf ${save-path}*${id}* ;; parrun ${terminal-emulator} bash -c "${youtube-downloader} ${all-videos} -x -o '"'${save-path}${title}[${id}]/%(title)s[%(id)s].%(ext)s'"'"
|
||||
- Delete saved files: run rm -rf ${save-path}*${id}*
|
||||
channel:
|
||||
- Subscribe to channel: sync ${id}
|
||||
- Play all (videos): parrun ${video-player} ${url}
|
||||
- Play all (audio): mpv stop ;; resume ;; mpv loadfile ${url} ;; mpv sprop loop-playlist no ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
- Shuffle play all (audio loop): mpv stop ;; resume ;; mpv loadfile ${url} ;; mpv sprop loop-playlist yes ;; mpv playlist-shuffle ;; mpv playlist-play-index 0 ;; echo mpv Player started
|
||||
52
private_dot_config/youtube-tui/keybindings.yml
Normal file
52
private_dot_config/youtube-tui/keybindings.yml
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
'e':
|
||||
2: End
|
||||
'r':
|
||||
2: Reload
|
||||
Esc:
|
||||
0: Deselect
|
||||
'd':
|
||||
4: RemoveWord
|
||||
0: ClearHistory
|
||||
Enter:
|
||||
0: Select
|
||||
Backspace:
|
||||
0: Back
|
||||
'j':
|
||||
0: MoveDown
|
||||
'q':
|
||||
0: Exit
|
||||
Right:
|
||||
0: MoveRight
|
||||
2: NextWord
|
||||
End:
|
||||
0: ClearHistory
|
||||
Home:
|
||||
0: FirstHistory
|
||||
'v':
|
||||
2: Paste
|
||||
'w':
|
||||
2: RemoveWord
|
||||
F5:
|
||||
0: Reload
|
||||
':':
|
||||
0: StartCommandCapture
|
||||
'u':
|
||||
2: ClearLine
|
||||
'a':
|
||||
2: First
|
||||
'k':
|
||||
0: MoveUp
|
||||
Up:
|
||||
0: MoveUp
|
||||
2: PreviousEntry
|
||||
Down:
|
||||
2: NextEntry
|
||||
0: MoveDown
|
||||
'l':
|
||||
0: MoveRight
|
||||
Left:
|
||||
4: Back
|
||||
0: MoveLeft
|
||||
2: PreviousWord
|
||||
'h':
|
||||
0: MoveLeft
|
||||
30
private_dot_config/youtube-tui/main.yml
Normal file
30
private_dot_config/youtube-tui/main.yml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
mouse_support: true
|
||||
invidious_instance: https://invidious.f5.si
|
||||
write_config: Try
|
||||
allow_unicode: true
|
||||
message_bar_default: All good :)
|
||||
images: Sixels
|
||||
refresh_after_modifying_search_filters: true
|
||||
syncing:
|
||||
download_images: true
|
||||
sync_channel_info: true
|
||||
sync_channel_cooldown_secs: 86400
|
||||
sync_videos_cooldown_secs: 600
|
||||
limits:
|
||||
watch_history: 50
|
||||
search_history: 75
|
||||
commands_history: 75
|
||||
textbar_scroll_behaviour: History
|
||||
image_index: 4
|
||||
provider: YouTube
|
||||
search_provider: RustyPipe
|
||||
api_key: YOUR API KEY HERE
|
||||
shell: sh
|
||||
legacy_input_handling: false
|
||||
env:
|
||||
browser: xdg-open
|
||||
terminal-emulator: konsole -e
|
||||
save-path: ~/.local/share/youtube-tui/saved/
|
||||
youtube-downloader: yt-dlp
|
||||
download-path: ~/Downloads/%(title)s-%(id)s.%(ext)s
|
||||
video-player: mpv
|
||||
88
private_dot_config/youtube-tui/pages.yml
Normal file
88
private_dot_config/youtube-tui/pages.yml
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
main_menu:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- Library
|
||||
- Feed
|
||||
- History
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ItemList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading main menu...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Down 0 ;; key Enter 0
|
||||
feed:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- Library
|
||||
- Feed
|
||||
- History
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ChannelList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- VideoList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading feed...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Down 0 ;; key Enter 0
|
||||
search:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ItemList
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading search results...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0
|
||||
singleitem:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SingleItemInfo
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading item details...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0
|
||||
channeldisplay:
|
||||
layout:
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- SearchBar
|
||||
- SearchFilters
|
||||
- type: CenteredRow
|
||||
items:
|
||||
- ChannelMain
|
||||
- ChannelVideos
|
||||
- ChannelPlaylists
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- ChannelDisplay
|
||||
- type: NonCenteredRow
|
||||
items:
|
||||
- MessageBar
|
||||
message: Loading channel details...
|
||||
command: key Esc 0 ;; key Down 0 ;; key Enter 0 ;; key Up 0
|
||||
4
private_dot_config/youtube-tui/remaps.yml
Normal file
4
private_dot_config/youtube-tui/remaps.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
'a':
|
||||
5:
|
||||
code: 'b'
|
||||
modifiers: 5
|
||||
7
private_dot_config/youtube-tui/search.yml
Normal file
7
private_dot_config/youtube-tui/search.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
query: ''
|
||||
filters:
|
||||
sort: Relevance
|
||||
date: None
|
||||
duration: None
|
||||
type: All
|
||||
page: 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue