Add yt-dlp "Download Video" Chromium extension
Download the current page's video with yt-dlp via Alt+Shift+D or a click on the toolbar icon. A native-messaging host runs the download, shows live progress on the Quickshell OSD, and posts a clickable "Download complete" toast that opens the file in mpv. - Extension: pinned key for a stable id, green download-video icon, keyboard command + toolbar action (reads the active tab URL). - Native host (omarchy-chromium-ytdlp-host): verifies the URL with yt-dlp --simulate (else "No video found"), streams progress to the OSD (time-throttled to ~4/s), saves to ~/Videos, opens mpv on click. - Installer (omarchy-install-chromium-ytdlp) writes the native-messaging manifest into installed Chromium/Chrome/Brave/Edge profiles; wired into browser install and chromium refresh, with a migration for existing users. - omarchy-osd: add -d/--duration so the OSD can persist during a download. - Add yt-dlp to base packages, load the extension via --load-extension, and document the Alt+Shift+D binding. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
1d6467c91c
commit
e5290b0a12
@@ -0,0 +1,25 @@
|
||||
echo "Add yt-dlp download extension (Alt+Shift+D) to Chromium-based browsers"
|
||||
|
||||
YTDLP_EXT="$OMARCHY_PATH/default/chromium/extensions/yt-dlp"
|
||||
|
||||
add_ytdlp_extension() {
|
||||
local file=$1
|
||||
|
||||
[[ -f $file ]] || return 0
|
||||
grep -q "extensions/yt-dlp" "$file" && return 0
|
||||
|
||||
if grep -q "^--load-extension=" "$file"; then
|
||||
sed -i --follow-symlinks "s|^--load-extension=\(.*\)$|--load-extension=\1,$YTDLP_EXT|" "$file"
|
||||
else
|
||||
echo "--load-extension=$YTDLP_EXT" >>"$file"
|
||||
fi
|
||||
}
|
||||
|
||||
for conf in chromium chrome google-chrome brave brave-beta brave-nightly brave-origin-beta microsoft-edge-stable; do
|
||||
add_ytdlp_extension "$HOME/.config/$conf-flags.conf"
|
||||
done
|
||||
|
||||
omarchy-pkg-add yt-dlp
|
||||
|
||||
# Register the native messaging host that runs yt-dlp for the extension.
|
||||
omarchy-install-chromium-ytdlp || true
|
||||
Reference in New Issue
Block a user