#!/bin/sh # # BOOKMARK # bookmarks="$HOME/documents/bookmarks" browser=librewolf # Add a bookmark if [ "$1" = "add" ]; then # Get URL from browser wlrctl window focus $browser || exit 1 wtype -M ctrl l -m ctrl wtype -M ctrl c -m ctrl sleep 0.5 link=$(wl-paste --primary) # Check if bookmark exists if grep "$link" "$bookmarks"; then notify-send "Bookmark already exists!" exit 1 fi # Prompt for link confirmation addbookmark=$(printf "Yes\nNo" | bemenu -p "Add '$link' to bookmarks?" --auto-select) # Description if [ "$addbookmark" = "Yes" ]; then description=$(: | bemenu -p "Enter a description: ") [ -z "$description" ] && exit 1 printf "# %s\n%s\n" "$description" "$link" >> "$bookmarks" \ && notify-send "Bookmark Added" "$link" fi exit fi # Get Bookmark info description=$(sed 's/# //' "$bookmarks" | sed -n 'p;n' | bemenu -p 'Select a Bookmark') [ -z "$description" ] && exit 1 link=$(sed -n "/^# $description$/{n;p}" "$bookmarks") [ -z "$link" ] && exit 1 # Perform an action on a bookmark case "$(printf 'Open\nCopy\nType\nPlay' | bemenu -p 'Bookmark action')" in "Open") wlrctl window focus $browser "$browser" "$link" ;; "Copy") wl-copy -on "$link" notify-send "Bookmark Copied" "$description" ;; "Type") echo "$link" | wtype - ;; "Play") mpv "$link" ;; *) exit ;; esac