~kris/suckless

dwmblocks

ref: a98d7ffbd8b310c4c802615cb905e260c2df6572 dwmblocks/include/watcher.h -rw-r--r-- 630 bytes
a98d7ffb — Kris Yotam Update block config 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef WATCHER_H
#define WATCHER_H

#include <poll.h>
#include <stdbool.h>

#include "block.h"
#include "main.h"

enum watcher_fd_index {
    SIGNAL_FD = BLOCK_COUNT,
    WATCHER_FD_COUNT,
};

typedef struct pollfd watcher_fd;

typedef struct {
    watcher_fd fds[WATCHER_FD_COUNT];
    unsigned short active_blocks[BLOCK_COUNT];
    unsigned short active_block_count;
    bool got_signal;
} watcher;

int watcher_init(watcher *const watcher, const block *const blocks,
                 const unsigned short block_count, const int signal_fd);
int watcher_poll(watcher *const watcher, const int timeout_ms);

#endif  // WATCHER_H