#include "signal.h" #include "text.h" #include #include #include #include #include struct state { Display * display; Window window; struct text * text; }; static int init_state(struct state * s) { s->display = XOpenDisplay(NULL); s->window = XDefaultRootWindow(s->display); s->text = text_new(); return 0; } static void deinit_state(struct state * s) { XCloseDisplay(s->display); text_free(s->text); } static void update_status(struct state * s) { text_update(s->text); XStoreName(s->display, s->window, text_get_val(s->text)); XSync(s->display, 1); } static void run_loop(struct state * s) { while(signal_running) { update_status(s); usleep(1000 * 1000); } } int main(void) { struct state s; signal_setup_actions(); init_state(&s); run_loop(&s); deinit_state(&s); return 0; }