mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-05 23:09:27 -05:00
shell: no duplicate + daemon option
This commit is contained in:
@@ -25,6 +25,7 @@ complete -c caelestia -n $not_seen -a 'pip' -d 'Picture in picture utilities'
|
|||||||
# Shell
|
# Shell
|
||||||
set -l commands mpris drawers wallpaper notifs
|
set -l commands mpris drawers wallpaper notifs
|
||||||
set -l not_seen "$seen shell && not $seen $commands"
|
set -l not_seen "$seen shell && not $seen $commands"
|
||||||
|
complete -c caelestia -n $not_seen -s 'd' -l 'daemon' -d 'Start the shell detached'
|
||||||
complete -c caelestia -n $not_seen -s 's' -l 'show' -d 'Print all IPC commands'
|
complete -c caelestia -n $not_seen -s 's' -l 'show' -d 'Print all IPC commands'
|
||||||
complete -c caelestia -n $not_seen -s 'l' -l 'log' -d 'Print the shell log'
|
complete -c caelestia -n $not_seen -s 'l' -l 'log' -d 'Print the shell log'
|
||||||
complete -c caelestia -n $not_seen -a 'mpris' -d 'Mpris control'
|
complete -c caelestia -n $not_seen -a 'mpris' -d 'Mpris control'
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace):
|
|||||||
shell_parser = command_parser.add_parser("shell", help="start or message the shell")
|
shell_parser = command_parser.add_parser("shell", help="start or message the shell")
|
||||||
shell_parser.set_defaults(cls=shell.Command)
|
shell_parser.set_defaults(cls=shell.Command)
|
||||||
shell_parser.add_argument("message", nargs="*", help="a message to send to the shell")
|
shell_parser.add_argument("message", nargs="*", help="a message to send to the shell")
|
||||||
|
shell_parser.add_argument("-d", "--daemon", action="store_true", help="start the shell detached")
|
||||||
shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands")
|
shell_parser.add_argument("-s", "--show", action="store_true", help="print all shell IPC commands")
|
||||||
shell_parser.add_argument(
|
shell_parser.add_argument(
|
||||||
"-l",
|
"-l",
|
||||||
|
|||||||
@@ -20,7 +20,10 @@ class Command:
|
|||||||
self.message(*self.args.message)
|
self.message(*self.args.message)
|
||||||
else:
|
else:
|
||||||
# Start the shell
|
# Start the shell
|
||||||
subprocess.Popen(["qs", "-c", "caelestia"]).wait()
|
args = ["qs", "-n", "-c", "caelestia"]
|
||||||
|
if self.args.daemon:
|
||||||
|
args.append("-d")
|
||||||
|
subprocess.run(args)
|
||||||
|
|
||||||
def shell(self, *args: list[str]) -> str:
|
def shell(self, *args: list[str]) -> str:
|
||||||
return subprocess.check_output(["qs", "-c", "caelestia", *args], text=True)
|
return subprocess.check_output(["qs", "-c", "caelestia", *args], text=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user