From 77f28d70c4eb0d7b41f05cba86c8e5fe5d8a22e6 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sun, 9 Mar 2025 15:00:13 -0600 Subject: [PATCH] created utility for bulk file renaming --- check-dependency | 113 ------------------ file-rename-pattern | 28 +++++ inst | 278 -------------------------------------------- install | 165 -------------------------- mkmp3 | 16 --- newproject | 27 ++--- run | 162 -------------------------- set-theme | 101 ---------------- setup | 7 -- src/goto | 52 --------- src/goto.asm | 263 ----------------------------------------- src/goto.c | 73 ------------ src/mark.c | 89 -------------- update | 84 ------------- update-bl | 22 ---- update-vol | 22 ---- 16 files changed, 37 insertions(+), 1465 deletions(-) delete mode 100755 check-dependency create mode 100755 file-rename-pattern delete mode 100755 inst delete mode 100755 install delete mode 100755 mkmp3 delete mode 100755 run delete mode 100755 set-theme delete mode 100755 setup delete mode 100644 src/goto delete mode 100644 src/goto.asm delete mode 100644 src/goto.c delete mode 100644 src/mark.c delete mode 100755 update delete mode 100755 update-bl delete mode 100755 update-vol diff --git a/check-dependency b/check-dependency deleted file mode 100755 index 5f3b35d..0000000 --- a/check-dependency +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/zsh - -error() { - echo "Your package manager is not supported." - echo "$COMMAND could not be installed automatically." - echo "Please install $COMMAND manually before running this script." - exit 1 -} - -install() { - COMMAND=$1 - PACKAGE=$2 - - if ! command -v $COMMAND &> /dev/null - then - if [[ "$OSTYPE" == "linux-gnu"* ]]; then - echo "$COMMAND not found. Installing $PACKAGE..." - - DISTRO=$(cat /etc/os-release | grep -oP '(?<=^ID=).+' | tr -d '"') - - if [[ $DISTRO == "arch" ]]; then - yes | sudo pacman -S $PACKAGE - yes | sudo pacman -S $COMMAND - exit 0 - elif [[ $DISTRO == "archarm" ]]; then - yes | sudo pacman -S $PACKAGE - yes | sudo pacman -S $COMMAND - exit 0 - elif [[ $DISTRO == "ubuntu" ]]; then - yes | sudo apt-get install $PACKAGE - yes | sudo apt-get install $COMMAND - exit 0 - elif [[ $DISTRO == "fedora" ]]; then - yes | sudo dnf install $PACKAGE - yes | sudo dnf install $COMMAND - exit 0 - elif [[ $DISTRO == "centos" ]]; then - yes | sudo yum install $PACKAGE - yes | sudo yum install $COMMAND - exit 0 - elif [[ $DISTRO == "debian" ]]; then - yes | sudo apt install $PACKAGE - yes | sudo apt install $COMMAND - exit 0 - else - error - fi - - elif [[ "$OSTYPE" == "darwin"* ]]; then - echo "$COMMAND not found. Installing $PACKAGE..." - - if command -v "brew" &> /dev/null - then - yes | brew install $PACKAGE - yes | brew install $COMMAND - - elif command -v "port" &> /dev/null - then - yes | sudo port install $PACKAGE - yes | sudo port install $COMMAND - else - echo "Homebrew or MacPorts not found. Please install one of them before running this script." - exit 1 - fi - else - error - fi - else - echo "Package $PACKAGE is already installed." - fi -} - -# If the number of arguments is not 2, print the usage -if [[ $# -ne 2 ]]; then - echo "Usage: check-dependency " - echo " check-dependency <--git> " - echo "Checks if a command is installed and if not, installs the package." - echo "If --git is specified, it will check if the git repository is executable." - echo "Supported package managers: apt, pacman, dnf, yum, brew, port" - exit 1 -fi - -COMMAND=$1 -PACKAGE=$2 - -# If the command is git, we will clone the repository and install it -if [[ "$COMMAND" == "--git" ]]; then - USER=$(echo $PACKAGE | cut -d'/' -f1) - REPO=$(echo $PACKAGE | cut -d'/' -f2) - - # If the repository is not installed, we will clone it and install it - if ! command -v $REPO &> /dev/null - then - THIS_USER=$SUDO_USER - - if [ ! -d /home/$THIS_USER/build ]; then - echo "Creating build directory for user $THIS_USER..." - su $THIS_USER -c "mkdir /home/$THIS_USER/build" - fi - - cd /home/$THIS_USER/build - git clone https://github.com/$USER/$REPO - cd $REPO - inst - exit 0 - - else - echo "Repository $PACKAGE is already installed." - exit 0 - fi -else - install $COMMAND $PACKAGE -fi diff --git a/file-rename-pattern b/file-rename-pattern new file mode 100755 index 0000000..6e08b0d --- /dev/null +++ b/file-rename-pattern @@ -0,0 +1,28 @@ +#!/bin/sh +help () +{ + echo " + A small utility to easily and quickly rename files in bulk based upon a + pattern. + + Proper Usage: + file-rename-pattern "S2 " "episode-" { --dry-run | -d } + file-rename-pattern "S2 " "episode-" { --exec | -e } + + --dry-run is on by default. + "; +} + +if [[ $# < 2 || $# > 3 ]]; then + help +fi + +PATTERN=$1 +REPLACE=$2 + +if [[ $# == 2 || ($# == 3 && ($3 == "--dry-run" || $3 == "-d" )) ]]; then + for f in *$PATTERN*; do echo mv -i -- "$f" "${f//$PATTERN/$REPLACE}"; done +elif [[ $# == 3 && ($3 == "--exec" || $3 == "-e" ) ]]; then + for f in *$PATTERN*; do mv -i -- "$f" "${f//$PATTERN/$REPLACE}"; done +fi + diff --git a/inst b/inst deleted file mode 100755 index 25ac34c..0000000 --- a/inst +++ /dev/null @@ -1,278 +0,0 @@ -#!/bin/zsh - -name_executable() { - read "?The current name of the executable is $1. Do you want to change it? (y/N)" CHOICE - - if [[ $CHOICE == "y" || $CHOICE == "Y" ]]; then - read "?Enter the name of the executable: " NAME - echo $NAME - else - echo $1 - fi -} - -save_desktop_entry() { - if [[ "$OSTYPE" == "linux-gnu" ]]; then - NAME=$1 - EXECUTABLE=$2 - - echo "Creating a desktop entry for the $NAME project...\n" - - # Create the desktop entry - sudo echo "[Desktop Entry]" > /usr/share/applications/$NAME.desktop - sudo echo "Name=$NAME" >> /usr/share/applications/$NAME.desktop - sudo echo "Exec=$EXECUTABLE" >> /usr/share/applications/$NAME.desktop - sudo echo "Type=Application" >> /usr/share/applications/$NAME.desktop - sudo echo "# Auto-generated by the install script" >> /usr/share/applications/$NAME.desktop - else - echo "This operating system is not yet supported." - exit 1 - fi -} - -help() { - echo "This script installs a project onto the user's system." - echo "Usage: install" - echo " install " - echo " install -h | --help" - echo "\nIf no path is provided, the script will look for a dependencies.txt file in the current directory." - exit 0 -} - -error_missing_dependencies() { - echo "The dependencies.txt file is missing from the project directory." - echo "This file should contain the required packages for the project to run." - echo "The format should be as follows: ," - echo "For example: python,python3" - echo "Please create this file before continuing." - echo "You can find an example file in the root directory of this project." - exit 1 -} - -success() { - NAME=$1 - EXECUTABLE=$2 - - echo "The $NAME project and it's dependencies have been successfully installed onto your system." - echo "You can now run the project by typing $EXECUTABLE into the terminal." - - read "?Would you like to create a desktop entry for the $NAME project? (y/N): " CHOICE - - if [[ $CHOICE == "y" || $CHOICE == "Y" ]]; then - save_desktop_entry $NAME $EXECUTABLE - fi -} - -install_c() { - NAME=$1 - echo "\nOther languages and build systems are not yet supported." - - exit 0 -} - -install_python() { - NAME=$1 - EXECUTABLE=$(name_executable $1) - - # Get the current working directory and the virtual environment - CWD=$(pwd) - ENV=$(pwd)/bin/activate - COMMAND="python $CWD/src/$NAME.py" - - # Create the virtual environment - python -m venv . - source bin/activate - - # Install Python packages in the virtual environment - if [[ -f requirements.txt ]]; then - pip install -r requirements.txt - fi - - - # Create the executable - sudo echo "#!/bin/zsh" > /usr/local/bin/$EXECUTABLE - sudo echo "source $ENV" >> /usr/local/bin/$EXECUTABLE - sudo echo "$COMMAND" >> /usr/local/bin/$EXECUTABLE - sudo echo "# Auto-generated by the install script" >> /usr/local/bin/$EXECUTABLE - sudo chmod +x /usr/local/bin/$EXECUTABLE - - success "$NAME" "$EXECUTABLE" -} - -install_java() { - NAME=$1 - echo "Other languages and build systems are not yet supported." - - exit 0 -} - -install_other() { - NAME=$1 - echo "Other languages and build systems are not yet supported." - - exit 0 -} - -install() { - PROJECT_NAME=$1 - - echo "\nInstalling the $PROJECT_NAME project onto your system..." - - echo "Please select the project language or build system:" - echo "1. C" - echo "2. Python" - echo "3. Java" - echo "4. Other" - - read "?Enter the number of the project type: " PROJECT_TYPE - - case $PROJECT_TYPE in - 1) - install_c "$PROJECT_NAME" - ;; - 2) - install_python "$PROJECT_NAME" - ;; - 3) - install_java "$PROJECT_NAME" - ;; - 4) - install_other "$PROJECT_NAME" - ;; - *) - echo "Invalid option" - ;; - esac -} - -install_dependencies() { - echo "Checking for required packages..." - - # Check if the check-dependency command is installed - if ! command -v check-dependency &> /dev/null - then - echo "The command check-dependency could not be found. Please install it before continuing." - echo "You can find it at https://github.com/quaxlyqueen/scripts." - exit 1 - fi - - # Iterate through each line of the dependencies.txt file - # and check if the package is installed with check-dependency - while read -r line; do - command=$(echo $line | awk -F ',' '{print $1}') - package=$(echo $line | awk -F ',' '{print $2}') - - check-dependency $command $package - - # If the package could not be installed, exit the script - if [[ $? -eq 1 ]]; then - echo "The command $command from package $package could not be installed. Please install it manually before continuing." - exit 1 - fi - - done < dependencies.txt -} - -check_sudo() { - if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root" - echo "Try 'sudo ./install'" - exit 1 - fi -} - -check_theme() { - USER=$SUDO_USER - if [ ! -d /home/$USER/.config ]; - then - echo "Creating the ~/.config directory..." - su $USER -c "mkdir /home/$USER/.config" - fi - - if [ ! -d /home/$USER/.config/theme ]; - then - echo "Creating the /home/$USER/.config/theme directory..." - su $USER -c "mkdir /home/$USER/.config/theme" - fi - - THEME_DIR=/home/$USER/.config/theme - - if [ ! -f $THEME_DIR/active.theme ]; - then - su $USER -c "touch $THEME_DIR/light.theme" - echo "base=#C6CAED" > $THEME_DIR/light.theme - echo "accent=#4D5382" >> $THEME_DIR/light.theme - echo "hover=#262940" >> $THEME_DIR/light.theme - - su $USER -c "touch $THEME_DIR/dark.theme" - echo "base=#262940" > $THEME_DIR/dark.theme - echo "accent=#4D5382" >> $THEME_DIR/dark.theme - echo "hover=#C6CAED" >> $THEME_DIR/dark.theme - - su $USER -c "ln -s $THEME_DIR/dark.theme $THEME_DIR/active.theme" - fi -} - -install-extra() { - if [ -f "install-extra" ]; then - echo "Running install-extra..." - ./install-extra - fi -} - -check_args() { - check_sudo - check_theme - - if [[ $# -gt 1 ]]; then - echo "ERROR: There were too many arguments.\n" - echo "Usage: install" - echo " install " - echo " install -h | --help" - exit 1 - - # No arguments provided - elif [[ $# -eq 0 ]]; then - - # Check if the current directory contains the required dependencies.txt file. - if [[ ! -f dependencies.txt ]]; then - error_missing_dependencies - - # Install the project - else - PROJECT_NAME=$(pwd | cut -d '/' -f5) - install_dependencies - install "$PROJECT_NAME" - install-extra - exit 0 - fi - - # User argument provided - else - - # Display help message - if [[ $1 == "-h" || $1 == "--help" ]]; then - help - fi - - # Check if the specified directory exists - if [[ ! -d $1 ]]; then - echo "The specified project directory does not exist" - exit 1 - - # Check if the specified directory contains the required dependencies.txt file. - elif [[ ! -f $1/dependencies.txt ]]; then - error_missing_dependencies - - # Install the project - else - PROJECT_NAME=$1 - install_dependencies - cd $PROJECT_NAME - install-extra - exit 0 - fi - fi -} - -check_args $1 diff --git a/install b/install deleted file mode 100755 index 11bd39d..0000000 --- a/install +++ /dev/null @@ -1,165 +0,0 @@ -#!/bin/zsh - -help() { - echo "This script installs and sets up the configuration for the repo quaxlyqueen/scripts." - echo "It will install the scripts in /usr/local/bin and set up the environment variables and aliases." - echo "The user will be prompted to:" - echo " - Set up the environment variables and aliases" - echo " - Create a theme for supported applications" - echo " - Set up Git, github-cli (gh), and gclone" - - echo "\nUsage: sudo ./install" - echo " sudo ./install -h | --help" - exit 0 -} - -# The script must be run as root -is_root() { - if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root." - exit 1 - fi -} - -create_theme() { - USER=$1 - su $USER -c "mkdir /home/$USER/.config/theme" - - echo "\nTheming currently supports .theme files with 3 colors: base, accent, and hover." - echo "These themes can be changed at anytime by editing the .theme file in ~/.config/theme." - echo "Supported applications will automatically use the active.theme link to theme themselves." - echo "active.theme is a symbolic link to (for eg.) light.theme or dark.theme." - - echo "\nMany themes can be created with this format, and using the 'set-theme ' command." - echo "See 'set-theme --help' for more information." - - echo "\n\nYou can create a theme now or use the default light and dark themes." - read "?Do you want to create a theme now? (y/n) " CHOICE - - USER=$SUDO_USER - DIR="/home/$USER/.config/theme" - - if [[ $CHOICE == "y" ]]; then - echo "\n" - read "?Please enter the base color in hex format (e.g. #ffffff): " BASE - read "?Please enter the accent color in hex format (e.g. #ffffff): " ACCENT - read "?Please enter the hover color in hex format (e.g. #ffffff): " HOVER - read "?Please enter the name of the theme: " NAME - - su $USER -c "echo 'base=$BASE' > $DIR/$NAME.theme" - su $USER -c "echo 'accent=$ACCENT' >> $DIR/$NAME.theme" - su $USER -c "echo 'hover=$HOVER' >> $DIR/$NAME.theme" - - echo "Theme created successfully." - echo "You can now use the 'set-theme $NAME' command to use this theme." - echo "Setting the active theme to $NAME.theme..." - su $USER -c "ln -s $DIR/$NAME.theme $DIR/active.theme" - - else - echo "Creating default light and dark themes..." - su $USER -c "echo 'base=#C6CAED' > $DIR/light.theme" - su $USER -c "echo 'accent=#4D5382' >> $DIR/light.theme" - su $USER -c "echo 'hover=#262940' >> $DIR/light.theme" - - su $USER -c "echo 'base=#262940' > $DIR/dark.theme" - su $USER -c "echo 'accent=#4D5382' >> $DIR/dark.theme" - su $USER -c "echo 'hover=#C6CAED' >> $DIR/dark.theme" - - read "?Do you want to set the active theme to the dark theme? (y/n) " CHOICE - - if [[ $CHOICE == "y" ]]; then - echo "Setting the active theme to dark.theme..." - su $USER -c "ln -s $DIR/dark.theme $DIR/active.theme" - else - echo "Setting the active theme to light.theme..." - su $USER -c "ln -s $DIR/light.theme $DIR/active.theme" - fi - fi -} - -setup_git() { - # Set up gclone - if [ ! -d "/home/$USER/.config/gclone" ]; then - su $USER -c "mkdir /home/$USER/.config/gclone" - su $USER -c "touch /home/$USER/.config/gclone/gclone.conf" - - read "?Please enter your GitHub user name for gclone: " GHUSER - su $USER -c "gclone --set-default $GHUSER" - fi - - # If the user has not set up git, do so now - if [ ! -f "/home/$USER/.gitconfig" ]; then - read "?Please enter your name for Git: " NAME - read "?Please enter your email for Git: " EMAIL - - su $USER -c "git config --global user.name $NAME" - su $USER -c "git config --global user.email $EMAIL" - fi - - # Install github-cli if it is not already installed - check_dependency "gh" "github-cli" - - # If the user has not set up github-cli, do so now - if [ ! -f "/home/$USER/.config/gh/hosts.yml" ]; then - echo "Please log in to GitHub using github-cli." - echo "This will allow you to modify your repositories and other GitHub features." - - su $USER -c "gh auth login" - fi -} - -# Create environment variables and global aliases -setup_environment() { - echo "Setting up the environment..." - read "?By default, the scripts will install in the /usr/local/bin directory. Is this OK? (y/n): " CHOICE - - if [[ $CHOICE == "n" ]]; then - read "?Please enter the directory to install the scripts: " DIR - else - DIR="/usr/local/bin" - fi - - echo "# Auto-generated by quaxlyqueen/scripts. Environment setup" >> ~/.zshrc - echo "alias gt='. goto $1'" >> ~/.zshrc - echo "alias goto='. goto $1'" >> ~/.zshrc - echo "export PATH=\$PATH:$DIR" >> ~/.zshrc - - # Source the .zshrc file to update the environment - source ~/.zshrc - - USER=$SUDO_USER - if [ ! -d "/home/$USER/.config" ]; then - su $USER -c "mkdir /home/$USER/.config" - create_theme $USER - fi - - if [ ! -d "/home/$USER/.config/theme" ]; then - create_theme $USER - fi - - setup_git -} - -is_root - if [[ $# -eq 1 ]]; then - if [[ $1 == "-h" || $1 == "--help" ]]; then - help - fi - fi - -more_install - if [ -f "install-extra" ]; then - echo "Running install-extra..." - sudo ./install-extra - fi - -# Install the scripts -echo "Installing scripts..." -sudo cp * /usr/local/bin -setup_environment -more_install - -echo "Installation complete. Please restart your terminal to use the new commands, or run 'source ~/.zshrc'." -echo "To remove the scripts, simply delete the files in /usr/local/bin and remove the aliases from your .zshrc file." -echo "Thank you for using quaxlyqueen/scripts!" -exit 0 diff --git a/mkmp3 b/mkmp3 deleted file mode 100755 index ed54aad..0000000 --- a/mkmp3 +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/zsh - -TARGET=$1 - -if [[ -e $TARGET.mkv ]]; then - ffmpeg -i $TARGET.mkv -n $TARGET.mp3 - rm $TARGET.mkv -elif [[ -e $TARGET.webm ]]; then - ffmpeg -i $TARGET.webm -n $TARGET.mp3 - rm $TARGET.webm -elif [[ -e $TARGET.mp4 ]]; then - ffmpeg -i $TARGET.mp4 -n $TARGET.mp3 - rm $TARGET.mp4 -else - echo "file not found" -fi diff --git a/newproject b/newproject index a7e7fd7..297ec82 100755 --- a/newproject +++ b/newproject @@ -11,14 +11,12 @@ TYPES=("c", "rust", "c-sharp", "aspnet", "java", "js", "t3", "python", "flutter", "go", "php") # Catch case where there are too many arguments. -if [[ $# -gt 3 ]]; then +if [[ $# -gt 2 ]]; then echo "Improper usage. Try:" - echo "\nnewproject { language } { projectname } { -g | --git-project }" + echo "\nnewproject { language } { projectname }" echo " newproject" echo " newproject c" echo " newproject c app" - echo " newproject c app -g" - echo " newproject c app --git-project" echo " newproject -h" echo " newproject --help\n" @@ -35,12 +33,10 @@ elif [[ $1 == "-h" || $1 == "--help" ]]; then echo "Bookmarks the new project directory using the 'mark' script." echo "Detects required tools to use based upon language selected.\n" echo "Usage:" - echo "\nnewproject { language } { projectname } { -g | --git-project }" + echo "\nnewproject { language } { projectname }" echo " newproject" echo " newproject c" echo " newproject c app" - echo " newproject c app -g" - echo " newproject c app --git-project" echo " newproject -h" echo " newproject --help\n" @@ -51,25 +47,16 @@ elif [[ $1 == "-h" || $1 == "--help" ]]; then elif [[ $# -eq 0 ]]; then read "?Language: " LANG read "?Project name: " NAME - read "?Git project (y/N): " GIT # User provides the project's language. elif [[ $# -eq 1 ]]; then LANG=$1 read "?Project name: " NAME - read "?Git project (y/N): " GIT # User provides arguments for the language and project name. elif [[ $# -eq 2 ]]; then LANG=$1 NAME=$2 - read "?Git project (y/N): " GIT - -# User provides arguments for all fields. -elif [[ $# -eq 3 ]]; then - LANG=$1 - NAME=$2 - GIT=$3 fi # Check if the language the user has provided is supported. @@ -177,13 +164,17 @@ elif [[ $LANG == "react" ]]; then elif [[ $LANG == "php" ]]; then cp -r ~/templates/web/php/ $NAME cd $NAME - composer init + read "?Use Composer (y/N): " COMPOSER + if [[ $COMPOSER == "y" ]]; then + composer init + fi mark fi +read "?Git project (y/N): " GIT # If the user indicated the project will be a Git project, then run the ginit script. -if [[ $GIT == "-g" || $GIT == "--git-project" ]]; then +if [[ $GIT == "y" || $GIT == "Y" ]]; then ginit; fi diff --git a/run b/run deleted file mode 100755 index a184a10..0000000 --- a/run +++ /dev/null @@ -1,162 +0,0 @@ -#!/bin/zsh - -# Supported languages. -TYPES=("c", "rs", "cs", "java", "js", "python", "flutter", "gradle", "go") - -# Catch case where there are too many arguments. -if [[ $# -gt 1 ]]; then - echo "Proper usage: run {file}" - echo " eg. run" - echo " eg. run main" - echo " eg. run gradle" - echo " eg. run flutter" - echo " eg. run -h" - echo " eg. run --help" - - exit - -# Help page -elif [[ $1 == "-h" || $1 == "--help" ]]; then - echo "\nAbstracting away command line tools to compile and run code for various languages and frameworks." - echo "User can use with or without an argument file, the filetype is not needed." - echo "With no arguments, 'run' will list available (and supported) files." - echo "Additionally, 'run' prompts for and passes command line arguments for a program.\n" - echo "Detects required tools to use based upon filetypes.\n" - echo "Usage:" - echo " run" - echo " run [filename]" - echo " eg. run main" - echo " run gradle" - echo " run flutter" - echo " run -h" - echo " run --help\n" - echo "Supported languages: $TYPES" - - exit - -# Default state, with a reminder of what files may be launched from based upon the currently supported languages. -elif [[ $# -eq 0 ]]; then - - echo "Files that may be launched from:" - - # List files available to launch from. - for f in * - do - TYPE=`echo $f | cut -d "." -f 2` - counter=0 - - # Only list supported filetypes. - if [[ ${TYPES[@]} =~ $TYPE ]]; then - counter=$((counter+1)) # Increment counter to indicate the number of results. - - # Format: filename (file type) - echo `echo $f | cut -d "." -f 1` "("$TYPE")" - fi - done - echo $counter" available files.\n" - - # Catch case where there are no available files to run and exit. - if [[ $counter -eq 0 ]]; then - echo "No available files to run. Exiting." - exit - fi - - read "?Which file would you like to launch from: " TMP - - # Locate file and assign variables associated with the file (name and filetype). - for f in * - do - FILE=`echo $f | cut -d "." -f 1` - if [[ $FILE == $TMP ]]; then - NAME=$TMP - TYPE=`echo $f | cut -d "." -f 2` - fi - done - -# User has provided the file name. -elif [[ $# -eq 1 ]]; then - - # Locate file and assign variables associated with the file (name and filetype). - for f in * - do - FILE=`echo $f | cut -d "." -f 1` - if [[ $FILE == $1 ]]; then - NAME=$FILE - TYPE=`echo $f | cut -d "." -f 2` - fi - done -fi - -read "?Arguments: " ARGS - -# Run C app. -if [[ $TYPE == "c" ]]; then - clear - echo "Compiling..." - gcc $NAME.c -lm - echo "Output..." - ./a.out $ARGS - - rm a.out - -# Run a Rust app. -elif [[ $TYPE == "rs" ]]; then - clear - cargo run - -# Run C# app. -elif [[ $TYPE == "cs" ]]; then - clear - echo "Compiling..." - mcs -out:$NAME.exe $NAME.cs - echo "Output..." - mono $NAME.exe - -# Run Java app. -elif [[ $TYPE == "java" ]]; then - clear - echo "Compiling..." - javac *.java - echo "Output..."; - java $NAME $ARGS - rm *.class - -# Run JavaScript app. -elif [[ $TYPE == "js" ]]; then - clear - echo "Output..." - node $NAME.js - -# Run Python app. -elif [[ $TYPE == "py" ]]; then - clear - echo "Running..." - python $FILE.py - -# Run Golang app. -elif [[ $TYPE == "go" ]]; then - clear - echo "Compiling..." - go build - echo "Output..." - ./discordo #TODO: need to dynamically obtain the newly created object file to run and then delete - rm discordo - -# Run app through Gradle -elif [[ $1 == "gradle" ]]; then - clear; - echo "Output..." - ./gradlew run - -# Run app through Flutter -elif [[ $1 == "flutter" ]]; then - clear; - echo "Output..." - flutter run - -else - read "?Language is not supported. Create a GH issue (y/n, default y): " GH - if [[ $GH == "y" || $GH == "" ]]; then - echo "Need to implement issue reporting." - fi -fi diff --git a/set-theme b/set-theme deleted file mode 100755 index e7023be..0000000 --- a/set-theme +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/zsh - -# This script is used to apply a theme to i3 -# It takes zero or one argument, the name of the theme to apply or toggle between light and dark -# The theme must be located in $THEME_DIR -# The theme must be a file with the extension .theme -# The theme must be formatted as follows: -# base=base_color -# accent=accent_color -# hover=hover_color -# Where base_color, accent_color, and hover_color are hex values -# The theme will be applied to i3, i3blocks, and rofi - -cd ~/.config/theme -CURRENT_THEME=`stat active.theme | grep .theme | cut -d " " -f 6 | awk -F '/' '{print $NF}'` - -get_current_theme() { - if [ -f active.theme ]; then - CURRENT_THEME=`stat active.theme | grep .theme | cut -d " " -f 6 | awk -F '/' '{print $NF}'` - else - ln -sf dark.theme active.theme - fi -} - -set_theme() { - get_current_theme - # Get the theme - theme=$(cat active.theme) - - # Apply the theme - base=$(echo $theme | grep -oP '(?<=base=).*') - accent=$(echo $theme | grep -oP '(?<=accent=).*') - hover=$(echo $theme | grep -oP '(?<=hover=).*') - mode=$(echo $CURRENT_THEME | cut -d '.' -f 1) - - # Set i3 themes - sed -i "s/color=\(.*\)/color=$hover/g" ~/.config/i3blocks/i3blocks.conf - sed -i "s/set \$base .*/set \$base $base/g" ~/.config/i3/config - sed -i "s/set \$accent .*/set \$accent $accent/g" ~/.config/i3/config - sed -i "s/set \$hover .*/set \$hover $hover/g" ~/.config/i3/config - - # Apply active.theme to alacritty - ALACRITTY=~/.config/alacritty - sed -i "s/themes\/.*\.toml/themes\/$mode.toml/g" $ALACRITTY/alacritty.toml - - # Apply active.theme to rofi - ROFI_PATH=theme.rasi - sed -i "s/base\: .*/base: $base\;/" $ROFI_PATH - sed -i "s/accent\: .*/accent: $accent\;/" $ROFI_PATH - sed -i "s/hover\: .*/hover: $hover\;/" $ROFI_PATH - - # Set NeoVim theme - NVIM_PATH=~/.config/nvim/after/plugin/colors.lua - if [[ $mode == "light" ]]; then - sed -i "s/photon/antiphoton/" $NVIM_PATH - sed -i "s/guibg=#262940/guibg=#C6CAED/" $NVIM_PATH - sed -i "s/fg='#C6CAED'/fg='#262940'/" $NVIM_PATH - else - sed -i "s/anti//" $NVIM_PATH - sed -i "s/guibg=#C6CAED/guibg=#262940/" $NVIM_PATH - sed -i "s/fg='#262940'/fg='#C6CAED'/" $NVIM_PATH - fi - - i3-msg restart -} - -# If no argument is given, toggle between light and dark -if [ $# -eq 0 ]; then - if [[ $CURRENT_THEME == "light.theme" ]]; then - ln -sf dark.theme active.theme - else - ln -sf light.theme active.theme - fi - - set_theme - -elif [ $# -gt 1 ]; then - echo "Too many arguments" - exit 1 - -else - # Check if the theme exists - if [ ! -f $1.theme ]; then - echo "Theme $1 does not exist" - exit 1 - fi - - # Check if the theme is already applied - if [ -f active.theme ]; then - if [[ $(cat active.theme) == $(cat $1.theme) ]]; then - echo "Theme $1 is already applied" - exit 1 - else - ln -sf $1.theme active.theme - fi - else - ln -sf $1.theme active.theme - fi - - set_theme -fi diff --git a/setup b/setup deleted file mode 100755 index 56b49d4..0000000 --- a/setup +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/zsh - -mkdir dev docs downloads pictures school tmp; -sudo pacman -S alacritty android-tools archlinux-keyring aspnet-runtime base blender bluebubbles-desktop-app code dart devhelp devhelp-docs dhcpcd discord docker dotnet-sdk dracut efibootmgr feh firefox flatpak fzf gcc git github-cli godot gradle i3-wm i3lock i3status intel-ucode iwd java-openjfx java-openjfx-doc java-openjfx-src jdk-openjdk jgrasp jre-openjdk keepassxc kubeadm kubectl libreoffice-fresh linux linux-firmware luarocks man-db man-pages maven mono nasm neofetch neovim nerd-fonts-complete-starship net-tools networkmanager network-manager-applet ninja nitrogen nmap npm nvidia obs-studio os-prober php picom pavucontrol pidgin python python-pip reflector rofi rust simplescreenrecorder sof-firmware starship steam sudo tar texinfo thunar tldr typescript unrar vi virtualbox vlc wavpack wget wireshark-cli wl-clipboard xob xorg yarn yay zoom zoxide zsh -git clone https://github.com/quaxlyqueen/notes; -git clone https://github.com/quaxlyqueen/templates; -cd dev; git clone https://github.com/quaxlyqueen/scripts; diff --git a/src/goto b/src/goto deleted file mode 100644 index 46728ec..0000000 --- a/src/goto +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/zsh - -# Define the location of the bookmarks file -bookmarks_file="$HOME/.bookmarks" - -# Function to display usage information -help() { - echo "\nQuickly navigate to saved bookmarks in the terminal.\n" - echo "Usage:" - echo " goto downloads" - echo " goto school" - echo " goto portfolio" - echo " goto -h" - echo " goto --help" -} - -# Function to validate and change directory -validate_dir() { - local target_dir="$1" - - # Check if bookmarks file exists - if ! test -f "$bookmarks_file"; then - echo "Error accessing bookmarks file: $bookmarks_file" - exit 1 - fi - - # Read each line in the bookmarks file - while IFS= read -r line; do - # Check if the line contains the target directory - if [[ $line == *$target_dir* ]]; then - # Change directory and exit - cd "$line" - return 0 - fi - done < "$bookmarks_file" - - # Target directory not found in bookmarks - echo "Directory '$target_dir' not found in bookmarks." - return 1 -} - -# Check for valid number of arguments -if [[ $# -ne 1 ]]; then - echo "Invalid usage. See 'goto --help' for details." - exit 1 -fi - -# Validate and change directory based on argument -validate_dir "$1" - -# Exit script (should be reached after successful directory change) -exit 0 diff --git a/src/goto.asm b/src/goto.asm deleted file mode 100644 index d0567dd..0000000 --- a/src/goto.asm +++ /dev/null @@ -1,263 +0,0 @@ -goto: file format elf64-x86-64 - - -Disassembly of section .init: - -0000000000001000 <_init>: - 1000: f3 0f 1e fa endbr64 - 1004: 48 83 ec 08 sub $0x8,%rsp - 1008: 48 8b 05 c1 2f 00 00 mov 0x2fc1(%rip),%rax # 3fd0 <__gmon_start__@Base> - 100f: 48 85 c0 test %rax,%rax - 1012: 74 02 je 1016 <_init+0x16> - 1014: ff d0 call *%rax - 1016: 48 83 c4 08 add $0x8,%rsp - 101a: c3 ret - -Disassembly of section .plt: - -0000000000001020 : - 1020: ff 35 ca 2f 00 00 push 0x2fca(%rip) # 3ff0 <_GLOBAL_OFFSET_TABLE_+0x8> - 1026: ff 25 cc 2f 00 00 jmp *0x2fcc(%rip) # 3ff8 <_GLOBAL_OFFSET_TABLE_+0x10> - 102c: 0f 1f 40 00 nopl 0x0(%rax) - -0000000000001030 : - 1030: ff 25 ca 2f 00 00 jmp *0x2fca(%rip) # 4000 - 1036: 68 00 00 00 00 push $0x0 - 103b: e9 e0 ff ff ff jmp 1020 <_init+0x20> - -0000000000001040 : - 1040: ff 25 c2 2f 00 00 jmp *0x2fc2(%rip) # 4008 - 1046: 68 01 00 00 00 push $0x1 - 104b: e9 d0 ff ff ff jmp 1020 <_init+0x20> - -0000000000001050 : - 1050: ff 25 ba 2f 00 00 jmp *0x2fba(%rip) # 4010 - 1056: 68 02 00 00 00 push $0x2 - 105b: e9 c0 ff ff ff jmp 1020 <_init+0x20> - -0000000000001060 <__stack_chk_fail@plt>: - 1060: ff 25 b2 2f 00 00 jmp *0x2fb2(%rip) # 4018 <__stack_chk_fail@GLIBC_2.4> - 1066: 68 03 00 00 00 push $0x3 - 106b: e9 b0 ff ff ff jmp 1020 <_init+0x20> - -0000000000001070 : - 1070: ff 25 aa 2f 00 00 jmp *0x2faa(%rip) # 4020 - 1076: 68 04 00 00 00 push $0x4 - 107b: e9 a0 ff ff ff jmp 1020 <_init+0x20> - -0000000000001080 : - 1080: ff 25 a2 2f 00 00 jmp *0x2fa2(%rip) # 4028 - 1086: 68 05 00 00 00 push $0x5 - 108b: e9 90 ff ff ff jmp 1020 <_init+0x20> - -0000000000001090 : - 1090: ff 25 9a 2f 00 00 jmp *0x2f9a(%rip) # 4030 - 1096: 68 06 00 00 00 push $0x6 - 109b: e9 80 ff ff ff jmp 1020 <_init+0x20> - -00000000000010a0 : - 10a0: ff 25 92 2f 00 00 jmp *0x2f92(%rip) # 4038 - 10a6: 68 07 00 00 00 push $0x7 - 10ab: e9 70 ff ff ff jmp 1020 <_init+0x20> - -00000000000010b0 : - 10b0: ff 25 8a 2f 00 00 jmp *0x2f8a(%rip) # 4040 - 10b6: 68 08 00 00 00 push $0x8 - 10bb: e9 60 ff ff ff jmp 1020 <_init+0x20> - -00000000000010c0 : - 10c0: ff 25 82 2f 00 00 jmp *0x2f82(%rip) # 4048 - 10c6: 68 09 00 00 00 push $0x9 - 10cb: e9 50 ff ff ff jmp 1020 <_init+0x20> - -00000000000010d0 : - 10d0: ff 25 7a 2f 00 00 jmp *0x2f7a(%rip) # 4050 - 10d6: 68 0a 00 00 00 push $0xa - 10db: e9 40 ff ff ff jmp 1020 <_init+0x20> - -Disassembly of section .text: - -00000000000010e0 <_start>: - 10e0: f3 0f 1e fa endbr64 - 10e4: 31 ed xor %ebp,%ebp - 10e6: 49 89 d1 mov %rdx,%r9 - 10e9: 5e pop %rsi - 10ea: 48 89 e2 mov %rsp,%rdx - 10ed: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp - 10f1: 50 push %rax - 10f2: 54 push %rsp - 10f3: 45 31 c0 xor %r8d,%r8d - 10f6: 31 c9 xor %ecx,%ecx - 10f8: 48 8d 3d 1d 02 00 00 lea 0x21d(%rip),%rdi # 131c
- 10ff: ff 15 bb 2e 00 00 call *0x2ebb(%rip) # 3fc0 <__libc_start_main@GLIBC_2.34> - 1105: f4 hlt - 1106: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) - 110d: 00 00 00 - 1110: 48 8d 3d 51 2f 00 00 lea 0x2f51(%rip),%rdi # 4068 <__TMC_END__> - 1117: 48 8d 05 4a 2f 00 00 lea 0x2f4a(%rip),%rax # 4068 <__TMC_END__> - 111e: 48 39 f8 cmp %rdi,%rax - 1121: 74 15 je 1138 <_start+0x58> - 1123: 48 8b 05 9e 2e 00 00 mov 0x2e9e(%rip),%rax # 3fc8 <_ITM_deregisterTMCloneTable@Base> - 112a: 48 85 c0 test %rax,%rax - 112d: 74 09 je 1138 <_start+0x58> - 112f: ff e0 jmp *%rax - 1131: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) - 1138: c3 ret - 1139: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) - 1140: 48 8d 3d 21 2f 00 00 lea 0x2f21(%rip),%rdi # 4068 <__TMC_END__> - 1147: 48 8d 35 1a 2f 00 00 lea 0x2f1a(%rip),%rsi # 4068 <__TMC_END__> - 114e: 48 29 fe sub %rdi,%rsi - 1151: 48 89 f0 mov %rsi,%rax - 1154: 48 c1 ee 3f shr $0x3f,%rsi - 1158: 48 c1 f8 03 sar $0x3,%rax - 115c: 48 01 c6 add %rax,%rsi - 115f: 48 d1 fe sar $1,%rsi - 1162: 74 14 je 1178 <_start+0x98> - 1164: 48 8b 05 6d 2e 00 00 mov 0x2e6d(%rip),%rax # 3fd8 <_ITM_registerTMCloneTable@Base> - 116b: 48 85 c0 test %rax,%rax - 116e: 74 08 je 1178 <_start+0x98> - 1170: ff e0 jmp *%rax - 1172: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) - 1178: c3 ret - 1179: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) - 1180: f3 0f 1e fa endbr64 - 1184: 80 3d dd 2e 00 00 00 cmpb $0x0,0x2edd(%rip) # 4068 <__TMC_END__> - 118b: 75 33 jne 11c0 <_start+0xe0> - 118d: 55 push %rbp - 118e: 48 83 3d 4a 2e 00 00 cmpq $0x0,0x2e4a(%rip) # 3fe0 <__cxa_finalize@GLIBC_2.2.5> - 1195: 00 - 1196: 48 89 e5 mov %rsp,%rbp - 1199: 74 0d je 11a8 <_start+0xc8> - 119b: 48 8b 3d be 2e 00 00 mov 0x2ebe(%rip),%rdi # 4060 <__dso_handle> - 11a2: ff 15 38 2e 00 00 call *0x2e38(%rip) # 3fe0 <__cxa_finalize@GLIBC_2.2.5> - 11a8: e8 63 ff ff ff call 1110 <_start+0x30> - 11ad: c6 05 b4 2e 00 00 01 movb $0x1,0x2eb4(%rip) # 4068 <__TMC_END__> - 11b4: 5d pop %rbp - 11b5: c3 ret - 11b6: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) - 11bd: 00 00 00 - 11c0: c3 ret - 11c1: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1) - 11c8: 00 00 00 00 - 11cc: 0f 1f 40 00 nopl 0x0(%rax) - 11d0: f3 0f 1e fa endbr64 - 11d4: e9 67 ff ff ff jmp 1140 <_start+0x60> - -00000000000011d9 : - 11d9: 41 54 push %r12 - 11db: 55 push %rbp - 11dc: 53 push %rbx - 11dd: 48 81 ec 20 10 00 00 sub $0x1020,%rsp - 11e4: 49 89 fc mov %rdi,%r12 - 11e7: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax - 11ee: 00 00 - 11f0: 48 89 84 24 18 10 00 mov %rax,0x1018(%rsp) - 11f7: 00 - 11f8: 31 c0 xor %eax,%eax - 11fa: 48 8d 3d 03 0e 00 00 lea 0xe03(%rip),%rdi # 2004 <_IO_stdin_used+0x4> - 1201: e8 2a fe ff ff call 1030 - 1206: 48 89 c3 mov %rax,%rbx - 1209: 48 89 c7 mov %rax,%rdi - 120c: e8 2f fe ff ff call 1040 - 1211: 48 01 d8 add %rbx,%rax - 1214: 48 b9 2f 2e 62 6f 6f movabs $0x616d6b6f6f622e2f,%rcx - 121b: 6b 6d 61 - 121e: 48 89 08 mov %rcx,(%rax) - 1221: c7 40 08 72 6b 73 00 movl $0x736b72,0x8(%rax) - 1228: 48 8d 35 ea 0d 00 00 lea 0xdea(%rip),%rsi # 2019 <_IO_stdin_used+0x19> - 122f: 48 89 df mov %rbx,%rdi - 1232: e8 69 fe ff ff call 10a0 - 1237: 48 85 c0 test %rax,%rax - 123a: 0f 84 b9 00 00 00 je 12f9 - 1240: 48 89 c5 mov %rax,%rbp - 1243: 48 8d 7c 24 10 lea 0x10(%rsp),%rdi - 1248: be 00 10 00 00 mov $0x1000,%esi - 124d: e8 2e fe ff ff call 1080 - 1252: 48 85 c0 test %rax,%rax - 1255: 74 16 je 126d - 1257: 48 8d 74 24 10 lea 0x10(%rsp),%rsi - 125c: 48 8d 3d a6 0d 00 00 lea 0xda6(%rip),%rdi # 2009 <_IO_stdin_used+0x9> - 1263: b8 00 00 00 00 mov $0x0,%eax - 1268: e8 03 fe ff ff call 1070 - 126d: 48 c7 04 24 00 00 00 movq $0x0,(%rsp) - 1274: 00 - 1275: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp) - 127c: 00 00 - 127e: 48 8d 74 24 08 lea 0x8(%rsp),%rsi - 1283: 48 89 e7 mov %rsp,%rdi - 1286: 48 89 ea mov %rbp,%rdx - 1289: e8 22 fe ff ff call 10b0 - 128e: 48 83 f8 ff cmp $0xffffffffffffffff,%rax - 1292: 74 46 je 12da - 1294: 48 8b 34 24 mov (%rsp),%rsi - 1298: 48 8d 3d 73 0d 00 00 lea 0xd73(%rip),%rdi # 2012 <_IO_stdin_used+0x12> - 129f: b8 00 00 00 00 mov $0x0,%eax - 12a4: e8 c7 fd ff ff call 1070 - 12a9: 48 8b 1c 24 mov (%rsp),%rbx - 12ad: 4c 89 e6 mov %r12,%rsi - 12b0: 48 89 df mov %rbx,%rdi - 12b3: e8 18 fe ff ff call 10d0 - 12b8: 48 85 c0 test %rax,%rax - 12bb: 74 c1 je 127e - 12bd: 48 89 de mov %rbx,%rsi - 12c0: 48 8d 3d 4b 0d 00 00 lea 0xd4b(%rip),%rdi # 2012 <_IO_stdin_used+0x12> - 12c7: b8 00 00 00 00 mov $0x0,%eax - 12cc: e8 9f fd ff ff call 1070 - 12d1: 48 8b 3c 24 mov (%rsp),%rdi - 12d5: e8 76 fd ff ff call 1050 - 12da: 48 8b 84 24 18 10 00 mov 0x1018(%rsp),%rax - 12e1: 00 - 12e2: 64 48 2b 04 25 28 00 sub %fs:0x28,%rax - 12e9: 00 00 - 12eb: 75 2a jne 1317 - 12ed: 48 81 c4 20 10 00 00 add $0x1020,%rsp - 12f4: 5b pop %rbx - 12f5: 5d pop %rbp - 12f6: 41 5c pop %r12 - 12f8: c3 ret - 12f9: 48 89 de mov %rbx,%rsi - 12fc: 48 8d 3d 25 0d 00 00 lea 0xd25(%rip),%rdi # 2028 <_IO_stdin_used+0x28> - 1303: b8 00 00 00 00 mov $0x0,%eax - 1308: e8 63 fd ff ff call 1070 - 130d: bf 02 00 00 00 mov $0x2,%edi - 1312: e8 a9 fd ff ff call 10c0 - 1317: e8 44 fd ff ff call 1060 <__stack_chk_fail@plt> - -000000000000131c
: - 131c: 53 push %rbx - 131d: 83 ff 02 cmp $0x2,%edi - 1320: 75 42 jne 1364 - 1322: 48 8b 5e 08 mov 0x8(%rsi),%rbx - 1326: 48 8d 35 ee 0c 00 00 lea 0xcee(%rip),%rsi # 201b <_IO_stdin_used+0x1b> - 132d: 48 89 df mov %rbx,%rdi - 1330: e8 5b fd ff ff call 1090 - 1335: 85 c0 test %eax,%eax - 1337: 74 13 je 134c - 1339: 48 8d 35 de 0c 00 00 lea 0xcde(%rip),%rsi # 201e <_IO_stdin_used+0x1e> - 1340: 48 89 df mov %rbx,%rdi - 1343: e8 48 fd ff ff call 1090 - 1348: 85 c0 test %eax,%eax - 134a: 75 30 jne 137c - 134c: 48 8d 3d cd 0c 00 00 lea 0xccd(%rip),%rdi # 2020 <_IO_stdin_used+0x20> - 1353: b8 00 00 00 00 mov $0x0,%eax - 1358: e8 13 fd ff ff call 1070 - 135d: b8 00 00 00 00 mov $0x0,%eax - 1362: 5b pop %rbx - 1363: c3 ret - 1364: 48 8d 3d aa 0c 00 00 lea 0xcaa(%rip),%rdi # 2015 <_IO_stdin_used+0x15> - 136b: b8 00 00 00 00 mov $0x0,%eax - 1370: e8 fb fc ff ff call 1070 - 1375: b8 01 00 00 00 mov $0x1,%eax - 137a: eb e6 jmp 1362 - 137c: 48 89 df mov %rbx,%rdi - 137f: e8 55 fe ff ff call 11d9 - 1384: b8 00 00 00 00 mov $0x0,%eax - 1389: eb d7 jmp 1362 - -Disassembly of section .fini: - -000000000000138c <_fini>: - 138c: f3 0f 1e fa endbr64 - 1390: 48 83 ec 08 sub $0x8,%rsp - 1394: 48 83 c4 08 add $0x8,%rsp - 1398: c3 ret diff --git a/src/goto.c b/src/goto.c deleted file mode 100644 index 9b38f7c..0000000 --- a/src/goto.c +++ /dev/null @@ -1,73 +0,0 @@ -#include -#include -#include -#include -#include - -/* -void error() { - printf("\nImproper usage: goto[ keyword ]\n" - " Usage:\n" - " goto downloads\n" - " goto school\n" - " goto portfolio\n" - " goto -h\n" - " goto --help"); -} - -void help() { - printf("\nQuickly navigate to saved bookmarks in the terminal.\n" - " Usage:\n" - " goto downloads\n" - " goto school\n" - " goto portfolio\n" - " goto -h\n" - " goto --help"); -} -*/ - -void validateDir(char input[]) { - char *bookmarksFile = strcat(getenv("HOME"), "/.bookmarks"); - // char *bookmarksFile = "/home/jashton/.bookmarks"; - FILE *f = fopen(bookmarksFile, "r"); - // Unable to access file. - if (f == NULL) { - printf("Error accessing file located at %s.\n", bookmarksFile); - exit(2); - } else { - char cwd[PATH_MAX]; - if (getcwd(cwd, sizeof(cwd)) != NULL) { - printf("cwd: %s\n", cwd); - } - - char *line = NULL; - size_t len = 0; - ssize_t read; - - while ((read = getline(&line, &len, f)) != -1) { - printf("%s", line); - if (strstr(line, input) != NULL) { - printf("%s", line); - chdir(line); - return; - } - } - } -} - -int main(int argc, char *argv[]) { - // Invalid number of arguments. - if (argc != 2) { - // error(); - printf("error"); - return 1; - } - - // Display help. - if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) - printf("help"); - else - validateDir(argv[1]); - - return 0; -} diff --git a/src/mark.c b/src/mark.c deleted file mode 100644 index 2545ba6..0000000 --- a/src/mark.c +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include -#include -#include -#include - -// Displays error message upon improper usage. -void error() { - printf("\nImproper usage: mark { -ls | -rm [ keyword(s) ] }\n" - " Usage:\n" - " mark\n" - " mark -ls\n" - " mark -rm [ keyword ]\n" - " mark -h\n" - " mark --help"); -} - -// Displays help message. -void help() { - printf("\nCreate and manage persistent bookmarks in the terminal.\n" - "Usage:\n" - " mark\n" - " mark -ls\n" - " mark -rm [ keyword ]\n" - " mark -h\n" - " mark --help"); -} - -// Lists all bookmarks in file. -void list(FILE *f) { - int c; - printf("Bookmarks:\n"); - while (1) { - c = fgetc(f); - if (feof(f)) - break; - printf("%c", c); - } -} - -// Removes a bookmark from the file. -void removeMark(FILE *f, char *argv[]) { - printf("remove mark function not implemented. received input to remove: %s.", - argv[2]); // TODO: Need to implement. -} - -int main(int argc, char *argv[]) { - char *bookmarksFile = strcat(getenv("HOME"), "/.bookmarks"); - FILE *f = fopen(bookmarksFile, "a+"); - - // Unable to access file. - if (f == NULL) { - printf("Error accessing file located at %s.", bookmarksFile); - return 1; - } - - // Invalid number of arguments. - else if (argc > 2 && strcmp(argv[1], "-rm") != 0) { - error(); - return 1; - } - - // Append the current directory to the bookmarks file. - else if (argc == 1) { - char cwd[PATH_MAX]; - fprintf(f, "\n%s", getcwd(cwd, sizeof(cwd))); - printf("Successfully bookmarked %s.", cwd); - } - - // Display help. - else if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) - help(); - - // List bookmarks. - else if (strcmp(argv[1], "-ls") == 0) - list(f); - - else if (strcmp(argv[1], "-rm") == 0) - removeMark(f, argv); - - // Invalid argument. - else { - error(); - return 1; - } - - fclose(f); - return 0; -} diff --git a/update b/update deleted file mode 100755 index df52f53..0000000 --- a/update +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/zsh - -error() { - echo "Improper usage. To increase a value in a file, update [target_file] {+, -}[change]." - echo "For example, to increase the volume by 5, use 'update volume +5'." - echo "To decrease the brightness by 10, use 'update brightness -10'." - exit 1 -} - -# Set up target file -get_target() { - TARGET=$1 - - if [[ $TARGET == "volume" ]]; then - echo "/home/jashton/.config/xob/volume" - - elif [[ $TARGET == "brightness" ]]; then - echo "/home/jashton/.config/xob/brightness" - - else - echo "Invalid target. Please use 'volume' or 'brightness'." - error - exit 1 - fi -} - -# Format change -get_change() { - CHANGE=$1 - - if [[ $CHANGE[1] == "+" ]]; then - echo $CHANGE[2,-1] - return ${CHANGE[2,-1]} - elif [[ $CHANGE[1] == "-" ]]; then - echo -$CHANGE[2,-1] - return -${CHANGE[2,-1]} - else - echo "Invalid change. Please use '+' or '-'." - error - fi -} - -update() { - CHANGE=$1 - TARGET=$2 - TARGET_FILE=$(get_target "$TARGET") - - OLDNUM=`head $TARGET_FILE` - NEWNUM=`expr $OLDNUM + $CHANGE` - - if [[ $NEWNUM -le 100 && $NEWNUM -ge 0 ]]; then - sed -i "s/$OLDNUM/$NEWNUM/g" $TARGET_FILE - - if [[ $TARGET == "volume" ]]; then - pamixer --set-volume $NEWNUM% - - elif [[ $TARGET == "brightness" ]]; then - brightnessctl set $NEWNUM% - - else - echo "Invalid target. Please use 'volume' or 'brightness'." - error - fi - - echo $NEWNUM >> ~/.config/xob/xobpipe - exit 0 - else - echo "Invalid value. Please use a number between 0 and 100." - exit 1 - fi -} - -# Check for proper number of arguments -if [[ $# -ne 2 ]]; then - error -fi - -TARGET=$1 -CHANGE=$(get_change "$2") - -# Set up xob -tail -f ~/.config/xob/xobpipe | xob -s $TARGET & - -update "$CHANGE" "$TARGET" & diff --git a/update-bl b/update-bl deleted file mode 100755 index d6d4129..0000000 --- a/update-bl +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/zsh - -tail -f ~/.config/xob/xobpipe | xob -s volume & -if [[ $# -eq 2 ]]; then - CHANGE=$1 - TARGET_FILE=$2 -elif [[ $# -eq 3 ]]; then - CHANGE=`expr 0 - $2` - TARGET_FILE=$3 -else - echo "Improper usage. To increase a value in a file,\nupdate-bl [change] [target_file]." - echo "To decrease a value in a file,\nupdate-bl --decrease [change] [target_file]." -fi - -OLDNUM=`cut -f1 $TARGET_FILE` -NEWNUM=`expr $OLDNUM + $CHANGE` - -if [[ $NEWNUM -le 100 && $NEWNUM -ge 0 ]]; then - sed -i "s/$OLDNUM/$NEWNUM/g" $TARGET_FILE - brightnessctl set $NEWNUM% - echo $NEWNUM >> ~/.config/xob/xobpipe -fi diff --git a/update-vol b/update-vol deleted file mode 100755 index 6d9641f..0000000 --- a/update-vol +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/zsh - -tail -f ~/.config/xob/xobpipe | xob -s volume & -if [[ $# -eq 2 ]]; then - CHANGE=$1 - TARGET_FILE=$2 -elif [[ $# -eq 3 ]]; then - CHANGE=`expr 0 - $2` - TARGET_FILE=$3 -else - echo "Improper usage. To increase a value in a file,\nupdate-val [change] [target_file]." - echo "To decrease a value in a file,\nupdate-val --decrease [change] [target_file]." -fi - -OLDNUM=`cut -f1 $TARGET_FILE` -NEWNUM=`expr $OLDNUM + $CHANGE` - -if [[ $NEWNUM -le 100 && $NEWNUM -ge 0 ]]; then - sed -i "s/$OLDNUM/$NEWNUM/g" $TARGET_FILE - pactl set-sink-volume @DEFAULT_SINK@ $NEWNUM% - echo $NEWNUM >> ~/.config/xob/xobpipe -fi