aboutsummaryrefslogtreecommitdiff
path: root/include/bar/bar.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/bar/bar.h')
-rw-r--r--include/bar/bar.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/include/bar/bar.h b/include/bar/bar.h
new file mode 100644
index 00000000..89496da6
--- /dev/null
+++ b/include/bar/bar.h
@@ -0,0 +1,55 @@
+#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;
+ struct output *output;
+ /* 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;
+};
+
+struct workspace {
+ int num;
+ char *name;
+ bool focused;
+ bool visible;
+ bool urgent;
+};
+
+/**
+ * Setup bar.
+ */
+void bar_setup(struct bar *bar, const char *socket_path, const char *bar_id, int desired_output);
+
+/**
+ * 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 */