X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fi3status.h;h=037e1545eda3e7df6af7595317fbf6493116bc66;hb=a13b2e7288e943359ccb37be86efb716efbe98c8;hp=44046d935239a32a54adc461d93c441229aba920;hpb=018702e01e0e60705cbbca861c5f54abcd41dc00;p=i3%2Fi3status diff --git a/include/i3status.h b/include/i3status.h index 44046d9..037e154 100644 --- a/include/i3status.h +++ b/include/i3status.h @@ -4,9 +4,12 @@ enum { O_DZEN2, O_XMOBAR, O_I3BAR, + O_LEMONBAR, O_TERM, O_NONE } output_format; +char *pct_mark; + #include #include #include @@ -14,10 +17,17 @@ enum { O_DZEN2, #include #include #include +#include +#include #define BEGINS_WITH(haystack, needle) (strncmp(haystack, needle, strlen(needle)) == 0) #define max(a, b) ((a) > (b) ? (a) : (b)) +#define DEFAULT_SINK_INDEX UINT32_MAX +#define COMPOSE_VOLUME_MUTE(vol, mute) ((vol) | ((mute) ? (1 << 30) : 0)) +#define DECOMPOSE_VOLUME(cvol) ((cvol) & ~(1 << 30)) +#define DECOMPOSE_MUTED(cvol) (((cvol) & (1 << 30)) != 0) + #if defined(LINUX) #define THERMAL_ZONE "/sys/class/thermal/thermal_zone%d/temp" @@ -49,7 +59,7 @@ enum { O_DZEN2, /* Allows for the definition of a variable without opening a new scope, thus * suited for usage in a macro. Idea from wmii. */ #define with(type, var, init) \ - for (type var = (type)-1; (var == (type)-1) && ((var = (init)) || 1);) + for (type var = (type)-1; (var == (type)-1) && ((var = (init)) || 1); var = (type)1) #define CASE_SEC(name) \ if (BEGINS_WITH(current, name)) \ @@ -187,14 +197,16 @@ void print_time(yajl_gen json_gen, char *buffer, const char *title, const char * void print_ddate(yajl_gen json_gen, char *buffer, const char *format, time_t t); const char *get_ip_addr(const char *interface); void print_wireless_info(yajl_gen json_gen, char *buffer, const char *interface, const char *format_up, const char *format_down); -void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const char *pidfile, const char *format); -void print_path_exists(yajl_gen json_gen, char *buffer, const char *title, const char *path, const char *format); +void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const char *pidfile, const char *format, const char *format_down); +void print_path_exists(yajl_gen json_gen, char *buffer, const char *title, const char *path, const char *format, const char *format_down); void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const char *path, const char *format, int); void print_cpu_usage(yajl_gen json_gen, char *buffer, const char *format); void print_eth_info(yajl_gen json_gen, char *buffer, const char *interface, const char *format_up, const char *format_down); void print_load(yajl_gen json_gen, char *buffer, const char *format, const float max_threshold); void print_volume(yajl_gen json_gen, char *buffer, const char *fmt, const char *fmt_muted, const char *device, const char *mixer, int mixer_idx); bool process_runs(const char *path); +int volume_pulseaudio(uint32_t sink_idx); +bool pulse_initialize(void); /* socket file descriptor for general purposes */ extern int general_socket; @@ -203,4 +215,7 @@ extern cfg_t *cfg, *cfg_general, *cfg_section; extern void **cur_instance; +extern pthread_cond_t i3status_sleep_cond; +extern pthread_mutex_t i3status_sleep_mutex; + #endif