From b98ba405faf3efc8d6bdf0470ca02c968888c9fc Mon Sep 17 00:00:00 2001 From: coast Date: Mon, 11 Aug 2025 00:47:47 +0330 Subject: [PATCH] suicide --- dmenu/config.h | 8 +- dmenu/dmenu | Bin 0 -> 42456 bytes dmenu/dmenu.o | Bin 0 -> 36280 bytes dmenu/drw.o | Bin 0 -> 11464 bytes dmenu/stest | Bin 0 -> 16288 bytes dmenu/stest.o | Bin 0 -> 5344 bytes dmenu/util.o | Bin 0 -> 2472 bytes local/bin/brwmenu | 195 +++++++++++++++++++++++++--------------------- 8 files changed, 111 insertions(+), 92 deletions(-) create mode 100755 dmenu/dmenu create mode 100644 dmenu/dmenu.o create mode 100644 dmenu/drw.o create mode 100755 dmenu/stest create mode 100644 dmenu/stest.o create mode 100644 dmenu/util.o diff --git a/dmenu/config.h b/dmenu/config.h index de78b06..d79a598 100644 --- a/dmenu/config.h +++ b/dmenu/config.h @@ -6,14 +6,14 @@ static int topbar = 1; /* -b option; if 0, dmenu appears a static const int user_bh = 0; /* add an defined amount of pixels to the bar height */ static const char *fonts[] = { - "monospace:size=13" + "Departure Mono:size=13" }; static const char *prompt = NULL; /* -p option; prompt to the left of input field */ static const char *colors[SchemeLast][2] = { /* fg bg */ - [SchemeNorm] = { "#cccccc", "#000000" }, // normal: grey text on black - [SchemeSel] = { "#000000", "#ffffff" }, // selected: black text on white - [SchemeOut] = { "#000000", "#00ffff" }, // optional: match previous Out + [SchemeNorm] = { "#a8dcee", "#000000" }, // text #a8dcee on black background +[SchemeSel] = { "#000000", "#a8dcee" }, // text black on #a8dcee background +[SchemeOut] = { "#000000", "#a8dcee" }, // text black on #a8dcee background (optional) }; /* -l option; if nonzero, dmenu uses vertical list with given number of lines */ static unsigned int lines = 0; diff --git a/dmenu/dmenu b/dmenu/dmenu new file mode 100755 index 0000000000000000000000000000000000000000..794fea47a3d7f0f80c18197b54e6d109fefa7c52 GIT binary patch literal 42456 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 literal 0 HcmV?d00001 diff --git a/dmenu/dmenu.o b/dmenu/dmenu.o new file mode 100644 index 0000000000000000000000000000000000000000..1e2a4c18227d6e7e23f901ab7046ef16e6c5c6fe GIT binary patch literal 36280 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 Gr~h9DDZq5m0~M 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 TbCK}Az4Z=B(Roci-Q)ikvLk1R literal 0 HcmV?d00001 diff --git a/dmenu/stest b/dmenu/stest new file mode 100755 index 0000000000000000000000000000000000000000..344348c8b4475cfa76e784684ed48abf70241fb0 GIT binary patch literal 16288 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 literal 0 HcmV?d00001 diff --git a/local/bin/brwmenu b/local/bin/brwmenu index 1d27bb0..11628eb 100755 --- a/local/bin/brwmenu +++ b/local/bin/brwmenu @@ -1,99 +1,118 @@ -#!/usr/bin/env python3 -import subprocess -import sys -import shutil -import urllib.parse -import os +#!/bin/sh -DMENU_OPTS = ["-i", "-fn", "monospace:size=12", "-nb", "#151515", "-nf", "#bbbbbb", "-sb", "#005577", "-sf", "#eeeeee"] -BROWSER = "firefox" -NOTIFIER = "notify-send" +WMENU="wmenu" +DMENU="dmenu" +BROWSER="firefox-bin" +NOTIFY="notify-send" -CHOICES = [ - "Paulgo", "URL", "Incognito URL", "YouTube", "Codeberg", "Tildegit", "IPLeak", "Safebooru", "Wikipedia" -] +CHOICES="Paulgo +URL +Incognito URL +YouTube +Codeberg +Tildegit +IPLeak +Safebooru +Wikipedia" -def notify(title, message): - subprocess.run([NOTIFIER, title, message], stderr=subprocess.DEVNULL) +notify() { + "$NOTIFY" "$1" "$2" 2>/dev/null +} -def run_dmenu(prompt, options=None): - cmd = ["dmenu", *DMENU_OPTS, "-p", prompt] - stdin = "\n".join(options) if options else None - proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, text=True) - out, _ = proc.communicate(stdin) - return out.strip() +run_wmenu() { + printf '%s\n' "$1" | $WMENU -p "$2" +} -def get_input(prompt, prefix=""): - text = run_dmenu(prompt) - if not text: - notify("Error", "No input provided") - sys.exit(1) - return prefix + urllib.parse.quote_plus(text) +run_dmenu() { + printf '' | $DMENU -p "$1" +} -def is_browser_running(): - try: - proc = subprocess.Popen(["pgrep", "-f", BROWSER], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - proc.communicate() - return proc.returncode == 0 - except: - return False +urlencode() { + python3 -c "import sys, urllib.parse as ul; print(ul.quote_plus(sys.argv[1]))" "$1" +} -def open_url(url): - try: - if is_browser_running(): - subprocess.Popen([BROWSER, ":open", "-t", url]) - else: - subprocess.Popen([BROWSER, url]) - except Exception as e: - notify("Error", f"Failed to open browser: {url}\n{e}") - sys.exit(1) +open_url() { + url="$1" + if pgrep -x "$BROWSER" >/dev/null; then + "$BROWSER" --new-tab "$url" & + else + "$BROWSER" "$url" & + fi +} -def search_with_paulgio(query): - return f"https://paulgo.io/search?q={urllib.parse.quote_plus(query)}" +main() { + choice=$(run_wmenu "$CHOICES" "Where to?") + [ -z "$choice" ] && notify "Error" "No selection made" && exit 1 -def main(): - choice = run_dmenu("Where to?", CHOICES) - if not choice: - notify("Error", "No selection made") - sys.exit(1) - elif choice == "Codeberg": - open_url(get_input("Username & repo:", "https://codeberg.org/")) - elif choice == "Tildegit": - open_url(get_input("Username & repo:", "https://tildegit.org/")) - elif choice == "IPLeak": - open_url("https://ipleak.net") - elif choice == "Paulgo": - open_url(search_with_paulgio(get_input("Search Paulgo:"))) - elif choice == "Wikipedia": - open_url("https://en.wikipedia.org/wiki/Special:Search?search=" + get_input("Search Wikipedia:")) - elif choice == "URL": - url = run_dmenu("Enter URL:") - if not url: - notify("Error", "No URL entered") - sys.exit(1) - if not url.startswith("http"): - url = "https://" + url - open_url(url) - elif choice == "Incognito URL": - url = run_dmenu("Enter incognito URL:") - if not url: - notify("Error", "No URL entered") - sys.exit(1) - if not url.startswith("http"): - url = "https://" + url - subprocess.Popen(["brave-bin", "--incognito", url]) - elif choice == "YouTube": - open_url("https://youtube.com/results?search_query=" + get_input("Search YouTube:")) - elif choice == "Safebooru": - open_url("https://safebooru.org/index.php?page=post&s=list&tags=" + get_input("Search Safebooru:")) - else: - notify("Error", f"Invalid selection: {choice}") - sys.exit(1) + case "$choice" in + Codeberg) + repo=$(run_dmenu "Username & repo (user/repo):") + [ -z "$repo" ] && notify "Error" "No input" && exit 1 + open_url "https://codeberg.org/$repo" + ;; + Tildegit) + repo=$(run_dmenu "Username & repo (user/repo):") + [ -z "$repo" ] && notify "Error" "No input" && exit 1 + open_url "https://tildegit.org/$repo" + ;; + IPLeak) + open_url "https://ipleak.net" + ;; + Paulgo) + query=$(run_dmenu "Search Paulgo:") + [ -z "$query" ] && notify "Error" "No input" && exit 1 + qenc=$(urlencode "$query") + open_url "https://paulgo.io/search?q=$qenc" + ;; + Wikipedia) + query=$(run_dmenu "Search Wikipedia:") + [ -z "$query" ] && notify "Error" "No input" && exit 1 + qenc=$(urlencode "$query") + open_url "https://en.wikipedia.org/wiki/Special:Search?search=$qenc" + ;; + URL) + url=$(run_dmenu "Enter URL:") + [ -z "$url" ] && notify "Error" "No URL entered" && exit 1 + case "$url" in + http*) ;; + *) url="https://$url" ;; + esac + open_url "$url" + ;; + "Incognito URL") + url=$(run_dmenu "Enter incognito URL:") + [ -z "$url" ] && notify "Error" "No URL entered" && exit 1 + case "$url" in + http*) ;; + *) url="https://$url" ;; + esac + "$BROWSER" --private-window "$url" & + ;; + YouTube) + query=$(run_dmenu "Search YouTube:") + [ -z "$query" ] && notify "Error" "No input" && exit 1 + qenc=$(urlencode "$query") + open_url "https://youtube.com/results?search_query=$qenc" + ;; + Safebooru) + query=$(run_dmenu "Search Safebooru:") + [ -z "$query" ] && notify "Error" "No input" && exit 1 + qenc=$(urlencode "$query") + open_url "https://safebooru.org/index.php?page=post&s=list&tags=$qenc" + ;; + *) + notify "Error" "Invalid selection: $choice" + exit 1 + ;; + esac +} -if __name__ == "__main__": - for cmd in ["dmenu", BROWSER]: - if shutil.which(cmd) is None: - print(f"Error: Required command '{cmd}' not found", file=sys.stderr) - sys.exit(1) - main() +for cmd in "$WMENU" "$DMENU" "$BROWSER" "$NOTIFY"; do + if ! command -v "$cmd" >/dev/null 2>&1; then + echo "Error: required command '$cmd' not found" >&2 + exit 1 + fi +done + +main