]> git.lizzy.rs Git - bspwm.git/blobdiff - messages.h
Accept an optional reference in all the selectors
[bspwm.git] / messages.h
index 0a64fd9f40c762ff8f834d922a85e16674701e6a..a80ff714b99c0b9c26173ac1684910ed32a73439 100644 (file)
@@ -1,36 +1,52 @@
-#ifndef _MESSAGES_H
-#define _MESSAGES_H
+/* Copyright (c) 2012, Bastien Dejean
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ *    list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef BSPWM_MESSAGES_H
+#define BSPWM_MESSAGES_H
 
 #include "types.h"
+#include "subscribe.h"
 
-#define OPT_CHR  '-'
-#define CAT_CHR  '.'
-#define EQL_TOK  "="
+enum {
+       SUBSCRIBE_SUCCESS,
+       SUBSCRIBE_FAILURE
+};
 
-bool handle_message(char *, int, char *);
-bool process_message(char **, int, char *);
-bool cmd_window(char **, int);
-bool cmd_desktop(char **, int);
-bool cmd_monitor(char **, int);
-bool cmd_query(char **, int, char *);
-bool cmd_rule(char **, int, char *);
-bool cmd_pointer(char **, int);
-bool cmd_control(char **, int);
-bool cmd_restore(char **, int);
-bool cmd_config(char **, int, char *);
-bool cmd_quit(char **, int);
-bool get_setting(char *, char *);
-bool set_setting(char *, char *);
-bool parse_bool(char *, bool *);
-bool parse_layout(char *, layout_t *);
-bool parse_direction(char *, direction_t *);
-bool parse_cycle_direction(char *, cycle_dir_t *);
-bool parse_circulate_direction(char *, circulate_dir_t *);
-bool parse_flip(char *, flip_t *);
-bool parse_fence_move(char *, fence_move_t *);
-bool parse_pointer_action(char *, pointer_action_t *);
-bool parse_degree(char *, int *);
-bool parse_window_id(char *, long int *);
-bool parse_index(char *, int *);
+void handle_message(char *msg, int msg_len, FILE *rsp);
+void process_message(char **args, int num, FILE *rsp);
+void cmd_node(char **args, int num, FILE *rsp);
+void cmd_desktop(char **args, int num, FILE *rsp);
+void cmd_monitor(char **args, int num, FILE *rsp);
+void cmd_query(char **args, int num, FILE *rsp);
+void cmd_rule(char **args, int num, FILE *rsp);
+void cmd_wm(char **args, int num, FILE *rsp);
+int cmd_subscribe(char **args, int num, FILE *rsp);
+void cmd_quit(char **args, int num, FILE *rsp);
+void cmd_config(char **args, int num, FILE *rsp);
+void set_setting(coordinates_t loc, char *name, char *value, FILE *rsp);
+void get_setting(coordinates_t loc, char *name, FILE* rsp);
+void handle_failure(int code, char *src, char *val, FILE *rsp);
+void fail(FILE *rsp, char *fmt, ...);
 
 #endif