aboutsummaryrefslogtreecommitdiff
path: root/swaybar/state.h
diff options
context:
space:
mode:
Diffstat (limited to 'swaybar/state.h')
-rw-r--r--swaybar/state.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/swaybar/state.h b/swaybar/state.h
new file mode 100644
index 00000000..5949548e
--- /dev/null
+++ b/swaybar/state.h
@@ -0,0 +1,43 @@
+#ifndef _SWAYBAR_STATE_H
+#define _SWAYBAR_STATE_H
+
+#include "client/registry.h"
+#include "client/window.h"
+
+struct swaybar_state {
+ struct swaybar_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;
+};
+
+struct workspace {
+ int num;
+ char *name;
+ bool focused;
+ bool visible;
+ bool urgent;
+};
+
+/**
+ * Initialize state.
+ */
+struct swaybar_state *init_state();
+
+/**
+ * free workspace struct.
+ */
+void free_workspace(void *item);
+
+#endif /* _SWAYBAR_STATE_H */