sway/swaybar/state.h
2016-01-24 14:22:19 +01:00

55 lines
944 B
C

#ifndef _SWAYBAR_STATE_H
#define _SWAYBAR_STATE_H
#include "client/registry.h"
#include "client/window.h"
#include "list.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;
char *name;
};
struct workspace {
int num;
char *name;
bool focused;
bool visible;
bool urgent;
};
/**
* Setup state.
*/
void state_setup(struct swaybar_state *state, const char *socket_path, const char *bar_id, int desired_output);
/**
* State mainloop.
*/
void state_run(struct swaybar_state *state);
/**
* free workspace list.
*/
void free_workspaces(list_t *workspaces);
/**
* Teardown state.
*/
void state_teardown(struct swaybar_state *state);
#endif /* _SWAYBAR_STATE_H */