@@ -70,19 +70,31 @@ static bool _nonnull_ should_enable(struct config *cfg, const char *mode_str) {
7070int main (int argc , char * argv []) {
7171 _drop_ (config_free ) struct config cfg = setup ("clipctl" );
7272 exec_man_on_help (argc , argv );
73- die_on (argc != 2 , "Usage: clipctl <enable|disable|toggle|status>\n" );
73+ die_on (argc != 2 ,
74+ "Usage: clipctl <enable|disable|toggle|status|version|cache-dir>\n" );
75+
76+ const char * cmd = argv [1 ];
77+
78+ if (streq (cmd , "cache-dir" )) {
79+ printf ("%s\n" , get_cache_dir (& cfg ));
80+ return 0 ;
81+ }
82+ if (streq (cmd , "version" )) {
83+ printf ("%d\n" , CLIPMENU_VERSION );
84+ return 0 ;
85+ }
7486
7587 pid_t pid = get_clipmenud_pid ();
7688 die_on (pid == - ENOENT , "clipmenud is not running\n" );
7789 die_on (pid == - EEXIST , "Multiple instances of clipmenud are running\n" );
7890 expect (pid > 0 );
7991
80- if (streq (argv [ 1 ] , "status" )) {
92+ if (streq (cmd , "status" )) {
8193 printf ("%s\n" , is_enabled (& cfg ) ? "enabled" : "disabled" );
8294 return 0 ;
8395 }
8496
85- bool want_enable = should_enable (& cfg , argv [ 1 ] );
97+ bool want_enable = should_enable (& cfg , cmd );
8698
8799 expect (kill (pid , want_enable ? SIGUSR2 : SIGUSR1 ) == 0 );
88100 dbg ("Sent signal to pid %d\n" , pid );
0 commit comments