diff --git a/applications/.local/share/applications/custom/Leapp.desktop b/applications/.local/share/applications/custom/Leapp.desktop index a2850c2..9922994 100755 --- a/applications/.local/share/applications/custom/Leapp.desktop +++ b/applications/.local/share/applications/custom/Leapp.desktop @@ -4,7 +4,7 @@ Type=Application Terminal=false Name=Leapp GenericName=AWS Profile Manager -Exec=/home/forbi/.bin/leapp.sh +Exec=/home/forbi/.local/bin/leapp.sh Categories=IDE;Development StartupWMClass=Leapp StartupNotify=true diff --git a/applications/.local/share/applications/custom/Lens.desktop b/applications/.local/share/applications/custom/Lens.desktop index 6701f11..f7daa3d 100644 --- a/applications/.local/share/applications/custom/Lens.desktop +++ b/applications/.local/share/applications/custom/Lens.desktop @@ -4,7 +4,7 @@ Name=Lens GenericName=Kubernetes IDE Comment=The Kubernetes IDE Icon=/home/forbi/.local/share/applications/custom/lens.png -Exec=/home/forbi/.bin/openlens %U +Exec=/home/forbi/.local/bin/openlens.sh %U Categories=System; StartupNotify=true StartupWMClass=Lens diff --git a/applications/.local/share/applications/custom/NoSQL.desktop b/applications/.local/share/applications/custom/NoSQL.desktop index 24db2ec..331dd12 100755 --- a/applications/.local/share/applications/custom/NoSQL.desktop +++ b/applications/.local/share/applications/custom/NoSQL.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Encoding=UTF-8 Name=NoSQL Booster -Exec=/home/forbi/.bin/nosql.sh +Exec=/home/forbi/.local/bin/nosql.sh Icon=~/.local/share/applications/custom/mongo.png Version=1.0 Type=Application diff --git a/applications/.local/share/applications/custom/Recorder.desktop b/applications/.local/share/applications/custom/Recorder.desktop index 906b2c4..1fb6764 100755 --- a/applications/.local/share/applications/custom/Recorder.desktop +++ b/applications/.local/share/applications/custom/Recorder.desktop @@ -4,7 +4,7 @@ Type=Application Terminal=false Name=Screen Recorder GenericName=Screen Recorder -Exec= /home/forbi/.bin/wlrecord.sh -s +Exec= /home/forbi/.local/bin/wlrecord.sh -s Categories=Utility;Application; StartupWMClass=Screen Recorder StartupNotify=true diff --git a/applications/.local/share/applications/custom/Redis.desktop b/applications/.local/share/applications/custom/Redis.desktop index 56298d1..b680d4f 100755 --- a/applications/.local/share/applications/custom/Redis.desktop +++ b/applications/.local/share/applications/custom/Redis.desktop @@ -3,8 +3,8 @@ Version=1.0 Type=Application Terminal=false Name=Redis -GenericName=Redis Viewer -Exec=/home/forbi/.bin/redis.sh +GenericName=Redis Viewer +Exec=/home/forbi/.local/bin/redis.sh Categories=IDE;Development StartupWMClass=Redis StartupNotify=true diff --git a/bin/.bin/leapp.sh b/bin/.bin/leapp.sh deleted file mode 100755 index 806ef09..0000000 --- a/bin/.bin/leapp.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -bin=~/.bin/leapp -latest_version_url="https://api.github.com/repos/noovolari/leapp/releases/latest" - -# Function to compare version numbers -function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } - -# If leapp binary is not found or if there is a newer version, download it -if [ ! -f $bin ] || version_gt "$(curl -s $latest_version_url | grep -oP '"tag_name": "\K(.*)(?=")')" "$(basename $bin | grep -oP '\d+\.\d+\.\d+')"; then - notify-send -u normal "⏬ Leapp" "Checking for updates..." - url="https://asset.noovolari.com/latest/Leapp-appImage.zip" - wget -q -O /tmp/leapp.AppImage "$url" - unzip /tmp/leapp.AppImage -d /tmp - mv /tmp/release/Leapp* $bin - chmod +x $bin -fi - -# Execute leapp -$bin -f -i $1 -o $2 diff --git a/bin/.bin/nosql.sh b/bin/.bin/nosql.sh deleted file mode 100755 index f4cdd16..0000000 --- a/bin/.bin/nosql.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -bin=$HOME/.bin/nosql - -# if nosql binary is not found, download it -if [ ! -f $bin ]; then - echo "Downloading NoSql binary..." - url="https://s3.nosqlbooster.com/download/releasesv7/nosqlbooster4mongo-7.1.17.AppImage" - wget -q -O $bin $url - chmod +x $bin -fi - -# execute leapp -$bin diff --git a/bin/.bin/openlens.sh b/bin/.bin/openlens.sh deleted file mode 100755 index f445518..0000000 --- a/bin/.bin/openlens.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -bin=~/.bin/openlens - -repo=MuhammedKalkan/OpenLens -# if redis binary is not found, download it -if [ ! -f $bin ]; then - echo "Downloading openlens binary..." - filename=$(curl -s https://api.github.com/repos/$repo/releases/latest | jq -r '.assets[].name' | grep "x86_64.AppImage$") - fileurl=$(curl -s https://api.github.com/repos/$repo/releases/latest | jq -r --arg filename $filename '.assets[] | select(.name == $filename) | .browser_download_url') - wget -q -O $bin $fileurl - chmod +x $bin -fi - -# execute leapp -$bin -f -i $1 -o $2 diff --git a/bin/.bin/redis.sh b/bin/.bin/redis.sh deleted file mode 100755 index 3c5274e..0000000 --- a/bin/.bin/redis.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -# Define paths -bin_dir=~/.bin -bin_file="${bin_dir}/redis" - -# Create directory if it doesn't exist -mkdir -p "${bin_dir}" - -# Set current working directory -cd "${bin_dir}" - -if [ ! -f "${bin_file}" ]; then - notify-send -u normal "⏬ Redis Desktop Manager" "Downloading..." - - # Get latest release info and parse with proper JSON handling - release_info=$(curl -s https://api.github.com/repos/qishibo/AnotherRedisDesktopManager/releases/latest) - - # Determine system architecture - arch=$(uname -m) - if [ "${arch}" = "x86_64" ]; then - arch_pattern="x86_64" - elif [ "${arch}" = "aarch64" ]; then - arch_pattern="arm64" - else - echo "Unsupported architecture: ${arch}" - exit 1 - fi - - # Find appropriate AppImage for this architecture - filename=$(echo "${release_info}" | jq -r ".assets[].name" | grep "AppImage" | grep "${arch_pattern}") - echo "Selected filename: ${filename}" - - # Get download URL - fileurl=$(echo "${release_info}" | jq -r --arg filename "${filename}" '.assets[] | select(.name == $filename) | .browser_download_url') - echo "Download URL: ${fileurl}" - - # Download and make executable - if [ -n "${fileurl}" ] && [ "${fileurl}" != "null" ]; then - wget -q --show-progress -O "${bin_file}" "${fileurl}" - chmod +x "${bin_file}" - echo "Successfully downloaded Redis Desktop Manager" - else - echo "Failed to find download URL for architecture: ${arch}" - exit 1 - fi -fi - -# Execute with parameters if provided -"${bin_file}" -f ${1:+"-i"} ${1:+"$1"} ${2:+"-o"} ${2:+"$2"} diff --git a/bin/.bin/sm.sh b/bin/.bin/sm.sh deleted file mode 100755 index f3f575d..0000000 --- a/bin/.bin/sm.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -URL=$(curl https://www.sublimemerge.com/download_thanks?target=x64-tar#direct-downloads | grep -oP 'https://download.sublimetext.com/sublime_merge_build_\d+_x64.tar.xz' | head -n 1) -VERSION=$(echo $URL | grep -oP '\d+' | head -n 1) -FILENAME=sublime_merge_build_"$VERSION"_x64.tar.xz -bin=~/.bin/sm - -# set current working directory to ~/.bin -cd ~/.bin - -# if FILENAME exists, then exit -if [ ! -f $FILENAME ]; then - notify-send -u normal "⏬ Sublime Merge" "Updating to version $VERSION" - # wget only if file does not exist - wget -nc $URL - tar -xvf $FILENAME -fi - -if [ ! -f $bin ]; then - ln -fs $PWD/sublime_merge/sublime_merge $bin -fi - -# run sm -$bin diff --git a/bin/.bin/base16-rose-pine-scheme.sh b/local-bin/.local/bin/base16-rose-pine-scheme.sh similarity index 100% rename from bin/.bin/base16-rose-pine-scheme.sh rename to local-bin/.local/bin/base16-rose-pine-scheme.sh diff --git a/bin/.bin/code.sh b/local-bin/.local/bin/code.sh similarity index 62% rename from bin/.bin/code.sh rename to local-bin/.local/bin/code.sh index efcd8a8..47f5373 100755 --- a/bin/.bin/code.sh +++ b/local-bin/.local/bin/code.sh @@ -1,15 +1,16 @@ #!/bin/bash MODULE_URL="mzunino.com.uy/go/code" BINARY_NAME="code" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" -TARGET_DIR="$HOME/.bin" -CODE_PATH="$TARGET_DIR/$BINARY_NAME" -if [ ! -x "$CODE_PATH" ]; then - notify-send "Installing $BINARY_NAME" "Installing from $MODULE_URL..." +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Installing from $MODULE_URL..." GO111MODULE=on GOBIN="$TARGET_DIR" go install "$MODULE_URL@latest" || { notify-send -u critical "Installation Failed" "Failed to install $BINARY_NAME from $MODULE_URL" exit 1 } notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" fi -exec "$CODE_PATH" "$@" + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/fix-git.sh b/local-bin/.local/bin/fix-git.sh similarity index 100% rename from bin/.bin/fix-git.sh rename to local-bin/.local/bin/fix-git.sh diff --git a/bin/.bin/fuzzel.lua b/local-bin/.local/bin/fuzzel.lua similarity index 100% rename from bin/.bin/fuzzel.lua rename to local-bin/.local/bin/fuzzel.lua diff --git a/bin/.bin/goq.sh b/local-bin/.local/bin/goq.sh similarity index 62% rename from bin/.bin/goq.sh rename to local-bin/.local/bin/goq.sh index f875e71..ae1e440 100755 --- a/bin/.bin/goq.sh +++ b/local-bin/.local/bin/goq.sh @@ -1,15 +1,16 @@ #!/bin/bash MODULE_URL="github.com/marianozunino/goq" BINARY_NAME="goq" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" -TARGET_DIR="$HOME/.bin" -CODE_PATH="$TARGET_DIR/$BINARY_NAME" -if [ ! -x "$CODE_PATH" ]; then - notify-send "Installing $BINARY_NAME" "Installing from $MODULE_URL..." +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Installing from $MODULE_URL..." GO111MODULE=on GOBIN="$TARGET_DIR" go install "$MODULE_URL@latest" || { notify-send -u critical "Installation Failed" "Failed to install $BINARY_NAME from $MODULE_URL" exit 1 } notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" fi -exec "$CODE_PATH" "$@" + +exec "$BINARY_PATH" "$@" diff --git a/local-bin/.local/bin/leapp.sh b/local-bin/.local/bin/leapp.sh new file mode 100755 index 0000000..d9a61f9 --- /dev/null +++ b/local-bin/.local/bin/leapp.sh @@ -0,0 +1,27 @@ +#!/bin/bash +REPO="noovolari/leapp" +BINARY_NAME="leapp" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" +DOWNLOAD_URL="https://asset.noovolari.com/latest/Leapp-appImage.zip" + +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Downloading from $REPO..." + + mkdir -p "$TARGET_DIR" + + wget -q -O /tmp/leapp.zip "$DOWNLOAD_URL" || { + notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME from $REPO" + exit 1 + } + + unzip -q /tmp/leapp.zip -d /tmp/leapp_extract + find /tmp/leapp_extract -name "Leapp*" -type f | head -1 | xargs -I {} mv {} "$BINARY_PATH" + chmod +x "$BINARY_PATH" + + rm -rf /tmp/leapp.zip /tmp/leapp_extract + + notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" +fi + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/lock.sh b/local-bin/.local/bin/lock.sh similarity index 100% rename from bin/.bin/lock.sh rename to local-bin/.local/bin/lock.sh diff --git a/local-bin/.local/bin/nosql.sh b/local-bin/.local/bin/nosql.sh new file mode 100755 index 0000000..212f0d2 --- /dev/null +++ b/local-bin/.local/bin/nosql.sh @@ -0,0 +1,22 @@ +#!/bin/bash +BINARY_NAME="nosql" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" +DOWNLOAD_URL="https://s3.nosqlbooster.com/download/releasesv7/nosqlbooster4mongo-7.1.17.AppImage" + +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Downloading NoSQL Booster..." + + mkdir -p "$TARGET_DIR" + + wget -q -O "$BINARY_PATH" "$DOWNLOAD_URL" || { + notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME" + exit 1 + } + + chmod +x "$BINARY_PATH" + + notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" +fi + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/obsidian-launcher b/local-bin/.local/bin/obsidian-launcher similarity index 100% rename from bin/.bin/obsidian-launcher rename to local-bin/.local/bin/obsidian-launcher diff --git a/local-bin/.local/bin/openlens.sh b/local-bin/.local/bin/openlens.sh new file mode 100755 index 0000000..0ad43cd --- /dev/null +++ b/local-bin/.local/bin/openlens.sh @@ -0,0 +1,26 @@ +#!/bin/bash +REPO="MuhammedKalkan/OpenLens" +BINARY_NAME="openlens" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" + +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Downloading from GitHub repository $REPO..." + + mkdir -p "$TARGET_DIR" + + arch=$(uname -m) + filename=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r '.assets[].name' | grep "${arch}.AppImage$") + fileurl=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r --arg filename "$filename" '.assets[] | select(.name == $filename) | .browser_download_url') + + wget -q -O "$BINARY_PATH" "$fileurl" || { + notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME from $REPO" + exit 1 + } + + chmod +x "$BINARY_PATH" + + notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" +fi + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/randwall b/local-bin/.local/bin/randwall similarity index 100% rename from bin/.bin/randwall rename to local-bin/.local/bin/randwall diff --git a/local-bin/.local/bin/redis.sh b/local-bin/.local/bin/redis.sh new file mode 100755 index 0000000..1e397c1 --- /dev/null +++ b/local-bin/.local/bin/redis.sh @@ -0,0 +1,26 @@ +#!/bin/bash +REPO="qishibo/AnotherRedisDesktopManager" +BINARY_NAME="redis" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" + +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Downloading from GitHub repository $REPO..." + + mkdir -p "$TARGET_DIR" + + arch=$(uname -m) + filename=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r '.assets[].name' | grep "AppImage" | grep "$arch") + fileurl=$(curl -s "https://api.github.com/repos/$REPO/releases/latest" | jq -r --arg filename "$filename" '.assets[] | select(.name == $filename) | .browser_download_url') + + wget -q -O "$BINARY_PATH" "$fileurl" || { + notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME from $REPO" + exit 1 + } + + chmod +x "$BINARY_PATH" + + notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" +fi + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/rop.sh b/local-bin/.local/bin/rop.sh similarity index 54% rename from bin/.bin/rop.sh rename to local-bin/.local/bin/rop.sh index 1c7a763..5b80c1b 100755 --- a/bin/.bin/rop.sh +++ b/local-bin/.local/bin/rop.sh @@ -1,15 +1,16 @@ #!/bin/bash -GO_PACKAGE="github.com/marianozunino/rop" +MODULE_URL="github.com/marianozunino/rop" BINARY_NAME="rop" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" -TARGET_DIR="$HOME/.bin" -CODE_PATH="$TARGET_DIR/$BINARY_NAME" -if [ ! -x "$CODE_PATH" ]; then - notify-send "Installing $BINARY_NAME" "Installing from $MODULE_URL..." +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Installing from $MODULE_URL..." GO111MODULE=on GOBIN="$TARGET_DIR" go install "$MODULE_URL@latest" || { notify-send -u critical "Installation Failed" "Failed to install $BINARY_NAME from $MODULE_URL" exit 1 } notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" fi -exec "$CODE_PATH" "$@" + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/screenshot-upload b/local-bin/.local/bin/screenshot-upload similarity index 100% rename from bin/.bin/screenshot-upload rename to local-bin/.local/bin/screenshot-upload diff --git a/bin/.bin/sdm-ui.sh b/local-bin/.local/bin/sdm-ui.sh similarity index 62% rename from bin/.bin/sdm-ui.sh rename to local-bin/.local/bin/sdm-ui.sh index 7842e8c..b0457c6 100755 --- a/bin/.bin/sdm-ui.sh +++ b/local-bin/.local/bin/sdm-ui.sh @@ -1,15 +1,16 @@ #!/bin/bash MODULE_URL="github.com/marianozunino/sdm-ui" BINARY_NAME="sdm-ui" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" -TARGET_DIR="$HOME/.bin" -CODE_PATH="$TARGET_DIR/$BINARY_NAME" -if [ ! -x "$CODE_PATH" ]; then - notify-send "Installing $BINARY_NAME" "Installing from $MODULE_URL..." +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Installing from $MODULE_URL..." GO111MODULE=on GOBIN="$TARGET_DIR" go install "$MODULE_URL@latest" || { notify-send -u critical "Installation Failed" "Failed to install $BINARY_NAME from $MODULE_URL" exit 1 } notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" fi -exec "$CODE_PATH" "$@" + +exec "$BINARY_PATH" "$@" diff --git a/local-bin/.local/bin/sm.sh b/local-bin/.local/bin/sm.sh new file mode 100755 index 0000000..bfcfb9a --- /dev/null +++ b/local-bin/.local/bin/sm.sh @@ -0,0 +1,34 @@ +#!/bin/bash +BINARY_NAME="sm" +TARGET_DIR="$HOME/.local/bin" +BINARY_PATH="$TARGET_DIR/$BINARY_NAME" +SUBLIME_DIR="$TARGET_DIR/sublime_merge" + +if [ ! -x "$BINARY_PATH" ]; then + notify-send "📦 Installing $BINARY_NAME" "Downloading Sublime Merge..." + + mkdir -p "$TARGET_DIR" + + URL=$(curl -s "https://www.sublimemerge.com/download_thanks?target=x64-tar" | grep -oP 'https://download.sublimetext.com/sublime_merge_build_\d+_x64.tar.xz' | head -n 1) + VERSION=$(echo "$URL" | grep -oP '\d+' | head -n 1) + FILENAME="sublime_merge_build_${VERSION}_x64.tar.xz" + + cd "$TARGET_DIR" + + if [ ! -f "$FILENAME" ]; then + wget -q "$URL" || { + notify-send -u critical "Installation Failed" "Failed to download $BINARY_NAME" + exit 1 + } + + tar -xf "$FILENAME" + fi + + if [ ! -f "$BINARY_PATH" ]; then + ln -s "$SUBLIME_DIR/sublime_merge" "$BINARY_PATH" + fi + + notify-send "Installation Complete" "$BINARY_NAME has been installed successfully" +fi + +exec "$BINARY_PATH" "$@" diff --git a/bin/.bin/vmrss b/local-bin/.local/bin/vmrss similarity index 100% rename from bin/.bin/vmrss rename to local-bin/.local/bin/vmrss diff --git a/bin/.bin/waybar.sh b/local-bin/.local/bin/waybar.sh similarity index 100% rename from bin/.bin/waybar.sh rename to local-bin/.local/bin/waybar.sh diff --git a/bin/.bin/wlrecord.sh b/local-bin/.local/bin/wlrecord.sh similarity index 100% rename from bin/.bin/wlrecord.sh rename to local-bin/.local/bin/wlrecord.sh diff --git a/sway/.config/sway/config.d/keybindings b/sway/.config/sway/config.d/keybindings index 1685666..d4affa1 100644 --- a/sway/.config/sway/config.d/keybindings +++ b/sway/.config/sway/config.d/keybindings @@ -3,7 +3,7 @@ bindsym { $mod+Shift+r exec swaymsg reload && notify-send "Reloaded sway config" $mod+Shift+e exec --no-startup-id wlogout - $mod+Escape exec ~/.bin/lock.sh + $mod+Escape exec ~/.local/bin/lock.sh } # Gestures @@ -16,9 +16,9 @@ bindgesture swipe:down workspace prev bindsym { $mod+Return exec $term $mod+d exec rofi -show combi -combi-modi "window,drun" -modi combi - $mod+t exec ~/.bin/code.sh -s ~/.bin/fuzzel.lua - $mod+shift+t exec ~/.bin/present - $mod+n exec ~/.bin/sdm-ui.sh dmenu + $mod+t exec ~/.local/bin/code.sh -s ~/.bin/fuzzel.lua + $mod+shift+t exec ~/.local/bin/present + $mod+n exec ~/.local/bin/sdm-ui.sh dmenu $mod+o exec ~/.local/bin/launch-or-focus obsidian "cd /home/forbi/Documents/Vault && $term --class obsidian nvim" $mod+e exec nemo } @@ -96,10 +96,10 @@ bindsym { # Special Functions bindsym { F4 exec switch-windows - $mod+r exec --no-startup-id ~/.bin/wlrecord.sh + $mod+r exec --no-startup-id ~/.local/bin/wlrecord.sh $mod+p exec --no-startup-id grim -g "$(slurp -d)" - | swappy -f - - $mod+shift+p exec --no-startup-id ~/.bin/screenshot-upload - $mod+F5 exec --no-startup-id ~/.bin/pause-notifications + $mod+shift+p exec --no-startup-id ~/.local/bin/screenshot-upload + $mod+F5 exec --no-startup-id ~/.local/bin/pause-notifications $mod+shift+d exec ~/.local/bin/satty-window }