This commit is contained in:
Lian Drake 2024-06-03 16:01:31 -04:00
parent 265d46bf29
commit af24d26691
8 changed files with 242 additions and 178 deletions

View file

@ -44,3 +44,4 @@ if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
startx "$XINITRC" -- vt1 -keeptty &>> "$X11LOGFILE" startx "$XINITRC" -- vt1 -keeptty &>> "$X11LOGFILE"
logout logout
fi fi

View file

@ -1,7 +1,7 @@
### EXPORT ### ### EXPORT ###
export TERM="xterm-256color" # getting proper colors export TERM="xterm-256color" # getting proper colors
export HISTCONTROL=ignoredups:erasedups # no duplicate entries export HISTCONTROL=ignoredups:erasedups # no duplicate entries
export GOPATH="$HOME/go" export GOPATH="$HOME/.go"
### "bat" as manpager ### "bat" as manpager
export MANPAGER="bat -p" export MANPAGER="bat -p"
@ -32,9 +32,13 @@ fi
if [ -d "$HOME/Applications" ] ; if [ -d "$HOME/Applications" ] ;
then PATH="$HOME/Applications:$PATH" then PATH="$HOME/Applications:$PATH"
fi fi
if [ -d "$HOME/go/bin" ] ; if [ -d "$HOME/.go/bin" ] ;
then PATH="$HOME/go/bin:$PATH" then PATH="$HOME/.go/bin:$PATH"
fi fi
if [ -d $XDG_DATA_HOME/JetBrains/Toolbox/scripts ];
then PATH="$XDG_DATA_HOME/JetBrains/Toolbox/scripts:$PATH"
fi
### CHANGE TITLE OF TERMINALS ### ### CHANGE TITLE OF TERMINALS ###
case ${TERM} in case ${TERM} in

View file

@ -21,7 +21,6 @@ https://www.gamingonlinux.com/article_rss.php "~Gaming on linux"
https://hackaday.com/blog/feed/ "~Hackaday" https://hackaday.com/blog/feed/ "~Hackaday"
https://linux.softpedia.com/backend.xml "~Softpedia Linux" https://linux.softpedia.com/backend.xml "~Softpedia Linux"
https://www.phoronix.com/rss.php "~Phoronix" https://www.phoronix.com/rss.php "~Phoronix"
https://www.computerworld.com/index.rss "~Computerworld"
https://betanews.com/feed "~Betanews Linux" https://betanews.com/feed "~Betanews Linux"
http://lxer.com/module/newswire/headlines.rss "~Lxer" http://lxer.com/module/newswire/headlines.rss "~Lxer"
https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton" https://theevilskeleton.gitlab.io/feed.xml "~TheEvilSkeleton"
@ -39,119 +38,147 @@ https://victorhckinthefreeworld.com/feed/ "~Victorhck in the free world"
https://theprivacydad.com/feed/ "~Welcome to The Privacy Dad's Blog!" https://theprivacydad.com/feed/ "~Welcome to The Privacy Dad's Blog!"
https://proton.me/blog/feed "~Proton Blog" https://proton.me/blog/feed "~Proton Blog"
https://inv.vern.cc/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware" https://iv.ggtyler.dev/feed/channel/UC-ErgHYY0_Yjhjz2MN1E1lg "~YT - RETRO Hardware"
https://inv.vern.cc/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report" https://iv.ggtyler.dev/feed/channel/UC-shHw-IWdyL7Y6JUz_mUMQ "~YT - SORRYLAG"
https://inv.vern.cc/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue" https://iv.ggtyler.dev/feed/channel/UC0W_BIuwk8D0Bv4THbVZZOQ "~YT - Surveillance Report"
https://inv.vern.cc/feed/channel/UC1JTQBa5QxZCpXrFSkMxmPw "~YT - Raycevick" https://iv.ggtyler.dev/feed/channel/UC0woBco6Dgcxt0h8SwyyOmw "~YT - Megaprojects"
https://inv.vern.cc/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer" https://iv.ggtyler.dev/feed/channel/UC1D3yD4wlPMico0dss264XA "~YT - NileBlue"
https://inv.vern.cc/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn" https://iv.ggtyler.dev/feed/channel/UC1JTQBa5QxZCpXrFSkMxmPw "~YT - Raycevick"
https://inv.vern.cc/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight" https://iv.ggtyler.dev/feed/channel/UC1_uAIS3r8Vu6JjXWvastJg "~YT - Mathologer"
https://inv.vern.cc/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith" https://iv.ggtyler.dev/feed/channel/UC1s1OsWNYDFgbROPV-q5arg "~YT - Michael Horn"
https://inv.vern.cc/feed/channel/UC3Wn3dABlgESm8Bzn8Vamgg "~YT - Sideprojects" https://iv.ggtyler.dev/feed/channel/UC2WHjPDvbE6O328n17ZGcfg "~YT - ForrestKnight"
https://inv.vern.cc/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic" https://iv.ggtyler.dev/feed/channel/UC2eYFnH61tmytImy1mTYvhA "~YT - Luke Smith"
https://inv.vern.cc/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik" https://iv.ggtyler.dev/feed/channel/UC36xmz34q02JYaZYKrMwXng "~YT - Nate Gentile"
https://inv.vern.cc/feed/channel/UC52hytXteCKmuOzMViTK8_w "~YT - CdeCiencia" https://iv.ggtyler.dev/feed/channel/UC3Wn3dABlgESm8Bzn8Vamgg "~YT - Sideprojects"
https://inv.vern.cc/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan" https://iv.ggtyler.dev/feed/channel/UC3jSNmKWYA04R47fDcc1ImA "~YT - InfinitelyGalactic"
https://inv.vern.cc/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy" https://iv.ggtyler.dev/feed/channel/UC3yaWWA9FF9OBog5U9ml68A "~YT - SavvyNik"
https://inv.vern.cc/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment" https://iv.ggtyler.dev/feed/channel/UC52tAgsocr9DgrPec_iw1eg "~YT - Portfolio Courses"
https://inv.vern.cc/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog" https://iv.ggtyler.dev/feed/channel/UC5I2hjZYiW9gZPVkvzM8_Cw "~YT - Techmoan"
https://inv.vern.cc/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD" https://iv.ggtyler.dev/feed/channel/UC5KDiSAFxrDWhmysBcNqtMA "~YT - Eric Murphy"
https://inv.vern.cc/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning" https://iv.ggtyler.dev/feed/channel/UC5UAwBUum7CPN5buc-_N1Fw "~YT - The Linux Experiment"
https://inv.vern.cc/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw" https://iv.ggtyler.dev/feed/channel/UC5nlKFUNoskvV5XdW6PbgYw "~YT - A Well-Rested Dog"
https://inv.vern.cc/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd" https://iv.ggtyler.dev/feed/channel/UC6WOxrSKLW8VagrNkfvi6EQ "~YT - THE SQUIDD"
https://inv.vern.cc/feed/channel/UC8bCGC81i_jYlL041-iAFSA "~YT - JWulen" https://iv.ggtyler.dev/feed/channel/UC6biysICWOJ-C3P4Tyeggzg "~YT - Low Level Learning"
https://inv.vern.cc/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy" https://iv.ggtyler.dev/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA "~YT - Mental Outlaw"
https://inv.vern.cc/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile" https://iv.ggtyler.dev/feed/channel/UC7qPftDWPw9XuExpSgfkmJQ "~YT - Nostalgia Nerd"
https://inv.vern.cc/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego" https://iv.ggtyler.dev/feed/channel/UC8679JjreNLfSCgA-2Fb4kA "~YT - SpineCard"
https://inv.vern.cc/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy" https://iv.ggtyler.dev/feed/channel/UC8ENHE5xdFSwx71u3fDH5Xw "~YT - ThePrimeagen"
https://inv.vern.cc/feed/channel/UCAMu6Dso0ENoNm3sKpQsy0g "~YT - Nir Lichtman" https://iv.ggtyler.dev/feed/channel/UC8bCGC81i_jYlL041-iAFSA "~YT - JWulen"
https://inv.vern.cc/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser" https://iv.ggtyler.dev/feed/channel/UC8uT9cgJorJPWu7ITLGo9Ww "~YT - The 8-Bit Guy"
https://inv.vern.cc/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters" https://iv.ggtyler.dev/feed/channel/UC9-y-6csu5WGm29I7JiwpnA "~YT - Computerphile"
https://inv.vern.cc/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea" https://iv.ggtyler.dev/feed/channel/UC910yxBmXzGDH_2cx0XE0Xw "~YT - Plano de Juego"
https://inv.vern.cc/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar" https://iv.ggtyler.dev/feed/channel/UC9RM-iSvTu1uPJb8X5yp3EQ "~YT - Wendover Productions"
https://inv.vern.cc/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks" https://iv.ggtyler.dev/feed/channel/UC9bORzxOWiewqMXxkmhAwAg "~YT - Gingy"
https://inv.vern.cc/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute" https://iv.ggtyler.dev/feed/channel/UC9eM3jqq5IfxbGHbuRR_jRw "~YT - Sfdx Show"
https://inv.vern.cc/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed" https://iv.ggtyler.dev/feed/channel/UC9h8BDcXwkhZtnqoQJ7PggA "~YT - Warographics"
https://inv.vern.cc/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven" https://iv.ggtyler.dev/feed/channel/UC9rU_5YnMDUPc0IP8NwZOig "~YT - Elevated Systems"
https://inv.vern.cc/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil" https://iv.ggtyler.dev/feed/channel/UCAMu6Dso0ENoNm3sKpQsy0g "~YT - Nir Lichtman"
https://inv.vern.cc/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium" https://iv.ggtyler.dev/feed/channel/UCAiEWppTvoNSHU939xhMb2g "~YT - hoser"
https://inv.vern.cc/feed/channel/UCHvDhwNuq-h2hZQRR6BwbLQ "~YT - Tech With Nikola" https://iv.ggtyler.dev/feed/channel/UCAiiOTio8Yu69c3XnR7nQBQ "~YT - System Crafters"
https://inv.vern.cc/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM" https://iv.ggtyler.dev/feed/channel/UCBq5p-xOla8xhnrbhu8AIAg "~YT - Tech Over Tea"
https://inv.vern.cc/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro" https://iv.ggtyler.dev/feed/channel/UCD_SqY872aJSEjh8CcBFB7g "~YT - Userlandia"
https://inv.vern.cc/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave" https://iv.ggtyler.dev/feed/channel/UCE0H52NoucHL2JkhPdZ1ykA "~YT - Jwlar"
https://inv.vern.cc/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR" https://iv.ggtyler.dev/feed/channel/UCEFymXY4eFCo_AchSpxwyrg "~YT - MetalJesusRocks"
https://inv.vern.cc/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa" https://iv.ggtyler.dev/feed/channel/UCEIwxahdLz7bap-VDs9h35A "~YT - Steve Mould"
https://inv.vern.cc/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains" https://iv.ggtyler.dev/feed/channel/UCEp20NgOZHmgWdbQdHSxgjw "~YT - This Does Not Compute"
https://inv.vern.cc/feed/channel/UCMnZ3qm76jc3SUi9Z-5OdcA "~YT - Leyendas & Videojuegos" https://iv.ggtyler.dev/feed/channel/UCFhXFikryT4aFcLkLw2LBLA "~YT - NileRed"
https://inv.vern.cc/feed/channel/UCNorHyg3UZYJq5jJY9ZSt-w "~YT - Ryan-Thomas" https://iv.ggtyler.dev/feed/channel/UCFzGNDHEZ5-7d5UXxfHUcRg "~YT - jujalag"
https://inv.vern.cc/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage" https://iv.ggtyler.dev/feed/channel/UCGE-JpLbibXJg3W_N2hbo8g "~YT - Sethorven"
https://inv.vern.cc/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux" https://iv.ggtyler.dev/feed/channel/UCGGAYsWFerrs-ZqyXw7fQWg "~YT - Resumidito."
https://inv.vern.cc/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri" https://iv.ggtyler.dev/feed/channel/UCH5DsMZAgdx5Fkk9wwMNwCA "~YT - The New Oil"
https://inv.vern.cc/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore" https://iv.ggtyler.dev/feed/channel/UCHnyfMqiRRG1u-2MsSQLbXA "~YT - Veritasium"
https://inv.vern.cc/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno" https://iv.ggtyler.dev/feed/channel/UCHvDhwNuq-h2hZQRR6BwbLQ "~YT - Tech With Nikola"
https://inv.vern.cc/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog" https://iv.ggtyler.dev/feed/channel/UCI6pj4e-_6Km-dmLLYpmlaA "~YT - Alejandro Julián"
https://inv.vern.cc/feed/channel/UCR1IuLEqb6UEA_zQ81kwXfg "~YT - Real Engineering" https://iv.ggtyler.dev/feed/channel/UCJ0-OtVpF0wOKEqT2Z1HEtA "~YT - ElectroBOOM"
https://inv.vern.cc/feed/channel/UCRYeRa2iUMd8An1WTPIP2bw "~YT - aChair Leg" https://iv.ggtyler.dev/feed/channel/UCJYJgj7rzsn0vdR7fkgjuIA "~YT - styropyro"
https://inv.vern.cc/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD" https://iv.ggtyler.dev/feed/channel/UCLEoyoOKZK0idGqSc6Pi23w "~YT - RMC - The Cave"
https://inv.vern.cc/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater" https://iv.ggtyler.dev/feed/channel/UCLx053rWZxCiYWsBETgdKrQ "~YT - LGR"
https://inv.vern.cc/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths" https://iv.ggtyler.dev/feed/channel/UCMbQbVilo-nezMvwf1BZfAA "~YT - CienciaDeSofa"
https://inv.vern.cc/feed/channel/UCSp-OaMpsO8K0KkOqyBl7_w "~YT - Let's Get Rusty" https://iv.ggtyler.dev/feed/channel/UCMiyV_Ib77XLpzHPQH_q0qQ "~YT - Veronica Explains"
https://inv.vern.cc/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - NBTV (Naomi Brockwell TV)" https://iv.ggtyler.dev/feed/channel/UCMnZ3qm76jc3SUi9Z-5OdcA "~YT - Leyendas & Videojuegos"
https://inv.vern.cc/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate" https://iv.ggtyler.dev/feed/channel/UCNnNCBgckxzqIh1Txw5cgSg "~YT - BaityBait"
https://inv.vern.cc/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime" https://iv.ggtyler.dev/feed/channel/UCNzszbnvQeFzObW0ghk0Ckw "~YT - Dave's Garage"
https://inv.vern.cc/feed/channel/UCVk4b-svNJoeytrrlOixebQ "~YT - TheVimeagen" https://iv.ggtyler.dev/feed/channel/UCONH73CdRXUjlh3-DdLGCPw "~YT - Nicco Loves Linux"
https://inv.vern.cc/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube" https://iv.ggtyler.dev/feed/channel/UCOxmlaJURX3nq8eLuJPbl3A "~YT - Psivewri"
https://inv.vern.cc/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84" https://iv.ggtyler.dev/feed/channel/UCP5tjEmvPItGyLhmjdwP7Ww "~YT - RealLifeLore"
https://inv.vern.cc/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings" https://iv.ggtyler.dev/feed/channel/UCQ-W1KE9EYfdxhL6S4twUNw "~YT - The Cherno"
https://inv.vern.cc/feed/channel/UCWDGyt5hy6UA6Br-hAar03A "~YT - El Robot de Colón" https://iv.ggtyler.dev/feed/channel/UCQX_MZRCaluNKxkywkLEgfA "~YT - Date un Vlog"
https://inv.vern.cc/feed/channel/UCWQaM7SpSECp9FELz-cHzuQ "~YT - Dreams of Code" https://iv.ggtyler.dev/feed/channel/UCR1IuLEqb6UEA_zQ81kwXfg "~YT - Real Engineering"
https://inv.vern.cc/feed/channel/UCWcp1Mwm7_bJ-mVoZb8TdkQ "~YT - TuberViejuner" https://iv.ggtyler.dev/feed/channel/UCRYeRa2iUMd8An1WTPIP2bw "~YT - aChair Leg"
https://inv.vern.cc/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander" https://iv.ggtyler.dev/feed/channel/UCS-WzPVpAAli-1IfEG2lN8A "~YT - Michael MJD"
https://inv.vern.cc/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown" https://iv.ggtyler.dev/feed/channel/UCS0N5baNlQWJCUrhCEo8WlA "~YT - Ben Eater"
https://inv.vern.cc/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech" https://iv.ggtyler.dev/feed/channel/UCSju5G2aFaWMqn-_0YBtq5A "~YT - Stand-up Maths"
https://inv.vern.cc/feed/channel/UCZ4AMrDcNrfy3X6nsU8-rPg "~YT - Economics Explained" https://iv.ggtyler.dev/feed/channel/UCSp-OaMpsO8K0KkOqyBl7_w "~YT - Let's Get Rusty"
https://inv.vern.cc/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería" https://iv.ggtyler.dev/feed/channel/UCSuHzQ3GrHSzoBbwrIq3LLA "~YT - Naomi Brockwell TV"
https://inv.vern.cc/feed/channel/UCaSCt8s_4nfkRglWCvNSDrg "~YT - CodeAesthetic" https://iv.ggtyler.dev/feed/channel/UCT35hFvV0j8SR3SBGJChKZQ "~YT - Jota."
https://inv.vern.cc/feed/channel/UCaVPhFg-Ax873wvhbNitsrQ "~YT - El Robot de Platón" https://iv.ggtyler.dev/feed/channel/UCUMwY9iS8oMyWDYIe6_RmoA "~YT - No Boilerplate"
https://inv.vern.cc/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture" https://iv.ggtyler.dev/feed/channel/UCUyeluBRhGPCW4rPe_UvBZQ "~YT - ThePrimeTime"
https://inv.vern.cc/feed/channel/UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers" https://iv.ggtyler.dev/feed/channel/UCVk4b-svNJoeytrrlOixebQ "~YT - TheVimeagen"
https://inv.vern.cc/feed/channel/UCcAy1o8VUCkdowxRYbc0XRw "~YT - Sebi's Random Tech" https://iv.ggtyler.dev/feed/channel/UCVls1GmFKf6WlTraIb_IaJg "~YT - DistroTube"
https://inv.vern.cc/feed/channel/UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone" https://iv.ggtyler.dev/feed/channel/UCW-HHEyt67RhZ6q21n4p2zQ "~YT - Mac84"
https://inv.vern.cc/feed/channel/UCdp4_l1vPmpN-gDbUwhaRUQ "~YT - Branch Education" https://iv.ggtyler.dev/feed/channel/UCW0gH2G-cMKAEjEkI4YhnPA "~YT - Nerd of the Rings"
https://inv.vern.cc/feed/channel/UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat" https://iv.ggtyler.dev/feed/channel/UCWDGyt5hy6UA6Br-hAar03A "~YT - El Robot de Colón"
https://inv.vern.cc/feed/channel/UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents" https://iv.ggtyler.dev/feed/channel/UCWMV8dD0N3tAM2W6GuNCUCg "~YT - theunrealtarik"
https://inv.vern.cc/feed/channel/UCf-U0uPVQZtcqXUWa_Hl4Mw "~YT - Into the Shadows" https://iv.ggtyler.dev/feed/channel/UCWQaM7SpSECp9FELz-cHzuQ "~YT - Dreams of Code"
https://inv.vern.cc/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech" https://iv.ggtyler.dev/feed/channel/UCWcp1Mwm7_bJ-mVoZb8TdkQ "~YT - TuberViejuner"
https://inv.vern.cc/feed/channel/UCgNg3vwj3xt7QOrcIDaHdFg "~YT - PolyMatter" https://iv.ggtyler.dev/feed/channel/UCWyrVfwRL-2DOkzsqrbjo5Q "~YT - NCommander"
https://inv.vern.cc/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon" https://iv.ggtyler.dev/feed/channel/UCYO_jab_esuFRV4b17AJtAw "~YT - 3Blue1Brown"
https://inv.vern.cc/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat" https://iv.ggtyler.dev/feed/channel/UCYVU6rModlGxvJbszCclGGw "~YT - Rob Braxman Tech"
https://inv.vern.cc/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer" https://iv.ggtyler.dev/feed/channel/UCZ4AMrDcNrfy3X6nsU8-rPg "~YT - Economics Explained"
https://inv.vern.cc/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut" https://iv.ggtyler.dev/feed/channel/UCZkPWp4MVoIVGLVLYC1Vjlg "~YT - Guille Ghemi"
https://inv.vern.cc/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman" https://iv.ggtyler.dev/feed/channel/UCa6V1UVOXN4wDm7RDQDoa6g "~YT - El Traductor de Ingeniería"
https://inv.vern.cc/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann" https://iv.ggtyler.dev/feed/channel/UCaSCt8s_4nfkRglWCvNSDrg "~YT - CodeAesthetic"
https://inv.vern.cc/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul" https://iv.ggtyler.dev/feed/channel/UCaVPhFg-Ax873wvhbNitsrQ "~YT - El Robot de Platón"
https://inv.vern.cc/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson" https://iv.ggtyler.dev/feed/channel/UCbdSYaPD-lr1kW27UJuk8Pw "~YT - QuantumFracture"
https://inv.vern.cc/feed/channel/UClnDI2sdehVm1zm_LmUHsjQ "~YT - Biographics" https://iv.ggtyler.dev/feed/channel/UCbiGcwDWZjz05njNPrJU7jA "~YT - ExplainingComputers"
https://inv.vern.cc/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney" https://iv.ggtyler.dev/feed/channel/UCcAy1o8VUCkdowxRYbc0XRw "~YT - Sebi's Random Tech"
https://inv.vern.cc/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell" https://iv.ggtyler.dev/feed/channel/UCcQWoBTNG__OwfZk9znWgCQ "~YT - The Rusty Bits"
https://inv.vern.cc/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV" https://iv.ggtyler.dev/feed/channel/UCd4XwUn2Lure2NHHjukoCwA "~YT - Linux For Everyone"
https://inv.vern.cc/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro" https://iv.ggtyler.dev/feed/channel/UCdiJKSDwwvy4rMUVc9CgS-g "~YT - DaniboubeTV"
https://inv.vern.cc/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile" https://iv.ggtyler.dev/feed/channel/UCdp4_l1vPmpN-gDbUwhaRUQ "~YT - Branch Education"
https://inv.vern.cc/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix" https://iv.ggtyler.dev/feed/channel/UCeCtLnoV0nmE2cBbbftCCiw "~YT - Las reviews de Camilo"
https://inv.vern.cc/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions" https://iv.ggtyler.dev/feed/channel/UCeHOkFGW-7uAZFvq3BXb8YA "~YT - :3ildcat"
https://inv.vern.cc/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds" https://iv.ggtyler.dev/feed/channel/UCerEIdrEW-IqwvlH8lTQUJQ "~YT - Tech Tangents"
https://inv.vern.cc/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas" https://iv.ggtyler.dev/feed/channel/UCf-U0uPVQZtcqXUWa_Hl4Mw "~YT - Into the Shadows"
https://inv.vern.cc/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore" https://iv.ggtyler.dev/feed/channel/UCg6gPGh8HU2U01vaFCAsvmQ "~YT - Chris Titus Tech"
https://inv.vern.cc/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old" https://iv.ggtyler.dev/feed/channel/UCgNg3vwj3xt7QOrcIDaHdFg "~YT - PolyMatter"
https://inv.vern.cc/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel" https://iv.ggtyler.dev/feed/channel/UChI0q9a-ZcbZh7dAu_-J-hg "~YT - Upper Echelon"
https://inv.vern.cc/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers" https://iv.ggtyler.dev/feed/channel/UCj8orMezFWVcoN-4S545Wtw "~YT - Max Derrat"
https://inv.vern.cc/feed/channel/UCtYKe7-XbaDjpUwcU5x0bLg "~YT - neo" https://iv.ggtyler.dev/feed/channel/UCjFaPUcJU1vwk193mnW_w1w "~YT - Modern Vintage Gamer"
https://inv.vern.cc/feed/channel/UCtYg149E_wUGVmjGz-TgyNA "~YT - Titus Tech Talk" https://iv.ggtyler.dev/feed/channel/UCjSEJkpGbcZhvo0lr-44X_w "~YT - TechHut"
https://inv.vern.cc/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train" https://iv.ggtyler.dev/feed/channel/UCjgS6Uyg8ok4Jd_lH_MUKgg "~YT - Claus Kellerman"
https://inv.vern.cc/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV" https://iv.ggtyler.dev/feed/channel/UCl2mFZoRqjw_ELax4Yisf6w "~YT - Louis Rossmann"
https://inv.vern.cc/feed/channel/UCxdZ7XCQVMRMipj3gGemQfw "~YT - GNULectures" https://iv.ggtyler.dev/feed/channel/UCl_dlV_7ofr4qeP1drJQ-qg "~YT - Tantacrul"
https://inv.vern.cc/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections" https://iv.ggtyler.dev/feed/channel/UCld68syR8Wi-GY_n4CaoJGA "~YT - Brodie Robertson"
https://inv.vern.cc/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger" https://iv.ggtyler.dev/feed/channel/UClnDI2sdehVm1zm_LmUHsjQ "~YT - Biographics"
https://inv.vern.cc/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast" https://iv.ggtyler.dev/feed/channel/UCmGSJVG3mCRXVOP4yZrU1Dw "~YT - Johnny Harris"
https://inv.vern.cc/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ" https://iv.ggtyler.dev/feed/channel/UCmw-QGOHbHA5cDAvwwqUTKQ "~YT - Zaney"
https://inv.vern.cc/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey" https://iv.ggtyler.dev/feed/channel/UCmyGZ0689ODyReHw3rsKLtQ "~YT - Michael Tunnell"
https://iv.ggtyler.dev/feed/channel/UCnw3aIEiz60S6O3XcztCVkQ "~YT - PatricianTV"
https://iv.ggtyler.dev/feed/channel/UCoL8olX-259lS1N6QPyP4IQ "~YT - Action Retro"
https://iv.ggtyler.dev/feed/channel/UCoryWpk4QVYKFCJul9KBdyw "~YT - Switched to Linux"
https://iv.ggtyler.dev/feed/channel/UCoxcjq-8xIDTYp3uz647V5A "~YT - Numberphile"
https://iv.ggtyler.dev/feed/channel/UCpuKDBw8IVIdKWPhiB2VDNQ "~YT - Cinematix"
https://iv.ggtyler.dev/feed/channel/UCpuLiczP2Aqq11Gtf4k_fkw "~YT - Futurasound Productions"
https://iv.ggtyler.dev/feed/channel/UCqoGR_EedlhKDVuWNwYWRbg "~YT - Voices of the Past"
https://iv.ggtyler.dev/feed/channel/UCqxM9T6ksiOVKIkb88S2r7Q "~YT - Zac Builds"
https://iv.ggtyler.dev/feed/channel/UCrkPsvLGln62OMZRO6K-llg "~YT - Nick Chapsas"
https://iv.ggtyler.dev/feed/channel/UCs6KfncB4OV6Vug4o_bzijg "~YT - Techlore"
https://iv.ggtyler.dev/feed/channel/UCs7nPQIEba0T3tGOWWsZpJQ "~YT - Like Stories of Old"
https://iv.ggtyler.dev/feed/channel/UCsnGwSIHyoYN0kiINAGUKxg "~YT - Wolfgang's Channel"
https://iv.ggtyler.dev/feed/channel/UCtMVHI3AJD4Qk4hcbZnI9ZQ "~YT - SomeOrdinaryGamers"
https://iv.ggtyler.dev/feed/channel/UCtYKe7-XbaDjpUwcU5x0bLg "~YT - neo"
https://iv.ggtyler.dev/feed/channel/UCtYg149E_wUGVmjGz-TgyNA "~YT - Titus Tech Talk"
https://iv.ggtyler.dev/feed/channel/UCtZX_67hSjOIPu0HTmFi6aw "~YT - Macintosh Librarian"
https://iv.ggtyler.dev/feed/channel/UCvjgXvBlbQiydffZU7m1_aw "~YT - The Coding Train"
https://iv.ggtyler.dev/feed/channel/UCxQKHvKbmSzGMvUrVtJYnUA "~YT - Learn Linux TV"
https://iv.ggtyler.dev/feed/channel/UCxdZ7XCQVMRMipj3gGemQfw "~YT - GNULectures"
https://iv.ggtyler.dev/feed/channel/UCxoz4YfS4M3H3C57FD4jW4Q "~YT - Science Time"
https://iv.ggtyler.dev/feed/channel/UCy0tKL1T7wFoYcxCe0xjN6Q "~YT - Technology Connections"
https://iv.ggtyler.dev/feed/channel/UCy6pDeDwRFi1kmFekSpMDUA "~YT - La Poción Roja"
https://iv.ggtyler.dev/feed/channel/UCybBViio_TH_uiFFDJuz5tg "~YT - Einzelgänger"
https://iv.ggtyler.dev/feed/channel/UCylGUf9BvQooEFjgdNudoQg "~YT - The Linux Cast"
https://iv.ggtyler.dev/feed/channel/UCz1oFxMrgrQ82-276UCOU9w "~YT - Atlas Pro"
https://iv.ggtyler.dev/feed/channel/UCzGMBzt6UOMoQe_dqOfShZw "~YT - Cultura VJ"
https://iv.ggtyler.dev/feed/channel/UCzR-rom72PHN9Zg7RML9EbA "~YT - PBS Eons"
https://iv.ggtyler.dev/feed/channel/UCzXsTSZDoAPSjfHr8IZM9Ew "~YT - FloatyMonkey"

View file

@ -44,57 +44,58 @@ case "$action" in
killall -u "$(whoami)" killall -u "$(whoami)"
;; ;;
"$option2") "$option2")
systemctl reboot; systemctl reboot
;; ;;
"$option3") "$option3")
systemctl poweroff; systemctl poweroff
;; ;;
"$option4") "$option4")
slock -b "$currentwall" systemctl suspend; slock -b "$currentwall" systemctl suspend
;; ;;
"$option5") "$option5")
slock -b "$currentwall"; slock -b "$currentwall"
;; ;;
"$option6") "$option6")
##### #####
## These conditions will be used for the prompt ## These conditions will be used for the prompt
##### #####
if [ "$currentpwr" = "performance" ]; then if [ "$currentpwr" = "performance" ]; then
currentpwr="$pwr1"; currentpwr="$pwr1"
elif [ "$currentpwr" = "balanced" ]; then elif [ "$currentpwr" = "balanced" ]; then
currentpwr="$pwr2"; currentpwr="$pwr2"
elif [ "$currentpwr" = "power-saver" ]; then elif [ "$currentpwr" = "power-saver" ]; then
currentpwr="$pwr3"; currentpwr="$pwr3"
fi fi
pwraction=$(echo -e "$pwrs" | dmenu -l 6 -i -p " Power Profile Menu - Currently set to: $currentpwr") # power profiles submenu prompt pwraction=$(echo -e "$pwrs" | dmenu -i -p " Power Profile Menu - Currently set to: $currentpwr") # power profiles submenu prompt
case "$pwraction" in case "$pwraction" in
"$pwr1") "$pwr1")
if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance if [ "$currentpwr" = "$pwr1" ]; then # if the power profile is already set to performance
notify-send "The power profile is already set to performance"; notify-send "The power profile is already set to performance"
exit 1; exit 1
else else
powerprofilesctl set performance && notify-send "Power profile switched to performance"; # if not, set the powerprofile to performance powerprofilesctl set performance && notify-send "Power profile switched to performance" # if not, set the powerprofile to performance
fi fi
;; ;;
"$pwr2") "$pwr2")
if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced if [ "$currentpwr" = "$pwr2" ]; then # if the power profile is already set to balanced
notify-send "The power profile is already set to balanced"; notify-send "The power profile is already set to balanced"
exit 1; exit 1
else else
powerprofilesctl set balanced && notify-send "Power profile switched to balanced"; # if not, set the powerprofile to balanced powerprofilesctl set balanced && notify-send "Power profile switched to balanced" # if not, set the powerprofile to balanced
fi fi
;; ;;
"$pwr3") "$pwr3")
if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver if [ "$currentpwr" = "$pwr3" ]; then # if the power profile is already set to power saver
notify-send "The power profile is already set to power saver"; notify-send "The power profile is already set to power saver"
exit 1; exit 1
else else
powerprofilesctl set power-saver && notify-send "Power profile switched to power saver"; # if not, set the powerprofile to power saver powerprofilesctl set power-saver && notify-send "Power profile switched to power saver" # if not, set the powerprofile to power saver
fi fi
;; ;;
"$pwr4") "$pwr4")
exit 0; exit 0
esac;; esac;;
"$option7") "$option7")
exit 0; exit 0
;;
esac esac

View file

@ -4,7 +4,7 @@
# - Description: A simple wifi dmenu script # - Description: A simple wifi dmenu script
# - Dependencies: dmenu, NetworkManager # - Dependencies: dmenu, NetworkManager
## Main manu options ## Main menu options
option1=" Turn on WiFi" option1=" Turn on WiFi"
option2=" Turn off WiFi" option2=" Turn off WiFi"
option3="󱛅 Disconnect WiFi" option3="󱛅 Disconnect WiFi"
@ -14,7 +14,7 @@ option6="󱎘 Exit"
options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6" options="$option1\n$option2\n$option3\n$option4\n$option5\n$option6"
##### #####
## These variables will store specific information about the wirelessinterface ## These variables will store specific information about the wireless interface
##### #####
wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}') wifi_info=$(nmcli dev | awk '/wifi/ {print $1,$3; exit}')
read -r wlan constate <<< "$wifi_info" read -r wlan constate <<< "$wifi_info"
@ -23,14 +23,24 @@ read -r wlan constate <<< "$wifi_info"
## This function uses nmcli to turn off wifi and then sends a notification ## This function uses nmcli to turn off wifi and then sends a notification
##### #####
turnoff() { turnoff() {
nmcli radio wifi off && notify-send "WiFi has been turned off" nmcli radio wifi off
if [ $? -eq 0 ]; then
notify-send "WiFi has been turned off"
else
notify-send "Failed to turn off WiFi"
fi
} }
##### #####
## This function uses nmcli to turn on wifi and then sends a notification ## This function uses nmcli to turn on wifi and then sends a notification
##### #####
turnon() { turnon() {
nmcli radio wifi on && notify-send "WiFi has been turned on" nmcli radio wifi on
if [ $? -eq 0 ]; then
notify-send "WiFi has been turned on"
else
notify-send "Failed to turn on WiFi"
fi
} }
##### #####
@ -41,9 +51,14 @@ disconnect() {
if [ "$constate" = "disconnected" ]; then if [ "$constate" = "disconnected" ]; then
notify-send "WiFi is already disconnected" notify-send "WiFi is already disconnected"
elif [ "$constate" = "connected" ]; then elif [ "$constate" = "connected" ]; then
nmcli device disconnect "$wlan" && notify-send "Wifi has been disconnected" nmcli device disconnect "$wlan"
if [ $? -eq 0 ]; then
notify-send "WiFi has been disconnected"
else else
exit 1 notify-send "Failed to disconnect WiFi"
fi
else
notify-send "Unknown WiFi state"
fi fi
} }
@ -54,26 +69,26 @@ disconnect() {
connect() { connect() {
notify-send -t 5000 "Scanning networks..." notify-send -t 5000 "Scanning networks..."
nmcli dev wifi rescan nmcli dev wifi rescan
sleep 1
wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | dmenu -i -l 10 -p " Select a Wifi Network") wifinet=$(nmcli -f BSSID,SSID,BARS,SECURITY dev wifi list | sed -n '1!p' | dmenu -i -l 10 -p " Select a Wifi Network")
bssid=$(echo "$wifinet" | cut -d' ' -f1) if [ -z "$wifinet" ]; then
ssid=$(echo "$wifinet" | cut -d' ' -f3) exit 0
fi
bssid=$(echo "$wifinet" | awk '{print $1}')
ssid=$(echo "$wifinet" | awk '{print $2}')
} }
##### #####
## This function will store the WiFi password in the $pass variable ## This function will store the WiFi password in the $pass variable
##### #####
password() { password() {
if nmcli connection show | grep -q "$ssid"; then # check if the network is already saved if nmcli connection show | awk -v ssid="$ssid" '$1 == ssid {found=1} END {exit !found}'; then
return 0 # no password is required pass=""
elif nmcli -f BSSID,SECURITY dev wifi list | sed -n '1!p' | grep "$bssid" | awk '{print $2}' | grep -q -- "--"; then # check if the network is open elif nmcli -f BSSID,SECURITY dev wifi list | grep -w "$bssid" | awk '{print $2}' | grep -q -- "--"; then
return 0 # no password is required pass=""
else else
pass=$(dmenu -i -l 1 -P -p "Enter Password " --password) pass=$(dmenu -l 1 -P -p "Enter Password ")
if [ -n "$pass" ]; then # if the user gave a password if [ -z "$pass" ]; then
return 0 exit 0
else
exit 1 # if not, exit the script
fi fi
fi fi
} }
@ -83,17 +98,26 @@ password() {
## $bssid and $pass variables ## $bssid and $pass variables
##### #####
action() { action() {
if [ -n "$pass" ]; then # we need to check again if the $pass variable exists if [ -n "$pass" ]; then
nmcli dev wifi connect "$bssid" password "$pass" nmcli dev wifi connect "$bssid" password "$pass"
else # if not, that means that the password() function ended in one of the first two conditions, the network is saved or open else
nmcli dev wifi connect "$bssid" nmcli dev wifi connect "$bssid"
fi fi
if [ $? -eq 0 ]; then
notify-send "Connected to $ssid"
else
notify-send "Failed to connect to $ssid"
fi
} }
########## ##########
## main ## ## main ##
########## ##########
cases=$(echo -e "$options" | dmenu -l 6 -i -p " Wifi Settings" ) # main menu prompt cases=$(echo -e "$options" | dmenu -l 6 -i -p " Wifi Settings")
if [ -z "$cases" ]; then
exit 0
fi
case "$cases" in case "$cases" in
"$option1") "$option1")
turnon turnon
@ -105,16 +129,16 @@ case "$cases" in
disconnect disconnect
;; ;;
"$option4") "$option4")
if connect; then # if the user chooses a network if connect; then
password # this function will exit the script if the user didn't put a password if password; then
action action
else fi
exit 1 # if not, exit the script
fi fi
;; ;;
"$option5") "$option5")
"$BROWSER" http://networkcheck.kde.org ${BROWSER:-xdg-open} http://networkcheck.kde.org
;; ;;
"$option6") "$option6")
exit 0 exit 0
;;
esac esac

View file

@ -5,12 +5,12 @@
## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) ## ## / /_/ / / / /_/ / ,< / __/ Clay Gomera (Drake) ##
## /_____/_/ \__,_/_/|_|\___/ My custom dwm build ## ## /_____/_/ \__,_/_/|_|\___/ My custom dwm build ##
/usr/libexec/kf5/polkit-kde-authentication-agent-1 & /usr/libexec/polkit-gnome-authentication-agent-1 &
dwmblocks & dwmblocks &
sh "$HOME"/.fehbg & sh "$HOME"/.fehbg &
unclutter --hide-on-touch & unclutter --hide-on-touch &
herbed & herbed &
picom --config "$HOME/.config/picom/picom.conf" & picom &
/usr/bin/gnome-keyring-daemon --start & /usr/bin/gnome-keyring-daemon --start &
export SSH_AUTH_SOCK export SSH_AUTH_SOCK

View file

@ -51,6 +51,7 @@ const char *spcmd10[] = {"st", "-n", "sprss", "-c", "sprss", "-g", "140x35", "-
const char *spcmd11[] = {"st", "-n", "sptut", "-c", "sptut", "-g", "140x35", "-e", "tut", NULL}; const char *spcmd11[] = {"st", "-n", "sptut", "-c", "sptut", "-g", "140x35", "-e", "tut", NULL};
const char *spcmd12[] = {"flatpak", "run", "com.bitwarden.desktop", NULL}; const char *spcmd12[] = {"flatpak", "run", "com.bitwarden.desktop", NULL};
const char *spcmd13[] = {"flatpak", "run", "io.github.Qalculate", NULL}; const char *spcmd13[] = {"flatpak", "run", "io.github.Qalculate", NULL};
const char *spcmd14[] = {"arandr", NULL};
static Sp scratchpads[] = { static Sp scratchpads[] = {
/* NAME CMD */ /* NAME CMD */
@ -67,6 +68,7 @@ static Sp scratchpads[] = {
{"sptut", spcmd11}, {"sptut", spcmd11},
{"spbit", spcmd12}, {"spbit", spcmd12},
{"spqal", spcmd13}, {"spqal", spcmd13},
{"spdsp", spcmd14},
}; };
/* Tag Definitions */ /* Tag Definitions */
@ -108,7 +110,7 @@ static const Rule rules[] = {
{"neovide", NULL, NULL, 1, 0, -1}, {"neovide", NULL, NULL, 1, 0, -1},
/* 2 - Test Tag */ /* 2 - Test Tag */
{"Virt-manager", NULL, NULL, 1 << 1, 0, -1}, {"Virt-manager", NULL, NULL, 1 << 1, 0, -1},
{"Gnome-boxes", NULL, NULL, 1 << 1, 0, -1}, {"Org.gnome.Boxes", NULL, NULL, 1 << 1, 0, -1},
/* 3 - Web Tag */ /* 3 - Web Tag */
{"LibreWolf", NULL, NULL, 1 << 2, 0, -1}, {"LibreWolf", NULL, NULL, 1 << 2, 0, -1},
{"libreWolf", NULL, NULL, 1 << 2, 0, -1}, {"libreWolf", NULL, NULL, 1 << 2, 0, -1},
@ -134,6 +136,7 @@ static const Rule rules[] = {
{"qpwgraph", NULL, NULL, 1 << 4, 0, -1}, {"qpwgraph", NULL, NULL, 1 << 4, 0, -1},
{"Cadence", NULL, NULL, 1 << 4, 0, -1}, {"Cadence", NULL, NULL, 1 << 4, 0, -1},
{"easyeffects", NULL, NULL, 1 << 4, 0, -1}, {"easyeffects", NULL, NULL, 1 << 4, 0, -1},
{"kid3", NULL, NULL, 1 << 4, 0, -1},
/* 6 - Video Tag */ /* 6 - Video Tag */
{"kdenlive", NULL, NULL, 1 << 5, 0, -1}, {"kdenlive", NULL, NULL, 1 << 5, 0, -1},
{"Pitivi", NULL, NULL, 1 << 5, 0, -1}, {"Pitivi", NULL, NULL, 1 << 5, 0, -1},
@ -163,7 +166,6 @@ static const Rule rules[] = {
{"Notesnook", NULL, NULL, 1 << 7, 0, -1}, {"Notesnook", NULL, NULL, 1 << 7, 0, -1},
{"com.github.johnfactotum.Foliate", NULL, NULL, 1 << 7, 0, -1}, {"com.github.johnfactotum.Foliate", NULL, NULL, 1 << 7, 0, -1},
/* 9 - Games Tag */ /* 9 - Games Tag */
{"retroarch", NULL, NULL, 1 << 8, 0, -1},
{"steam", NULL, NULL, 1 << 8, 0, -1}, {"steam", NULL, NULL, 1 << 8, 0, -1},
{"airshipper", NULL, NULL, 1 << 8, 0, -1}, {"airshipper", NULL, NULL, 1 << 8, 0, -1},
{"pyrogenesis", NULL, NULL, 1 << 8, 0, -1}, {"pyrogenesis", NULL, NULL, 1 << 8, 0, -1},
@ -175,6 +177,13 @@ static const Rule rules[] = {
{"openttd", NULL, NULL, 1 << 8, 0, -1}, {"openttd", NULL, NULL, 1 << 8, 0, -1},
{"warzone2100", NULL, NULL, 1 << 8, 0, -1}, {"warzone2100", NULL, NULL, 1 << 8, 0, -1},
{"wesnoth", NULL, NULL, 1 << 8, 0, -1}, {"wesnoth", NULL, NULL, 1 << 8, 0, -1},
{"retroarch", NULL, NULL, 1 << 8, 0, -1},
{"pcsx2-qt", NULL, NULL, 1 << 8, 0, -1},
{"duckstation-qt", NULL, NULL, 1 << 8, 0, -1},
{"Cemu", NULL, NULL, 1 << 8, 0, -1},
{"xemu", NULL, NULL, 1 << 8, 0, -1},
{"org.ppsspp.PPSSPP", NULL, NULL, 1 << 8, 0, -1},
{"dolphin-emu", NULL, NULL, 1 << 8, 0, -1},
/* Scratchpads */ /* Scratchpads */
{NULL, "sptrm", NULL, SPTAG(0), 1, -1}, {NULL, "sptrm", NULL, SPTAG(0), 1, -1},
{NULL, "sptop", NULL, SPTAG(1), 1, -1}, {NULL, "sptop", NULL, SPTAG(1), 1, -1},
@ -189,6 +198,7 @@ static const Rule rules[] = {
{NULL, "sptut", NULL, SPTAG(10), 1, -1}, {NULL, "sptut", NULL, SPTAG(10), 1, -1},
{"Bitwarden", NULL, NULL, SPTAG(11), 1, -1}, {"Bitwarden", NULL, NULL, SPTAG(11), 1, -1},
{"Qalculate-gtk", NULL, NULL, SPTAG(12), 1, -1}, {"Qalculate-gtk", NULL, NULL, SPTAG(12), 1, -1},
{"Arandr", NULL, NULL, SPTAG(13), 1, -1},
}; };
/* Layout(s) */ /* Layout(s) */
@ -226,7 +236,7 @@ static const char *termcmd[] = { "st", NULL };
static const char *editor[] = { "st", "-n", "editor", "-c", "editor", "-e", ".local/bin/lvim", NULL}; static const char *editor[] = { "st", "-n", "editor", "-c", "editor", "-e", ".local/bin/lvim", NULL};
static const char *browser[] = { "flatpak", "run", "org.mozilla.firefox", NULL }; static const char *browser[] = { "flatpak", "run", "org.mozilla.firefox", NULL };
static const char *chat[] = { "flatpak", "run", "org.signal.Signal", NULL }; static const char *chat[] = { "flatpak", "run", "org.signal.Signal", NULL };
static const char *vm[] = { "virt-manager", NULL }; static const char *vm[] = { "flatpak", "run", "org.gnome.Boxes", NULL };
static const char *office[] = { "flatpak", "run", "org.libreoffice.LibreOffice", NULL }; static const char *office[] = { "flatpak", "run", "org.libreoffice.LibreOffice", NULL };
static const char *videoeditor[] = { "flatpak", "run", "org.kde.kdenlive", NULL }; static const char *videoeditor[] = { "flatpak", "run", "org.kde.kdenlive", NULL };
static const char *imgeditor[] = { "flatpak", "run", "org.gimp.GIMP", NULL }; static const char *imgeditor[] = { "flatpak", "run", "org.gimp.GIMP", NULL };
@ -270,10 +280,7 @@ static Keychord *keychords[] = {
/* Brightness Control */ /* Brightness Control */
&((Keychord){1, {{0, XF86XK_MonBrightnessUp}}, spawn, SHCMD("brightnessctl s 5%+ && pkill -RTMIN+10 dwmblocks") }), /* Increase brightness by 5%+ */ &((Keychord){1, {{0, XF86XK_MonBrightnessUp}}, spawn, SHCMD("brightnessctl s 5%+ && pkill -RTMIN+10 dwmblocks") }), /* Increase brightness by 5%+ */
&((Keychord){1, {{0, XF86XK_MonBrightnessDown}}, spawn, SHCMD("brightnessctl s 5%- && pkill -RTMIN+10 dwmblocks") }), /* Decrease brightness by 5%- *, &((Keychord){1, {{0, XF86XK_MonBrightnessDown}}, spawn, SHCMD("brightnessctl s 5%- && pkill -RTMIN+10 dwmblocks") }), /* Decrease brightness by 5%- */
/* Display Control */
&((Keychord){1, {{0, XF86XK_Display}}, spawn, SHCMD("arandr") }), /* Launch display configuration tool */
/* Media Control */ /* Media Control */
&((Keychord){1, {{0, XF86XK_AudioPause}}, spawn, SHCMD("playerctl play-pause") }), /* Pause playback */ &((Keychord){1, {{0, XF86XK_AudioPause}}, spawn, SHCMD("playerctl play-pause") }), /* Pause playback */
@ -335,6 +342,7 @@ static Keychord *keychords[] = {
&((Keychord){2, {{MODKEY, XK_s}, {0, XK_t}}, togglescratch, {.ui = 10 } }), /* Toggle tut scratchpad */ &((Keychord){2, {{MODKEY, XK_s}, {0, XK_t}}, togglescratch, {.ui = 10 } }), /* Toggle tut scratchpad */
&((Keychord){2, {{MODKEY, XK_s}, {0, XK_k}}, togglescratch, {.ui = 11 } }), /* Toggle Bitwarden scratchpad */ &((Keychord){2, {{MODKEY, XK_s}, {0, XK_k}}, togglescratch, {.ui = 11 } }), /* Toggle Bitwarden scratchpad */
&((Keychord){2, {{MODKEY, XK_s}, {0, XK_c}}, togglescratch, {.ui = 12 } }), /* Toggle Qalculate scratchpad */ &((Keychord){2, {{MODKEY, XK_s}, {0, XK_c}}, togglescratch, {.ui = 12 } }), /* Toggle Qalculate scratchpad */
&((Keychord){2, {{MODKEY, XK_s}, {0, XK_d}}, togglescratch, {.ui = 13 } }), /* Toggle Arandr scratchpad */
/* Session Management */ /* Session Management */
&((Keychord){1, {{MODKEY|ControlMask|ShiftMask, XK_q}}, quit, {0} }), &((Keychord){1, {{MODKEY|ControlMask|ShiftMask, XK_q}}, quit, {0} }),

View file

@ -20,7 +20,6 @@
* *
* To understand everything else, start reading main(). * To understand everything else, start reading main().
*/ */
#include <errno.h>
#include <locale.h> #include <locale.h>
#include <signal.h> #include <signal.h>
#include <stdarg.h> #include <stdarg.h>
@ -476,7 +475,7 @@ void arrange(Monitor *m) {
} }
void arrangemon(Monitor *m) { void arrangemon(Monitor *m) {
strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol); strlcpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
if (m->lt[m->sellt]->arrange) if (m->lt[m->sellt]->arrange)
m->lt[m->sellt]->arrange(m); m->lt[m->sellt]->arrange(m);
} }
@ -2029,7 +2028,7 @@ void setlayout(const Arg *arg) {
selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag] ^= 1; selmon->sellt = selmon->pertag->sellts[selmon->pertag->curtag] ^= 1;
if (arg && arg->v) if (arg && arg->v)
selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v; selmon->lt[selmon->sellt] = selmon->pertag->ltidxs[selmon->pertag->curtag][selmon->sellt] = (Layout *)arg->v;
strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol); strlcpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol);
if (selmon->sel) if (selmon->sel)
arrange(selmon); arrange(selmon);
else else