Cleaning up YT channels. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
 (HTM) git clone git://jay.scot/dotfiles
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 7b3c1c38ea8f8bbe950e06903fbfa6a271b16252
 (DIR) parent ab492840bba4d67e600edf06e755353a792346e8
 (HTM) Author: Jay Scott <me@jay.scot>
       Date:   Wed, 30 Jul 2025 19:14:37 +0100
       
       Cleaning up YT channels.
       
       Diffstat:
         M .gitignore                          |       1 +
         D bin/old/yt_dl.sh                    |      81 ------------------------------
         M bin/ytd                             |       5 ++---
         M foot/foot.ini                       |       2 +-
         M sway/config                         |       4 +++-
       
       5 files changed, 7 insertions(+), 86 deletions(-)
       ---
 (DIR) diff --git a/.gitignore b/.gitignore
       @@ -20,6 +20,7 @@ bin/neonmodem
        bin/radio
        bin/w3m
        bin/reddittui
       +bin/unrar
        
        # vim
        nvim/lazy-lock.json
 (DIR) diff --git a/bin/old/yt_dl.sh b/bin/old/yt_dl.sh
       @@ -1,81 +0,0 @@
       -#!/bin/sh
       -
       -# Instead of using tools like ytcc we can just use yt-dlp directly
       -# with a simple shell script without the need for python dependencies
       -# etc.
       -#
       -# Jay Scott <me@jay.scot>
       -
       -# user config
       -savepath="/home/jay/media/videos"
       -cachedir="${HOME}/.cache/yt_dl"
       -notify="echo \"%(title)s\" | mail -s 'YT: %(channel)s' jay"
       -
       -# static config
       -yt="yt-dlp"
       -baseurl="https://www.youtube.com/playlist?list="
       -
       -main() {
       -
       -        mkdir -p "${cachedir}"
       -
       -        $1 "mre_steve" "UU2I6Et1JkidnnbWgJFiMeHA"
       -        $1 "harald_baldr" "UUKr68ZJ4vv6VloNdnS2hjhA"
       -        $1 "dale_philip" "UUKygRpISlqs5TufcT3JtRng"
       -        $1 "simon_wilson" "UUQCrKxBj5Id79syQEsY2Qxg"
       -        $1 "hexdsl" "UURE3NFNtdjR96-H4QG4U1Fg"
       -        $1 "distrotube" "UUVls1GmFKf6WlTraIb_IaJg"
       -        $1 "brodie_robertson" "UUld68syR8Wi-GY_n4CaoJGA"
       -        $1 "pppeter" "UUnHEz9DZ6EAof1-DaQGD_Xw"
       -        $1 "bald_and_bankrupt" "UUxDZs_ltFFvn0FDHT6kmoXA"
       -        $1 "vagrant_holiday" "UUgNqlRGqHdxNRPR6ycynWhw"
       -        $1 "chris_ramsay" "UUrPUg54jUy1T_wII9jgdRbg"
       -        $1 "c90adventures" "UUVqpNG1R72i21jh-nAxEk4A"
       -        $1 "abroad_in_japan" "UUHL9bfHTxCMi-7vfxQ-AYtg"
       -        $1 "quin69" "UUpNBjjE8y8eFPhDU4YzYmKA"
       -        $1 "clawd00d" "UUdQ3VoDGjjl3NsfB3V0mPng"
       -        $1 "serpentza" "UUl7mAGnY4jh4Ps8rhhh8XZg"
       -        $1 "preach_gaming" "UUXJL3ST-O0J3nqzQyPJtpNg"
       -        $1 "indigo_traveller" "UUXulruMI7BHj3kGyosNa0jA"
       -        $1 "sidenote" "UURvWwMPr2SmSG7rXXzeEUdA"
       -        $1 "dave_snider" "UU7uO9V1Frl_wPd9d1qOm_RQ"
       -        $1 "bright_sun_films" "UU5k3Kc0avyDJ2nG9Kxm9JmQ"
       -        $1 "tuxfoo" "UUWpoyqSBIXtylRLFgP3PFfg"
       -        $1 "liamtheterrible" "UULF5Au9oV9G4qbyTKJmUcWWJg"
       -        $1 "mentourpilot" "UULFwpHKudUkP5tNgmMdexB3ow"
       -        $1 "will_whereabouts" "UULFvaxWoGczo5olB3lgC6Nr6A"
       -        $1 "linus_tech_tips" "UULFXuqSBlHAE6Xw-yeJA0Tunw"
       -        $1 "auto_alex" "UULFqWFLuBLPiaeNzYAek6BOmA"
       -        $1 "zac" "UULFcjx6m03fZwtRBFn1Cf7kKQ"
       -        $1 "openbsdguy" "UULFqGmpMaWCpLe7hpnNnU09TA"
       -}
       -
       -get_video() {
       -        echo "fetching ... $1"
       -        $yt -q --restrict-filename --download-archive \
       -                "${cachedir}/${1}" "${baseurl}${2}" -o \
       -                "${savepath}/${1}/%(playlist_index)s_%(title)s.%(ext)s" \
       -                --exec "$notify"
       -}
       -
       -catchup() {
       -        echo "catching up ... $1"
       -        $yt --flat-playlist --get-id \
       -                "${2}" | sed 's/.*/youtube &/' >"${cachedir}/${1}"
       -}
       -
       -case $1 in
       --m)
       -        main catchup
       -        exit
       -        ;;
       --n)
       -        catchup "$2" "$3"
       -        exit
       -        ;;
       -
       -*)
       -        main get_video
       -        exit
       -        ;;
       -esac
 (DIR) diff --git a/bin/ytd b/bin/ytd
       @@ -35,11 +35,9 @@ main() {
                "$action" "we_hate_the_cold" "UULmltEyJ0zBsKnL8bWSdn3A"
                "$action" "christopher_collects" "UUv8Po8UR9OfhPhPCLjz1d8Q"
                "$action" "astonishing_glasgow" "UUIDIqg7LhjLFCyD2awY_38g"
       -        "$action" "drain_cleaning_aus" "UU7sGXeJOixPBgJ3r5R55JYg"
                "$action" "mike_okay" "UUpp3cHR9TWVyXqL1AVw4XkA"
                "$action" "all_the_gear" "UUSwl4SnA68L8iDfj5gBf-yA"
                "$action" "rhykker" "UURl31PWkfF0a3j3hiDRaCGA"
       -        "$action" "signs_of_kelani" "UUsxidPdmPXDlsS3rn7arJsA"
                "$action" "brodie_robertson" "UUld68syR8Wi-GY_n4CaoJGA"
                "$action" "distrotube" "UUVls1GmFKf6WlTraIb_IaJg"
                "$action" "linux_cast" "UUylGUf9BvQooEFjgdNudoQg"
       @@ -52,7 +50,8 @@ get_video() {
                "$yt" -q --restrict-filename \
                        --download-archive "${cachedir}/${1}" \
                        "${baseurl}${2}" \
       -                -o "${savepath}/${1}/%(playlist_index)s_%(title)s.%(ext)s"
       +                -o "${savepath}/${1}/%(playlist_index)s_%(title)s.%(ext)s" \
       +                --cookies ~/tmp/cookies.txt
        }
        
        catchup() {
 (DIR) diff --git a/foot/foot.ini b/foot/foot.ini
       @@ -4,7 +4,7 @@ font=Hack:size=16
        launch=link-handler ${url}
        
        [key-bindings]
       -show-urls-launch=Control+Shift+p
       +show-urls-launch=Control+Shift+o
        
        [colors]
        background=282828
 (DIR) diff --git a/sway/config b/sway/config
       @@ -16,7 +16,7 @@ workspace_layout default
        font pango: Hack:style=Regular 2
        
        # application assignment
       -for_window [app_id="mpv"] floating enable, sticky enable, resize set 560 280, move absolute position 3000 1100, no_focus
       +#for_window [app_id="mpv"] floating enable, sticky enable, resize set 560 280, move absolute position 3000 1100, no_focus
        assign [app_id="librewolf"] 2
        
        # misc
       @@ -32,10 +32,12 @@ input * {
        # monitors
        output DP-1 {
                pos 1080 0 res 2560x1440
       +        #pos 1920 0 res 2560x1440
        }
        
        output DP-2 {
                transform 270 pos 0 0 res 1920x1080
       +        #pos 0 0 res 1920x1080
        }
        
        workspace 1 output DP-1