diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2025-03-30 01:00:51 -0400 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2025-03-30 01:00:51 -0400 |
commit | f4c4550e327d9090c82a735d39d104d0bedb602d (patch) | |
tree | fcfa762512155c132a66d3adbb56067ca2d5d61b /.local/bin | |
parent | 43dbb32d741e11f8e06341f515944ec757d4578f (diff) |
Loads of laptop shit
Diffstat (limited to '.local/bin')
-rwxr-xr-x | .local/bin/capture | 42 | ||||
-rwxr-xr-x | .local/bin/cidr | 1 | ||||
-rwxr-xr-x | .local/bin/colorpicker | 2 | ||||
-rwxr-xr-x | .local/bin/displayselect | 7 | ||||
-rwxr-xr-x | .local/bin/dropdowntoggle | 55 | ||||
-rwxr-xr-x | .local/bin/dwmbar/check-eselect | 8 | ||||
-rwxr-xr-x | .local/bin/dwmbar/check-mail | 5 | ||||
-rwxr-xr-x | .local/bin/dwmbar/dwmb-layout | 4 | ||||
-rwxr-xr-x | .local/bin/fpt | 16 | ||||
-rwxr-xr-x | .local/bin/fzf-shortcuts | 23 | ||||
-rwxr-xr-x | .local/bin/gpg | 6 | ||||
-rwxr-xr-x | .local/bin/groffdown | 54 | ||||
-rwxr-xr-x | .local/bin/gsetup | 9 | ||||
-rwxr-xr-x | .local/bin/layouttoggle | 46 | ||||
-rwxr-xr-x | .local/bin/lazydocker | bin | 0 -> 11558912 bytes | |||
-rwxr-xr-x | .local/bin/makewall | 4 | ||||
-rwxr-xr-x | .local/bin/makewall.bak | 30 | ||||
-rwxr-xr-x | .local/bin/media-notify | 5 | ||||
-rwxr-xr-x | .local/bin/monchange | 6 | ||||
-rwxr-xr-x | .local/bin/monselect | 4 | ||||
l--------- | .local/bin/scope | 1 | ||||
-rwxr-xr-x | .local/bin/setbg | 2 | ||||
-rwxr-xr-x | .local/bin/shortcutgen | 40 | ||||
-rwxr-xr-x | .local/bin/shortcutgen-v1 | 55 | ||||
-rwxr-xr-x | .local/bin/shortcutgen.bak | 23 | ||||
-rwxr-xr-x | .local/bin/sixprev | 9 | ||||
l--------- | .local/bin/strm | 1 | ||||
-rwxr-xr-x | .local/bin/winit | 6 | ||||
-rwxr-xr-x | .local/bin/wstart | 12 |
29 files changed, 416 insertions, 60 deletions
diff --git a/.local/bin/capture b/.local/bin/capture new file mode 100755 index 0000000..49799f6 --- /dev/null +++ b/.local/bin/capture @@ -0,0 +1,42 @@ +#!/bin/sh + +capturedir="${XDG_PICTURES_DIR:-$HOME/Pictures}/captures" + +infomsg="Usage: capture [OPTION] + -h,--help: Print this help message + -s,--selection: Capture a portion of the screen + -f,--fullscreen: Grab the entire screen +" + +capturetype="" +capturename="/dev/null" +msg="Capture location: " + +icon="" + +case "$1" in + -w|--window) + capturetype="Window" + msg="Not implemented yet" + ;; + + -s|--selection) + capturetype="Region" + sel="$(slurp -w0 -b"447a6c69")" + capturename="$capturedir/capture-$(date "+%Y-%M-%d_%H-%m-%S").png" + grim -t png -g "$sel" $capturename + msg="$msg$capturename" + ;; + + -f|--fulscreen) + capturetype="Fulscreen" + capturename="$capturedir/capture-$(date "+%Y-%M-%d_%H-%m-%S").png" + msg="$msg$capturename" + grim -t png "$capturename" + ;; + + *) echo "Invalid argument provided" && printf "$infomsg" && exit 1 ;; +esac + +wl-copy --type image/png < $capturename +notify-send "$msg" -a "$icon $capturetype Capture" -i "$capturename" diff --git a/.local/bin/cidr b/.local/bin/cidr new file mode 100755 index 0000000..18c4214 --- /dev/null +++ b/.local/bin/cidr @@ -0,0 +1 @@ +/usr/bin/cider --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto diff --git a/.local/bin/colorpicker b/.local/bin/colorpicker index 5e37201..032abd8 100755 --- a/.local/bin/colorpicker +++ b/.local/bin/colorpicker @@ -6,6 +6,6 @@ sed "s/fill=.*>/fill=\"$col\">/g" $HOME/.local/share/circle.svg > /tmp/circle.svg -echo "$col" | xsel -b +echo "$col" | wl-copy notify-send -i "/tmp/circle.svg" -a "Colorpicker" "$col was successfully copied to your clipboard." diff --git a/.local/bin/displayselect b/.local/bin/displayselect deleted file mode 100755 index 2b87894..0000000 --- a/.local/bin/displayselect +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -layoutdir="$XDG_CONFIG_HOME/screenlayout" - -layout="$(ls "$layoutdir" | dmenu -p " Select layout: ")" - -[ -z "$layout" ] || sh "$layoutdir/$layout" diff --git a/.local/bin/dropdowntoggle b/.local/bin/dropdowntoggle index e1f98fb..1384699 100755 --- a/.local/bin/dropdowntoggle +++ b/.local/bin/dropdowntoggle @@ -1,34 +1,39 @@ #!/bin/sh -# Toggle dropdown terminal windows. -# The first argument is the title of the window. -# The rest of it is the program/command to be run -# in the dropdown window. +# Toggle dropdown terminal windows in River. +# The first argument is the name of the dropdown window. +# The rest is the command to be run inside the terminal. name="$1" class="dropdown" title="dropdown_$name" -active="$(xdotool search --name "$title" | wc -l)" shift -case "$TERMINAL" in -*st) - classflag="-c" - titleflag="-t" - cmdflag="-e" - ;; -*alacritty) - classflag="--class" - titleflag="--title" - cmdflag="--command" - ;; - *foot) - classflag="-a" - titleflag="--title" - cmdflag="-e" -esac +# Get the window ID of an existing dropdown terminal +existing=$(riverctl list-views | awk -v class="$class" '$3 == class {print $1}') -case "$active" in -0) $TERMINAL "$classflag" "dropdown" "$titleflag" "$title" "$cmdflag" "$@" & ;; -*) kill -9 "$(xdotool search --name "$class" getwindowpid)" ;; -esac +if [ -n "$existing" ]; then + # If found, close it + riverctl close-view "$existing" +else + # Otherwise, launch a new one + case "$TERMINAL" in + *st) + classflag="-c" + titleflag="-t" + cmdflag="-e" + ;; + *alacritty) + classflag="--class" + titleflag="--title" + cmdflag="--command" + ;; + *foot) + classflag="-a" + titleflag="--title" + cmdflag="-e" + ;; + esac + + $TERMINAL "$classflag" "$class" "$titleflag" "$title" "$cmdflag" "$@" & +fi diff --git a/.local/bin/dwmbar/check-eselect b/.local/bin/dwmbar/check-eselect new file mode 100755 index 0000000..760765b --- /dev/null +++ b/.local/bin/dwmbar/check-eselect @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ "$(eselect news count all)" -eq 0 ]; then + exit 1 +else + exit 0 +fi + diff --git a/.local/bin/dwmbar/check-mail b/.local/bin/dwmbar/check-mail new file mode 100755 index 0000000..c9ab3b2 --- /dev/null +++ b/.local/bin/dwmbar/check-mail @@ -0,0 +1,5 @@ +#!/bin/sh + +[ -z "$($HOME/.local/bin/dwmbar/dwmb-mail)" ] && exit 1 + +exit 0 diff --git a/.local/bin/dwmbar/dwmb-layout b/.local/bin/dwmbar/dwmb-layout index 1455398..83d1ba3 100755 --- a/.local/bin/dwmbar/dwmb-layout +++ b/.local/bin/dwmbar/dwmb-layout @@ -1,3 +1,5 @@ #!/bin/sh -echo " $(cat "$HOME/.cache/layout")" +text=" $(cat "$HOME/.cache/layout")" + +printf '{ "text": "%s", "class": "block" }\n' "$text" diff --git a/.local/bin/fpt b/.local/bin/fpt new file mode 100755 index 0000000..e0f4271 --- /dev/null +++ b/.local/bin/fpt @@ -0,0 +1,16 @@ +#!/bin/sh + +PREVIEW_TEXT="ABCDEFGHIJKLM\n""\ +NOPQRSTUVWXYZ\n""\ +abcdefghijklm\n""\ +nopqrstuvwxyz\n""\ +1234567890\n""\ +!@$\%(){}[]" + +convert -size "532x365" xc:"#ffffff" \ + -gravity center \ + -pointsize 38 \ + -font "$1" \ + -fill "#000000" \ + -annotate +0+0 "$PREVIEW_TEXT" \ + -flatten "jpeg:-" | img2sixel diff --git a/.local/bin/fzf-shortcuts b/.local/bin/fzf-shortcuts new file mode 100755 index 0000000..5e0fb4a --- /dev/null +++ b/.local/bin/fzf-shortcuts @@ -0,0 +1,23 @@ +#!/bin/sh + +# Example shortcutfile contents: +# Compilation : /home/master/.local/src +# Config : /home/master/.config +# CV : /home/master/Dropbox/A/work/Application/CV/current +# Downloads : /home/master/Downloads +# Dropbox : /home/master/Dropbox +# Hotkeys : /home/master/.config/sxhkd + +shortcutfile="${XDG_CACHE_HOME:-$HOME/.cache}/plain-shortcuts" + +# Read the file and pass it to fzf +selected=$(cat "$shortcutfile" | fzf) + +# Extract the path part (after the colon) +selected_path=$(echo "$selected" | cut -d ':' -f 2-) + +# Trim leading and trailing whitespace +selected_path=$(echo "$selected_path" | sed 's/^ *//;s/ *$//') + +# Print the selected path +echo "$selected_path" diff --git a/.local/bin/gpg b/.local/bin/gpg new file mode 100755 index 0000000..a28021a --- /dev/null +++ b/.local/bin/gpg @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ -n "$FUGITIVE" ]; then + set -- --pinentry-mode loopback "$@" +fi +exec /usr/bin/gpg "$@" diff --git a/.local/bin/groffdown b/.local/bin/groffdown new file mode 100755 index 0000000..f2810a5 --- /dev/null +++ b/.local/bin/groffdown @@ -0,0 +1,54 @@ +#!/bin/bash + +file=$(readlink -f "$1") +dir=$(dirname "$file") +base="${file%.*}" + +output=$( sed -e '1,1d + s/title:/\.TL\n/ + s/author:/\.AU\n/ + s/date:/\.ND\n/ + s/institution:/\.AI\n/ + + s/\\begin{abstract}/\.AB/ + s/\\end{abstract}/\.AE/ + + s/^\#####.\(.*\)/\.NH 5\n\1\n\.PP/g + s/^\####.\(.*\)/\.NH 4\n\1\n\.PP/g + s/^\###.\(.*\)/\.NH 3\n\1\n\.PP/g + s/^\##.\(.*\)/\.NH 2\n\1\n\.PP/g + s/^\#.\(.*\)/\.NH 1\n\1\n\.PP/g + + s/\*\*\*\(.*\)\*\*\*$/\n\.BI\ \"\1\"\ /g + s/\*\*\*\(.*\)\*\*\*\(.\)$/\n\.BI\ \"\1\"\ \"\2\"/g + s/\*\*\*\(.*\)\*\*\*\(.\)/\n\.BI\ \"\1\"\ \"\2\"\n/g + + s/\*\*\(.*\)\*\*$/\n\.B\ \"\1\"\ /g + s/\*\*\(.*\)\*\*\(.\)$/\n\.B\ \"\1\"\ \"\2\"/g + s/\*\*\(.*\)\*\*\(.\)/\n\.B\ \"\1\"\ \"\2\"\n/g + + s/\*\(.*\)\*$/\n\.I\ \"\1\"\ /g + s/\*\(.*\)\*\(.\)$/\n\.I\ \"\1\"\ \"\2\"/g + s/\*\(.*\)\*\(.\)/\n\.I\ \"\1\"\ \"\2\"\n/g + + s/`\(.*\)`$/\n\.CW\ \"\1\"\ /g + s/`\(.*\)`\(.\)$/\n\.CW\ \"\1\"\ \"\2\"/g + s/`\(.*\)`\(.\)/\n\.CW\ \"\1\"\ \"\2\"\n/g + + s/^\ ...............-\ /.IP\ \\(bu\ 10\n/g + s/^\ ...........-\ /.IP\ \\(bu\ 8\n/g + s/^\ .......-\ /.IP\ \\(bu\ 6\n/g + s/^\ ...-\ /.IP\ \\(bu\ 4\n/g + s/^-\ /.IP\ \\(bu\ 2\n/g + s/^\ .*-\ /.IP\ \\(bu\ 12\n/g + + ' $1) +# echo "$output" | groff -me -ms -kejpt -T pdf > $base.pdf + +# echo "$output" > $base.ms +# groff -ms $base.ms -T pdf > $base.pdf + +echo "$output" + +# $output >> output.ms +# s/\*\*\*.*\*\*\*/Hi\1hi/g diff --git a/.local/bin/gsetup b/.local/bin/gsetup new file mode 100755 index 0000000..3684fb1 --- /dev/null +++ b/.local/bin/gsetup @@ -0,0 +1,9 @@ +#!/bin/sh + +repo="$1" +[ -z "$repo" ] && repo="$(basename "$(pwd)")" + +git remote set-url origin "ssh://chausse.xyz/$repo" +git remote set-url --add --push origin "ssh://chausse.xyz/$repo" +git remote set-url --add --push origin git@github.com:ChausseBenjamin/$repo + diff --git a/.local/bin/layouttoggle b/.local/bin/layouttoggle index d1ceba5..b64e923 100755 --- a/.local/bin/layouttoggle +++ b/.local/bin/layouttoggle @@ -1,20 +1,34 @@ #!/bin/sh -layout=$(cat "$HOME/.cache/layout") +cachefile="$HOME/.cache/layout" -case "$layout" in -ca) - setxkbmap -model pc104 -layout us -variant ,, - echo us >"$HOME/.cache/layout" - ;; -us) - setxkbmap -model pc104 -layout ca -variant ,, - echo ca >"$HOME/.cache/layout" - ;; -*) - setxkbmap -model pc104 -layout us -variant ,, - echo us >"$HOME/.cache/layout" - ;; -esac +# Handle manual override first +if [ -n "$1" ]; then + echo "$1" >"$cachefile" +else + # Ensure the cache file exists, or initialize it + [ -f "$cachefile" ] || echo "us" >"$cachefile" + layout=$(cat "$cachefile") + + case "$layout" in + ca) + echo us >"$cachefile" + ;; + us) + echo ca >"$cachefile" + ;; + *) + echo us >"$cachefile" + ;; + esac +fi + +# Apply keyboard layout +riverctl keyboard-layout -model pc104 "$(cat "$cachefile")" + +# Restart the correct block if waybar is running +waybar_pid=$(pidof waybar) +if [ -n "$waybar_pid" ]; then + kill -38 "$waybar_pid" +fi -kill -38 "$(pidof dwmblocks)" diff --git a/.local/bin/lazydocker b/.local/bin/lazydocker Binary files differnew file mode 100755 index 0000000..c356cb3 --- /dev/null +++ b/.local/bin/lazydocker diff --git a/.local/bin/makewall b/.local/bin/makewall index 3458676..6929bc5 100755 --- a/.local/bin/makewall +++ b/.local/bin/makewall @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -wallDir="${XDG_CONFIG_HOME:-$HOME}/wallpapers" +wallDir="${XDG_CONFIG_HOME:-$HOME/.config}/wallpapers" # Acquire the list of connected displays and their models displays="$(wlr-randr --json | jq -r '.[] | select(.enabled) | "\(.name) \(.model)"')" diff --git a/.local/bin/makewall.bak b/.local/bin/makewall.bak new file mode 100755 index 0000000..b098dff --- /dev/null +++ b/.local/bin/makewall.bak @@ -0,0 +1,30 @@ +#!/bin/sh + +wallDir="${XDG_CONFIG_HOME:-$HOME}/wallpapers" + +# Acquire the list of connected displays +displays="$(wlr-randr --json | jq -r '.[] | select(.enabled) | .name')" +echo "$displays" + +# If there is a wallpaper with a filename matching the display +# name, set it as the wallpaper for that display. +# ex: DP-1.jpg and DP-1.png are both valid filenames +# Otherwise, set the wallpaper to the default wallpaper +# (default.png or default.jpg) +setDisplay() { + case $(ls $wallDir) in + *"$1"*) + wall=$(ls $wallDir | grep "$1" | head -n 1) + ;; + *) + wall=$(ls $wallDir | grep "default" | head -n 1) + ;; + esac + swaybg --output $1 -m fill --image $wallDir/$wall & +} + +# Set the wallpaper for each display +killall swaybg >/dev/null 2>&1 +for display in $displays; do + setDisplay $display +done diff --git a/.local/bin/media-notify b/.local/bin/media-notify new file mode 100755 index 0000000..dd9563f --- /dev/null +++ b/.local/bin/media-notify @@ -0,0 +1,5 @@ +#!/bin/sh + +# Create a temporary directory +current="$(mktemp -d)" +raw="$(playerctl metadata)" diff --git a/.local/bin/monchange b/.local/bin/monchange new file mode 100755 index 0000000..b761037 --- /dev/null +++ b/.local/bin/monchange @@ -0,0 +1,6 @@ +#!/bin/sh + +# Script to run whenever monitor configuration changes +pidof waybar || setsid waybar +pidof rivertile || rivertile & +makewall & diff --git a/.local/bin/monselect b/.local/bin/monselect new file mode 100755 index 0000000..7ef0646 --- /dev/null +++ b/.local/bin/monselect @@ -0,0 +1,4 @@ +#!/bin/sh + +# Acquire the list of connected displays +displays="$(wlr-randr --json | jq -r '.[] | select(.enabled) | .name' | tofi)" diff --git a/.local/bin/scope b/.local/bin/scope new file mode 120000 index 0000000..7d5b41b --- /dev/null +++ b/.local/bin/scope @@ -0,0 +1 @@ +/home/master/.config/lf/scope
\ No newline at end of file diff --git a/.local/bin/setbg b/.local/bin/setbg index bfde81e..942c4e6 100755 --- a/.local/bin/setbg +++ b/.local/bin/setbg @@ -5,7 +5,7 @@ [ ! -f "$1" ] && exit [ -z "$(file "$1" | grep -o 'image data')" ] && exit -displays=$(xrandr | grep " connected" | sed 's/^\([a-Z,0-9,-]*\).*/\1/') +displays=$(wlr-randr --json | jq -r '.[] | select(.active) | .name') # Same as above but use dmenu only if there are multiple displays if [ "$(echo "$displays" | wc -l)" -gt 1 ]; then diff --git a/.local/bin/shortcutgen b/.local/bin/shortcutgen index 7f26997..d09248c 100755 --- a/.local/bin/shortcutgen +++ b/.local/bin/shortcutgen @@ -3,15 +3,17 @@ # Quit if a valid configuration source doesn't exist [ -f "$XDG_CONFIG_HOME/shortcutrc" ] && src="$XDG_CONFIG_HOME/shortcutrc" || exit 1 -# If you do not want to create a specific file, replace it's variable with /dev/null +# If you do not want to create a specific file, replace its variable with /dev/null awk -v lf_filepath="${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcuts" \ -v gtk_filepath="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/bookmarks" \ -v zsh_filepath="${XDG_CACHE_HOME:-$HOME/.cache}/zsh-shortcuts" \ -v env_filepath="${XDG_CACHE_HOME:-$HOME/.cache}/env-shortcuts" \ + -v plain_filepath="${XDG_CACHE_HOME:-$HOME/.cache}/plain-shortcuts" \ ' BEGIN { FS="," OFS="," + max_length = 0 } # Function to remove whitespaces from a string @@ -42,24 +44,48 @@ function fullpath(str) { # Check if line is empty or contains only whitespace if (NF) { + # Update max_length if current lhs is longer + if (length($1) > max_length) { + max_length = length($1) + } + + # Store the current line for later processing + lines[NR] = $0 + } +} +END { + for (i = 1; i <= NR; i++) { + split(lines[i], fields, FS) + + # Skip processing if necessary fields are empty + if (fields[2] == "" || fields[3] == "") { + continue + } # Convert column 2 to lowercase - lc_col2 = tolower($2) + lc_col2 = tolower(fields[2]) # Convert column 2 to uppercase - uc_col2 = toupper($2) + uc_col2 = toupper(fields[2]) # Write to $XDG_CONFIG_HOME/lf/shortcuts - print "map g" lc_col2 " cd " $3 > lf_filepath + print "map g" lc_col2 " cd " fields[3] > lf_filepath # Write to $XDG_CACHE_HOME/zsh-shortcuts - print "g" lc_col2 "() {cd " $3 "}" > zsh_filepath + print "g" lc_col2 "() {cd " fields[3] "}" > zsh_filepath # Write to $XDG_CACHE_HOME/env-shortcuts - print "export G" uc_col2 "=" $3 "" > env_filepath + print "export G" uc_col2 "=" fields[3] "" > env_filepath # Write to $XDG_CONFIG_HOME/gtk-3.0/bookmarks - print "file://" fullpath($3) " " $1 > gtk_filepath + print "file://" fullpath(fields[3]) " " fields[1] > gtk_filepath + + # Write plain Title + `,` + only if fields[1] is not empty + if (fields[1] != "") { + printf "%-*s : %s\n", max_length, fields[1], fullpath(fields[3]) > plain_filepath + } else if (fields[3] != "") { + printf "%s\n", fullpath(fields[3]) > plain_filepath + } } } ' "$src" diff --git a/.local/bin/shortcutgen-v1 b/.local/bin/shortcutgen-v1 new file mode 100755 index 0000000..fa08875 --- /dev/null +++ b/.local/bin/shortcutgen-v1 @@ -0,0 +1,55 @@ +#!/bin/sh + +[ -f "$XDG_CONFIG_HOME/shortcutrc" ] && src="$XDG_CONFIG_HOME/shortcutrc" || exit 1 + +# If you do not want to create a specific file, replace the path with /dev/null +lf_filepath="${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcuts" +zsh_filepath="${XDG_CACHE_HOME:-$HOME/.cache}/zsh-shortcuts" +env_filepath="${XDG_CACHE_HOME:-$HOME/.cache}/env-shortcuts" + +awk ' +BEGIN { + FS="," + OFS="," +} + +# Function to remove whitespaces from a string +function remove_whitespace(str) { + gsub(/[[:space:]]/, "", str) + return str +} + +{ + # Remove comments + gsub(/#.*/, "") + + # Remove whitespaces from column 2 + $2 = remove_whitespace($2) + + # Remove leading and trailing whitespaces from column 3 + gsub(/^[[:space:]]+|[[:space:]]+$/, "", $3) + + # whenever a line contains only commas, replace it with an empty string + # so that we can check if a line is empty or not + gsub(/^,+$|^,+|,+$|,+,/, "", $0) + + # Check if line is empty or contains only whitespace + if (NF) { + + # Convert column 2 to lowercase + lc_col2 = tolower($2) + + # Convert column 2 to uppercase + uc_col2 = toupper($2) + + # Write to $XDG_CONFIG_HOME/lf/shortcuts + print "map g" lc_col2 " " $3 > ENVIRON["XDG_CONFIG_HOME"] "/lf/shortcuts" + + # Write to $XDG_CACHE_HOME/zsh-shortcuts + print "alias g" lc_col2 "=\"cd " $3 "\"" > ENVIRON["XDG_CACHE_HOME"] "/zsh-shortcuts" + + # Write to $XDG_CACHE_HOME/env-shortcuts + print "export G" uc_col2 "=\"" $3 "\"" > ENVIRON["XDG_CACHE_HOME"] "/env-shortcuts" + } +} +' XDG_CONFIG_HOME="$XDG_CONFIG_HOME" XDG_CACHE_HOME="$XDG_CACHE_HOME" "$src" diff --git a/.local/bin/shortcutgen.bak b/.local/bin/shortcutgen.bak new file mode 100755 index 0000000..fe5ed75 --- /dev/null +++ b/.local/bin/shortcutgen.bak @@ -0,0 +1,23 @@ +#!/bin/sh + + +# raw (basic processing before converting to specific formats) +# - remove comments +# - remove empty lines +# - remove spacing (keep commas between columns) +# - remove trailing whitespace + +# Strip comments, remove empty lines, condense spacing, remove trailing whitespace +raw="$(sed 's/#.*//g;s/,[[:space:]]*/,/g;/^$/d;s/[[:space:]]*$//g' <"${XDG_CONFIG_HOME:-$HOME/.config}/shortcutrc")" + +# lf (sourced by lfrc) +echo "$raw" | sed 's/\(.*\),\(.*\),\(.*\)/map g\2 cd \3/' >"${XDG_CONFIG_HOME:-$HOME/.config}/lf/shortcuts" + +# Shell aliases (read by zshrc) +echo "$raw" | sed 's/\(.*\),\(.*\),\(.*\)/alias g\2="cd \3"/' >"${XDG_CACHE_HOME:-$HOME/.cache}/zsh-shortcuts" + +# Environment variables (read by .profile) +echo "$raw" | sed 's/^\(.*\),\(.*\),/export G\U\2=,/;s/,\(.*\)/\1/' >"${XDG_CACHE_HOME:-$HOME/.cache}/env-shortcuts" + + + diff --git a/.local/bin/sixprev b/.local/bin/sixprev new file mode 100755 index 0000000..8174f81 --- /dev/null +++ b/.local/bin/sixprev @@ -0,0 +1,9 @@ +#!/bin/sh + +# Check if the file exists +if [ ! -f "$1" ]; then + echo "File not found!" + exit 2 +fi + +convert "$1" -resize 600x sixel:- | cat diff --git a/.local/bin/strm b/.local/bin/strm new file mode 120000 index 0000000..c1a120b --- /dev/null +++ b/.local/bin/strm @@ -0,0 +1 @@ +/home/master/.local/src/strm/strm
\ No newline at end of file diff --git a/.local/bin/winit b/.local/bin/winit new file mode 100755 index 0000000..1fd2d9e --- /dev/null +++ b/.local/bin/winit @@ -0,0 +1,6 @@ +#!/bin/sh + +# winit: Wayland Init (using dwl) + +dwl & +swaybg -i ~/.config/wallpaper/default.jpg & diff --git a/.local/bin/wstart b/.local/bin/wstart new file mode 100755 index 0000000..9cc99d6 --- /dev/null +++ b/.local/bin/wstart @@ -0,0 +1,12 @@ +#!/bin/sh + +repo="$(echo "$1" | sed 's/\.git//;s/.*\///;')" + +git clone "$1" "$repo/repo" + +cd "$repo/repo" + +# Get the main/master branch upstream from the cloned repo +master="$(git branch --show-curent)" + +cd .. && mv repo "$master" |