diff options
author | Zandr Martin <zandrmartin@gmail.com> | 2016-09-02 13:46:19 -0500 |
---|---|---|
committer | Zandr Martin <zandrmartin@gmail.com> | 2016-09-02 13:46:19 -0500 |
commit | 79ffea328c992c5109406771a59a9f016d85970d (patch) | |
tree | 5d965e72127f227ea0a38dc5c6e4fc14e08d9498 /include/swaybar/bar.h | |
parent | b374c35758777f98e5ddbe4b0dc43bd7c80f36d7 (diff) | |
parent | 4e6d7b125895955e3a84583c6d61f3eb2f8a4fe9 (diff) |
Merge branch 'master' of git://github.com/SirCmpwn/sway into commands-refactor
Diffstat (limited to 'include/swaybar/bar.h')
-rw-r--r-- | include/swaybar/bar.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/include/swaybar/bar.h b/include/swaybar/bar.h new file mode 100644 index 00000000..a3c511d9 --- /dev/null +++ b/include/swaybar/bar.h @@ -0,0 +1,63 @@ +#ifndef _SWAYBAR_BAR_H +#define _SWAYBAR_BAR_H + +#include "client/registry.h" +#include "client/window.h" +#include "list.h" + +struct bar { + struct config *config; + struct status_line *status; + list_t *outputs; + + int ipc_event_socketfd; + int ipc_socketfd; + int status_read_fd; + pid_t status_command_pid; +}; + +struct output { + struct window *window; + struct registry *registry; + list_t *workspaces; + char *name; + int idx; +}; + +struct workspace { + int num; + char *name; + bool focused; + bool visible; + bool urgent; +}; + +/** Global bar state */ +extern struct bar swaybar; + +/** + * Setup bar. + */ +void bar_setup(struct bar *bar, const char *socket_path, const char *bar_id); + +/** + * Create new output struct from name. + */ +struct output *new_output(const char *name); + +/** + * Bar mainloop. + */ +void bar_run(struct bar *bar); + +/** + * free workspace list. + */ +void free_workspaces(list_t *workspaces); + +/** + * Teardown bar. + */ +void bar_teardown(struct bar *bar); + +#endif /* _SWAYBAR_BAR_H */ |