1#include <stdio.h>
2#include <stdlib.h>
3#include <stdarg.h>
4
5#include <swc.h>
6#include <wayland-server.h>
7
8#include "howl.h"
9#include "types.h"
10
11extern struct wm wm;
12
13void
14_inf(const char *msg, ...) {
15 va_list list;
16
17 fprintf(stdout, "\033[92mINFO\033[0m: ");
18
19 va_start(list, msg);
20 vfprintf(stdout, msg, list);
21 va_end(list);
22
23 fputc('\n', stdout);
24 fflush(stdout);
25}
26
27void
28_wrn(const char *msg, ...) {
29 va_list list;
30
31 fprintf(stderr, "\033[93mWARN\033[0m: ");
32
33 va_start(list, msg);
34 vfprintf(stderr, msg, list);
35 va_end(list);
36
37 fputc('\n', stderr);
38 fflush(stderr);
39}
40
41void
42_err(int ret, const char *msg, ...) {
43 va_list list;
44
45 fprintf(stderr, "\033[91mFATAL\033[0m: ");
46
47 va_start(list, msg);
48 vfprintf(stderr, msg, list);
49 va_end(list);
50
51 fputc('\n', stderr);
52 fflush(stderr);
53
54 wm.running = false;
55 if (wm.dpy) {
56 swc_finalize();
57 wl_display_terminate(wm.dpy);
58 }
59 exit(ret);
60}