diff --git a/apptweaks/windows/EditWithNotepad2.reg b/apptweaks/windows/EditWithNotepad2.reg new file mode 100755 index 0000000..6292f1d Binary files /dev/null and b/apptweaks/windows/EditWithNotepad2.reg differ diff --git a/autohotkey/RemapWindowsShortcuts.ahk b/autohotkey/RemapWindowsShortcuts.ahk index c9bf44b..7df5cf0 100644 --- a/autohotkey/RemapWindowsShortcuts.ahk +++ b/autohotkey/RemapWindowsShortcuts.ahk @@ -1,6 +1,6 @@ -; Replace with the pat to Explorer++ -; https://explorerplusplus.com/ -#e::run, "A:\Programs\ExplorerPP\Explorer++.exe" +; Replace with the pat to dopus +; dopus +#d::run, "A:\Programs\GPSoftware\Directory Opus\dopus.exe" ; Replace with the path to Everything ; https://www.voidtools.com/ diff --git a/bash/bash-profile b/bash/bash-profile new file mode 100644 index 0000000..64da874 --- /dev/null +++ b/bash/bash-profile @@ -0,0 +1,70 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" +fi + + +# Show all colors: +# https://askubuntu.com/a/1309434 +# for colour in {1..225}; do echo -en "\033[38;5;${colour}m38;5;${colour} \n"; done | column -x + +# Powerline prompts require a powerline (PL) supporting font such as Microsoft's Cascadia/Cascadia Code +# https://github.com/microsoft/cascadia-code + +# POWERLINE PROMPTS +# HOSTTEXT=HOST TEXT COLOR +# USERTEXT=USER TEXT COLOR # NOT IMPLEMENTED +# COLORA = PATH BACKGROUND +# COLORB = PATH TEXT COLOR +# COLORC = HOST BACKGROUND +# COLORD = USER BACKGROUND +## RED +#hosttext="5;15m";colora="5;203m"; colorb="5;15m"; colorc="5;124m"; colord="5;160m" +## BLUE +#hosttext="5;15m";colora="5;250m"; colorb="5;15m"; colorc="5;27m"; colord="5;39m" +## GREEN +#hosttext="5;15m"; colora="5;15m"; colorb="5;00m"; colorc="5;22m"; colord="5;28m" +## BEACHY +hosttext="5;15m"; colora="5;250m"; colorb="5;00m"; colorc="5;214m"; colord="5;39m" +## ORANGE +#hosttext="5;15m"; colora="5;15m"; colorb="5;00m"; colorc="5;214m"; colord="5;220m" +## DARK +#hosttext="5;15m"; colora="5;250m"; colorb="5;00m"; colorc="5;234m"; colord="5;239m" +## PORMPT MAGIX +_me=`/bin/whoami` +[ "$_me" == "root" ] && _home=/root || _home=/home/$_me +resetpl="\[\033[00m\]" +promptfg="\[\033[38;${hosttext}\]" +pathfg="\[\033[38;${colorb}\]" +hostbg="\[\033[48;${colorc}\]" +hostuserpl="\[\033[48;${colord}\]\[\033[38;${colorc}\]" +userpathpl="\[\033[48;${colora}\]\[\033[38;${colord}\]" +pathpromptpl="${resetpl}\[\033[38;${colora}\]" +PROMPT_COMMAND='_dir=`pwd | sed "s|^$_home|~|g"`;if [ ${#_dir} -ge 35 ]; then _mydir=`pwd | cut -c1-16`; _mydir=${_mydir}.../`pwd | rev | cut -d/ -f1 | rev`; else _mydir=`pwd`; fi; _mydir=`echo $_mydir | sed "s|^$_home|~|g"`; PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}${hostbg}${promptfg}\h${hostuserpl}${promptfg}\u${userpathpl}${pathfg}${_mydir}${resetpl}${pathpromptpl}${resetpl} "' +# https://stackoverflow.com/a/19152051 (for pipes in sed ^^) + +# Useful for WSL to open windows file explorer in the current directory (e.g. explorer .) +alias explorer="explorer.exe" diff --git a/bash/fix-suspend-video-size.sh b/bash/fix-suspend-video-size.sh new file mode 100644 index 0000000..29c5fb7 --- /dev/null +++ b/bash/fix-suspend-video-size.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# presently not working - the file changes, but it looks like the +# steam client is re-verifying them when it boots which instantly +# undoes the changes that we made. Maybe one day there'll be some +# way to persist the change. + +stpath='/home/deck/.local/share/Steam/steamui/css' +cssboi='chunk~2dcc5aaf7.css' + +if [ ! -f $stpath/$cssboi ]; then + printf "\n%s\n\n" "chunk file '$cssboi' not found, please fix file location in $0. Listing directory $stpath for reference:" + ls $stpath + printf "\n" + exit 1 +fi + +printf "\n%s\n" "Updating $cssboi..." +sed -i 's/.powermenu_SuspendVideo_s11wN{flex-grow:0;width:300px;height:300px}/.powermenu_SuspendVideo_s11wN{flex-grow:1;width100%;height:100%}/' $stpath/$cssboi +printf "\n%s\n\n" "Done!" diff --git a/bash/jpg b/bash/jpg new file mode 100755 index 0000000..cb78678 --- /dev/null +++ b/bash/jpg @@ -0,0 +1,120 @@ +#!/bin/bash + +# Build instructions: +# https://medium.com/@eplt/5-minutes-to-install-imagemagick-with-heic-support-on-ubuntu-18-04-digitalocean-fe2d09dcef1 +# Command: +# https://zwbetz.com/convert-heic-images-to-jpg/ + +red="$(tput setaf 1)" +rst="$(tput sgr0)" + +# trap ctrl-c and call ctrl_c() +# https://rimuhosting.com/knowledgebase/linux/misc/trapping-ctrl-c-in-bash +trap ctrl_c INT +function ctrl_c() { + if [ $filecount -eq 0 ]; then printf "%s\n" "${rst}${red}exiting${rst}" + else printf "\n%s\n%s\n\n" "${rst}${red}CTRL+C detected - this may have corrupted the most recent attempted file" "conversion. Please inspect the latest file and delete or retry as needed.${rst}" + fi + exit +} + +padding=" " + +if [[ "${@}" == *"-h"* ]]; then + printf "%s\n" "Command:" + printf "$padding%s\n" "Converts heic files (Apple's native picture format) to either jpg (default)" + printf "$padding%s\n" "or png (larger file size) for easier manipulation or sharing. Requires that" + printf "$padding%s\n" "Imagemagick's mogrify tool be complied and installed with heic support. See" + printf "$padding%s\n" "step 1 at https://dismy.link/heicmogrify for a brief install guide." + printf "%s\n" "Command usage:" + printf "$padding%-20s%s\n" "--dir [directory]" "Specify a directory other than current" + printf "$padding%-20s%s\n" "-d --delete" "Delete original files (default keeps originals)" + printf "$padding%-20s%s\n" "-q --quiet" "Suppresses progress output (summaries are still displayed)" + printf "$padding%-20s%s\n" "[--png|--jpg]" "Save as jpg/png (default is jpg)" + printf "$padding%-20s%s\n" "-h --help" "Print this help message and exit" + exit 0 +fi + +# DEFAULTS +# The folder with the files you want to convert +directory="`pwd`" +# Set to 0 to delete the original .heic files after they are converted +keeporiginals=1 +# Set to 0 for PNG (much larger file size) +saveasjpg=1 +# Suppress progress output +keepquiet=0 + +filecount=0 +customdir=0 +for _arg in ${@}; do + if [ $customdir -eq 1 ]; then directory="$_arg"; customdir=2; continue; fi + if [ "$_arg" == "--dir" ]; then customdir=1; continue; fi + if [ "$_arg" == "-d" ]; then keeporiginals=0; continue; fi + if [ "$_arg" == "--delete" ]; then keeporiginals=0; continue; fi + if [ "$_arg" == "-q" ]; then keepquiet=1; continue; fi + if [ "$_arg" == "--quiet" ]; then keepquiet=1; continue; fi + if [ "$_arg" == "--png" ]; then saveasjpg=0; continue; fi + if [ "$_arg" == "--jpg" ]; then saveasjpg=1; continue; fi +done + +# Make sure the mogrify command is available. If this is being +# run as a cron job the which command will fail so we check the +# default location just in case. +mymogrify=`which mogrify` +which mogrify > /dev/null +if [[ $? -eq 1 ]]; then + if [[ -e "/usr/local/bin/mogrify" ]]; then + mymogrify="/usr/local/bin/mogrify" + else + printf "%s\n" "Unable to locate the mogrify command. Please follow the build and" + printf "%s\n" "installation guide at https://dismy.link/heicmogrify to install" + printf "%s\n" "the ImageMagick mogfify tool on your system with heic support." + exit 1 + fi +fi + +# summary: +printf "\n%s\n" "Summary:" +printf "$padding%s\n" "Binary: $mymogrify" +printf "$padding%s\n" "Directory: $directory" +[ $keeporiginals -eq 0 ] && printf "$padding%s\n" "Originals: Delete" || printf "$padding%s\n" "Originals: Keep" +[ $keepquiet -eq 0 ] && printf "$padding%s\n" "Output: Visible" || printf "$padding%s\n" "Output: Hidden" +[ $saveasjpg -eq 0 ] && printf "$padding%s\n" "Save as: PNG" || printf "$padding%s\n" "Save as: JPG" +printf "\n%s" "Press enter to begin or ^c to exit" +read + +[ $saveasjpg -eq 0 ] && destformat="png" || destformat="jpg" +# Loop over all the .heic files in the folder +for heic in *.heic; do + # Drop the .heic extension and append .jpg instead + img=`echo "$heic" | rev | cut -d. -f2- | rev`.$destformat + if [ -f "$img" ]; then [ $keepquiet -eq 0 ] && printf "%s\n" "Skipping $heic ($img exists)" + else [ $keepquiet -eq 0 ] && printf "%s\n" "Converting $heic to $img"; fi + [ -f "$img" ] || let filecount=filecount+1 + # If the file we are going to make does not exist, run the command to convert it + if [ ! -f "$img" ]; then + $mymogrify -format $destformat "$heic" + mogrified=$? + if [ $mogrified -ne 0 ]; then + printf "\n%s\n\n" "${rst}${red}Encountered the above error while trying to mogrify. Exiting.${rst}" + exit $mogrified + fi + fi + # If we don't want the originals, give them the axe + [ $keeporiginals -eq 0 ] && rm "$heic" +done + +if [ $filecount -gt 0 ]; then + if [ $filecount -eq 1 ]; then + printf "\n%s\n\n" "Script complete. Converted $filecount heic file to $destformat" + else + printf "\n%s\n\n" "Script complete. Converted $filecount heic files to $destformat" + fi +else + if [ $customdir -eq 2 ]; then + printf "\n%s\n\n" "Found 0 heic files to convert. Are you sure you specified the right directory?" + else + printf "\n%s\n\n" "Found 0 heic files to convert. Are you sure you're in the right directory?" + fi +fi