summaryrefslogtreecommitdiff
path: root/src/actions.c
diff options
context:
space:
mode:
authorJérémie Courrèges-Anglas <jca@wxcvbn.org>2016-11-23 02:15:47 +0100
committerJérémie Courrèges-Anglas <jca@wxcvbn.org>2016-11-23 02:17:40 +0100
commit99edf8f266e52e61656d3be3337b5f8bfa4c2759 (patch)
treeaa180a160b6d36bac5a0aa8043450b867c189a9f /src/actions.c
parent0026454736ec7fe765749a60d75338a8dcea4386 (diff)
downloadratpoison-99edf8f266e52e61656d3be3337b5f8bfa4c2759.zip
Implement a "commands" command to dump all available... commands
Diffstat (limited to 'src/actions.c')
-rw-r--r--src/actions.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/actions.c b/src/actions.c
index 0314b83..00f9fce 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -405,6 +405,7 @@ init_user_commands(void)
add_command ("putsel", cmd_putsel, 1, 1, 1,
"Text: ", arg_RAW);
add_command ("getsel", cmd_getsel, 0, 0, 0);
+ add_command ("commands", cmd_commands, 0, 0, 0);
/*@end (tag required for genrpbindings) */
/* Commands to help debug ratpoison. */
@@ -6082,3 +6083,22 @@ cmd_getsel (int interactive UNUSED, struct cmdarg **args UNUSED)
else
return cmdret_new (RET_FAILURE, "getsel: no X11 selection");
}
+
+cmdret *
+cmd_commands (int interactive UNUSED, struct cmdarg **args UNUSED)
+{
+ struct sbuf *sb;
+ struct user_command *cur;
+ cmdret *ret;
+
+ sb = sbuf_new (0);
+ list_for_each_entry (cur, &user_commands, node)
+ {
+ sbuf_printf_concat (sb, "%s\n", cur->name);
+ }
+ sbuf_chop (sb);
+
+ ret = cmdret_new (RET_SUCCESS, "%s", sbuf_get (sb));
+ sbuf_free (sb);
+ return ret;
+}