summaryrefslogtreecommitdiff
path: root/dmenu_raycast
diff options
context:
space:
mode:
Diffstat (limited to 'dmenu_raycast')
-rwxr-xr-xdmenu_raycast17
1 files changed, 16 insertions, 1 deletions
diff --git a/dmenu_raycast b/dmenu_raycast
index 8e91f55..219b2ec 100755
--- a/dmenu_raycast
+++ b/dmenu_raycast
@@ -4,12 +4,24 @@ import sys
import subprocess
from urllib.parse import urlencode, quote
import socket
+import argparse
+
+from argparse import RawDescriptionHelpFormatter
EXTENSION = "irth/dmenu"
COMMAND = "index"
-elements = list(sys.stdin)
+parser = argparse.ArgumentParser(
+ prog='raycast_dmenu',
+ description="""dmenu-like raycast extension
+
+Provide option list as stdin, the stdout will contain the chosen option.
+If no option was chosen, the program will exit with the return code set to 1.""", formatter_class=RawDescriptionHelpFormatter)
+parser.add_argument('-p', '--prompt', help='search bar placeholder text')
+args = parser.parse_args()
+
+elements = list(sys.stdin)
server = socket.socket()
server.bind(("127.0.0.1", 0))
@@ -22,6 +34,9 @@ arguments = {
"port": str(port),
}
+if args.prompt is not None:
+ arguments["prompt"]=args.prompt
+
query = urlencode({"arguments": json.dumps(arguments)}, quote_via=quote)
url = f"raycast://extensions/{EXTENSION}/{COMMAND}?{query}"