diff options
Diffstat (limited to 'dmenu_raycast')
| -rwxr-xr-x | dmenu_raycast | 17 |
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}" |
