Skip to content

V2.2

Compare
Choose a tag to compare
@Euro20179 Euro20179 released this 23 Feb 02:41
· 722 commits to master since this release

To Update

If you installed with make on Linux on version 2.0 or prior, run sudo make uninstall-old before sudo make install doc

git clone -b v2.2 https://github.com/pystardust/ytfzf
cd ytfzf
sudo make install doc

Package maintainers, please read the notice at the bottom

Additions

Features

  • addons folder for less supported features
  • comments scraper, eg: ytfzf -c comments "https://vid.puffyan.us/watch?v=dQw4w9WgXcQ" (658bf50)
  • asynchronous scraping for youtube/Y and invidious-channel (43a06199ca0d37f419697a189982f11b4b0e1ec90)
  • wait for input when using -I or -L (7691692)
  • multi search, use multiple searches for multiple scrapers (f63b064)
  • kitty thumbnail viewer (4a5ef64)

Options

  • -S flag, a more presice -a flag. (793aa51)
  • --format-sort A way to sort the formats with -f (1e5f672)
  • --format-selection to choose between simple (the old way) and normal format selection screens (1e5f672)
  • --disable-back to disable the back button, however leaving the submenu still goes back to main menu. (7650b4b)
  • --fancy-subs has been readded (2a3f1c9)
  • --sort-name a way to use a different sorting algorithm than the default --sort (7d79e4e)
  • --fzf-opts and --fzf-thumbnail-opts (4a45b49)
  • custom_search_scrape_exclude to more easily manage scrapes that don't need a search query (66e88d0)
  • handle_keypress_*, eg: handle_keypress_alt_d this way you don't have to have a big case statement in handle_custom_keypresses (8ad6316)
  • on_clean_up config function (d3114bb)
  • on_opt_parse_<opt_name> config function (7d2f06b)

New Addons

Scrapers

  • ani (anime scraper) (requires openssl)
  • ddg (duckduckgo) (requires ddgr)
  • invidious-popular
  • recommended
  • yt (regular youtube search (no invidious))
  • osu (scrapes the new beatmaps on osu.ppy.sh)

Thumbnail Viewers

  • display

Interfaces

  • sxiv

Sort Names

  • alpha
  • alpha-rev

Changes

  • -f now asks for audio pref and video pref separately instead of assuming bestaudio (6ec9c08)
  • video_pref, audio_pref, and ytdl_pref are now 3 different variables to reduce confusion. (6ec9c08)
    • the default video_pref is now bestvideo instead of best
    • the default audio_pref is bestaudio
    • the default ytdl_pref is $video_pref+$audio_pref/$video_pref/$audio_pref
  • changed the shebang from #!/bin/sh to #!/usr/bin/env sh to be more portable.
  • the default thumbnail_quality is high instead of default (355b29b).
  • the default yt_video_link_domain is now https://youtube.com for better compatibility with video players (66e6ab9).
  • the order of log_level is now the opposite (2 = everything, 1 = warnings/errors, 0 = errors) (723f510)

Fixes

  • playlists scrape infinitely (e9786b32167e648685fe7a4974e3cfc4b5d114330)
  • relative paths to interfaces didn't work (3ef2e95)
  • --detach works with -m (fd945ad)
  • "%'" invalid directive (8d7b1b4)
  • Having quotes in the search query breaks curl (6e1a7a2)
  • Somtimes when not all info is provided the labels in thumbnail display were off.
  • when -q and -s are enabled, it will ask for search normally after the first search. (68ef357)
  • sub process of ytfzf are not killed when main thread is killed. (3abcd5c)
  • --thumb-viewer can point to just a regular executable file (a86feb9)

Removed

  • display thumbnail viewer is now an addon (a065223)
  • set_save_custom_filters (bed5944)
  • init_multi_filters (bed5944)
  • manage_multi_custom_filters (bed5944)

Github

  • added CONTRIBUTING.md
  • added a credits section in the README

next update i probably won't keep track of commits as it was more effort than it was worth

For package maintainers

  • There is a variable in the script called YTFZF_SYSTEM_ADDON_DIRS, if you want to package it so that addons are installed in a system path, make sure this variable points to the correct location.
    • Make sure to not point this to ~/.config/ytfzf/ as this is the user addons dir
    • You can either make it point to the correct location by either:
      • modifying the script
      • exporting it as an environment variable in a global startup file of some kind (eg: /etc/environment)