2021-11-08 19:32:04 -05:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# Script name: dtos-help
|
|
|
|
# Description: Get a list helpful videos related to DTOS and Linux in general.
|
|
|
|
# Dependencies: dmenu, dmscripts and a web browser
|
|
|
|
# GitLab: https://www.gitlab.com/dwt1/dtos
|
|
|
|
# License: https://www.gitlab.com/dwt1/dtos/LICENSE
|
|
|
|
# Contributors: Derek Taylor
|
|
|
|
|
|
|
|
# Set with the flags "-e", "-u","-o pipefail" cause the script to fail
|
|
|
|
# if certain things happen, which is a good thing. Otherwise, we can
|
|
|
|
# get hidden bugs that are hard to discover.
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
source "$HOME/.config/dmscripts/config"
|
|
|
|
|
|
|
|
declare -A dtvids
|
|
|
|
dtvids[Bash Scripting Variables, Arrays & If-Then-Else]="https://www.youtube.com/watch?v=xhI1qXUrAHw"
|
2021-11-08 19:34:40 -05:00
|
|
|
dtvids[Beginners Guide To Gimp]="https://www.youtube.com/watch?v=YHwnlgD18kE"
|
2021-11-08 19:32:04 -05:00
|
|
|
dtvids[Beginners Guide To Kdenlive]="https://www.youtube.com/watch?v=KI93ae_nnyY"
|
|
|
|
dtvids[Beginners Guide To The Linux Terminal]="https://www.youtube.com/watch?v=s3ii48qYBxA"
|
|
|
|
dtvids[Bookmarks, Buffers And Windows In Doom Emacs]="https://www.youtube.com/watch?v=F1iaskxcLNA"
|
|
|
|
dtvids[Boost Productivity With Emacs, Org Mode and Org Agenda]="https://www.youtube.com/watch?v=Ea_-TaEGa7Y"
|
|
|
|
dtvids[Command Line Shenanigans - Tomfoolery In The Terminal]="https://www.youtube.com/watch?v=_uJImlV-3os"
|
|
|
|
dtvids[Command Line Tricks For Increased Speed]="https://www.youtube.com/watch?v=Y_6C-jowk8o"
|
|
|
|
dtvids[Command Line Tricks With Caret And Exclamation]="https://www.youtube.com/watch?v=9B703VoFGLM"
|
|
|
|
dtvids[CSS Stylesheets And Custom Userscripts In Qutebrowser]="https://www.youtube.com/watch?v=kFw64hlJkoI"
|
|
|
|
dtvids[Doom Emacs For Noobs]="https://www.youtube.com/watch?v=iab2z21cRqA"
|
|
|
|
dtvids[Doom Emacs - Org Mode Basics]="https://www.youtube.com/watch?v=34zODp_lhqg"
|
|
|
|
dtvids[Doom Emacs - The Different Shells Available]="https://www.youtube.com/watch?v=2LzDgaen1cQ"
|
|
|
|
dtvids[Doom Emacs - The Magit Git Client]="https://www.youtube.com/watch?v=X_iX5US1_xE"
|
|
|
|
dtvids[Explaining Everything In My Xmonad Config]="https://www.youtube.com/watch?v=gPQ9mn9Nkpc"
|
|
|
|
dtvids[File Globbing In Linux]="https://www.youtube.com/watch?v=hQyXuuBbCOo"
|
|
|
|
dtvids[Font And Line Settings In Doom Emacs]="https://www.youtube.com/watch?v=Ey54ovJUdQ4"
|
|
|
|
dtvids[Getting Started With Doom Emacs]="https://www.youtube.com/watch?v=dr_iBj91eeI"
|
|
|
|
dtvids[Getting Started With Haskell]="https://www.youtube.com/watch?v=fJRBeWwdby8"
|
|
|
|
dtvids[Getting Started With Qutebrowser]="https://www.youtube.com/watch?v=_OJKp4c5OLs"
|
|
|
|
dtvids[Getting Started With Xmonad]="https://www.youtube.com/watch?v=3noK4GTmyMw"
|
|
|
|
dtvids[Hacking On Xmonad - Custom Prompts & Server Mode]="https://www.youtube.com/watch?v=5N2x7_Xsr7U"
|
|
|
|
dtvids[Hacking On Xmonad - GridSelect, ToggleStruts & ToggleBorders]="https://www.youtube.com/watch?v=qQ4CcMTLW-4"
|
|
|
|
dtvids[Hacking On Xmonad - ManageHooks, Prompts and Hoogle]="https://www.youtube.com/watch?v=j7JWoS5onAY"
|
|
|
|
dtvids[Hacking On Xmonad - Submaps & Search Prompts]="https://www.youtube.com/watch?v=ktrEK6dfi4I"
|
|
|
|
dtvids[Hacking On Xmonad - TreeSelect]="https://www.youtube.com/watch?v=YxyRYZwudYs"
|
|
|
|
dtvids[Im Replacing All Of My Programs With Emacs]="https://www.youtube.com/watch?v=HzFqZ0Gl0aw"
|
|
|
|
dtvids[Learn The Basics Of Awk]="https://www.youtube.com/watch?v=9YOZmI-zWok"
|
|
|
|
dtvids[Learn The Basics Of Cut And Tr]="https://www.youtube.com/watch?v=_0IFtMFYroU"
|
|
|
|
dtvids[Learn The Basics Of Ed]="https://www.youtube.com/watch?v=Zpdo6We-_e0"
|
|
|
|
dtvids[Learn The Basics Of Find and Locate]="https://www.youtube.com/watch?v=BZ5gsFiIKOQ"
|
|
|
|
dtvids[Learn The Basics Of Grep]="https://www.youtube.com/watch?v=N05sWPgj-44"
|
|
|
|
dtvids[Learn The Basics Of Sed]="https://www.youtube.com/watch?v=EACe7aiGczw"
|
|
|
|
dtvids[Learn The Basics Of Shell Environment Variables]="https://www.youtube.com/watch?v=9ZpL8iDU7LY"
|
|
|
|
dtvids[Learn The Basics Of Shuf, Sort & Uniq]="https://www.youtube.com/watch?v=31hGtM4s5JE"
|
|
|
|
dtvids[Learn The Basics of SSH]="https://www.youtube.com/watch?v=2QXkrLVsRmk"
|
|
|
|
dtvids[Learn The Basics Of Xargs]="https://www.youtube.com/watch?v=rp7jLi_kgPg"
|
|
|
|
dtvids[Linux File Ownership And Permissions]="https://www.youtube.com/watch?v=fguV653wfqY"
|
|
|
|
dtvids[Mounting Remote Filesystems With SSHFS]="https://www.youtube.com/watch?v=-0jyrvMl0Ic"
|
|
|
|
dtvids[Recommended Settings For Qutebrowser]="https://www.youtube.com/watch?v=rMYMfnOpxP0"
|
|
|
|
dtvids[Rewrite Your Configs In Org-Mode \(Literate Programming\)]="https://www.youtube.com/watch?v=pQe1ul51RM0"
|
|
|
|
dtvids[Solve Problems With Shell Scripting And Dmenu]="https://www.youtube.com/watch?v=AwTmXP1tRgY"
|
|
|
|
dtvids[Theming My Login Screen For Maximum Gains \(sddm\)]="https://www.youtube.com/watch?v=16nduwlYioc"
|
|
|
|
dtvids[Trapped Inside Of Vim? \(Humor\)]="https://www.youtube.com/watch?v=8bGiiLW_ss4"
|
|
|
|
dtvids[Vim Tutorial Part One]="https://www.youtube.com/watch?v=ER5JYFKkYDg"
|
|
|
|
dtvids[Vim Tutorial Part Two]="https://www.youtube.com/watch?v=tExTz7GnpdQ"
|
|
|
|
dtvids[Vim Command Mode, Ranges & \'g\']="https://www.youtube.com/watch?v=JgZu5-FNeMk"
|
|
|
|
dtvids[Vim Managing Your Splits]="https://www.youtube.com/watch?v=Zir28KFCSQw"
|
|
|
|
dtvids[Vim Makes Everything Better]="https://www.youtube.com/watch?v=a4scYdubKbo"
|
|
|
|
dtvids[Vim Plugins Lightline, Vifm and VimWiki]="https://www.youtube.com/watch?v=RGOsE3UWqhI"
|
|
|
|
dtvids[What Many Linux Users Putting In Their Config Files]="https://www.youtube.com/watch?v=P7Jd0iNSCQA"
|
|
|
|
|
|
|
|
title=$(printf '%s\n' "${!dtvids[@]}" | sort | ${DMENU} 'DTOS Help:' "$@")
|
|
|
|
|
|
|
|
if [ "$title" ]; then
|
|
|
|
url="${dtvids["${title}"]}"
|
|
|
|
# shellcheck disable=SC2154
|
|
|
|
$DMBROWSER "${url}"
|
|
|
|
# What to do if we just escape without choosing anything.
|
|
|
|
else
|
|
|
|
echo "Program terminated." && exit 0
|
|
|
|
fi
|