all repos — tint2 @ fb9da655dfb036ef37751f91fb6213e426f5ee22

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

src/util/print.h (raw)

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef PRINT_H
#define PRINT_H

#ifdef HAS_GENERIC

int print_uchar(unsigned char v);

int print_char(char v);

int print_short(short v);

int print_ushort(unsigned short v);

int print_int(int v);

int print_uint(unsigned v);

int print_long(long v);

int print_ulong(unsigned long v);

int print_long_long(long long v);

int print_ulong_long(unsigned long long v);

int print_float(float v);

int print_double(double v);

int print_long_double(long double v);

int print_string(char *s);

int print_pointer(void *v);

int print_unknown();

#define print(x) \
    _Generic((x), \
    unsigned char: print_uchar, \
    char: print_char, \
    short int: print_short, \
    unsigned short int: print_ushort, \
    int: print_int, \
    unsigned int: print_uint, \
    long int: print_long, \
    unsigned long int: print_ulong, \
    long long int: print_long_long, \
    unsigned long long int: print_ulong_long, \
    float: print_float,          \
    double: print_double,                 \
    long double: print_long_double,     \
    char *: print_string, \
    void *: print_pointer, \
    default : print_unknown)(x)

#else
#define print(...) printf("Omitted, the compiler does not support C11 generics.\n")
#endif

#endif