mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-17 18:45:10 +00:00
Switch from macros to functions.
This commit is contained in:
parent
693ad0bafc
commit
8a4b707a7c
136
src/x11.cc
136
src/x11.cc
@ -32,12 +32,12 @@
|
||||
#include "conky.h"
|
||||
#include "logging.h"
|
||||
|
||||
#include "x11.h"
|
||||
#include <X11/XKBlib.h>
|
||||
#include <X11/Xatom.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xmd.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/XKBlib.h>
|
||||
#include "x11.h"
|
||||
#ifdef BUILD_IMLIB2
|
||||
#include "imlib2.h"
|
||||
#endif /* BUILD_IMLIB2 */
|
||||
@ -83,9 +83,7 @@ void out_to_x_setting::lua_setter(lua::state &l, bool init) {
|
||||
|
||||
Base::lua_setter(l, init);
|
||||
|
||||
if (init && do_convert(l, -1).first) {
|
||||
init_X11();
|
||||
}
|
||||
if (init && do_convert(l, -1).first) { init_X11(); }
|
||||
|
||||
++s;
|
||||
}
|
||||
@ -93,9 +91,7 @@ void out_to_x_setting::lua_setter(lua::state &l, bool init) {
|
||||
void out_to_x_setting::cleanup(lua::state &l) {
|
||||
lua::stack_sentry s(l, -1);
|
||||
|
||||
if (do_convert(l, -1).first) {
|
||||
deinit_X11();
|
||||
}
|
||||
if (do_convert(l, -1).first) { deinit_X11(); }
|
||||
|
||||
l.pop();
|
||||
}
|
||||
@ -130,9 +126,7 @@ void own_window_setting::lua_setter(lua::state &l, bool init) {
|
||||
#ifdef BUILD_XDBE
|
||||
bool use_xdbe_setting::set_up(lua::state &l) {
|
||||
// double_buffer makes no sense when not drawing to X
|
||||
if (not out_to_x.get(l)) {
|
||||
return false;
|
||||
}
|
||||
if (not out_to_x.get(l)) { return false; }
|
||||
|
||||
int major, minor;
|
||||
|
||||
@ -266,7 +260,6 @@ conky::lua_traits<window_hints>::Map conky::lua_traits<window_hints>::map = {
|
||||
|
||||
std::pair<uint16_t, bool> window_hints_traits::convert(
|
||||
lua::state &l, int index, const std::string &name) {
|
||||
|
||||
lua::stack_sentry s(l);
|
||||
l.checkstack(1);
|
||||
|
||||
@ -280,9 +273,7 @@ std::pair<uint16_t, bool> window_hints_traits::convert(
|
||||
if (newpos > pos) {
|
||||
l.pushstring(hints.substr(pos, newpos - pos));
|
||||
auto t = conky::lua_traits<window_hints>::convert(l, -1, name);
|
||||
if (not t.second) {
|
||||
return {0, false};
|
||||
};
|
||||
if (not t.second) { return {0, false}; };
|
||||
SET_HINT(ret, t.first);
|
||||
l.pop();
|
||||
}
|
||||
@ -454,7 +445,8 @@ static void update_workarea() {
|
||||
XineramaScreenInfo *si = XineramaQueryScreens(display, &heads);
|
||||
if (si == nullptr) {
|
||||
NORM_ERR(
|
||||
"warning: XineramaQueryScreen returned nullptr, ignoring head settings");
|
||||
"warning: XineramaQueryScreen returned nullptr, ignoring head "
|
||||
"settings");
|
||||
return; /* queryscreens failed? */
|
||||
}
|
||||
|
||||
@ -490,9 +482,7 @@ static Window find_desktop_window(Window *p_root, Window *p_desktop) {
|
||||
Window troot, parent, *children;
|
||||
unsigned char *buf = nullptr;
|
||||
|
||||
if ((p_root == nullptr) || (p_desktop == nullptr)) {
|
||||
return 0;
|
||||
}
|
||||
if ((p_root == nullptr) || (p_desktop == nullptr)) { return 0; }
|
||||
|
||||
/* some window managers set __SWM_VROOT to some child of root window */
|
||||
|
||||
@ -626,13 +616,9 @@ static int get_argb_visual(Visual **visual, int *depth) {
|
||||
|
||||
void destroy_window() {
|
||||
#ifdef BUILD_XFT
|
||||
if (window.xftdraw != nullptr) {
|
||||
XftDrawDestroy(window.xftdraw);
|
||||
}
|
||||
if (window.xftdraw != nullptr) { XftDrawDestroy(window.xftdraw); }
|
||||
#endif /* BUILD_XFT */
|
||||
if (window.gc != nullptr) {
|
||||
XFreeGC(display, window.gc);
|
||||
}
|
||||
if (window.gc != nullptr) { XFreeGC(display, window.gc); }
|
||||
memset(&window, 0, sizeof(struct conky_window));
|
||||
}
|
||||
|
||||
@ -647,9 +633,7 @@ static void init_window(lua::state &l __attribute__((unused)), bool own) {
|
||||
int depth = 0, flags = CWOverrideRedirect | CWBackingStore;
|
||||
Visual *visual = nullptr;
|
||||
|
||||
if (find_desktop_window(&window.root, &window.desktop) == 0u) {
|
||||
return;
|
||||
}
|
||||
if (find_desktop_window(&window.root, &window.desktop) == 0u) { return; }
|
||||
|
||||
#ifdef BUILD_ARGB
|
||||
if (use_argb_visual.get(l) && (get_argb_visual(&visual, &depth) != 0)) {
|
||||
@ -671,9 +655,7 @@ static void init_window(lua::state &l __attribute__((unused)), bool own) {
|
||||
border_outer_margin.get(l);
|
||||
|
||||
/* Sanity check to avoid making an invalid 0x0 window */
|
||||
if (b == 0) {
|
||||
b = 1;
|
||||
}
|
||||
if (b == 0) { b = 1; }
|
||||
|
||||
if (own_window_type.get(l) == TYPE_OVERRIDE) {
|
||||
/* An override_redirect True window.
|
||||
@ -749,9 +731,7 @@ static void init_window(lua::state &l __attribute__((unused)), bool own) {
|
||||
}
|
||||
#endif /* BUILD_ARGB */
|
||||
|
||||
if (own_window_type.get(l) == TYPE_DOCK) {
|
||||
window.x = window.y = 0;
|
||||
}
|
||||
if (own_window_type.get(l) == TYPE_DOCK) { window.x = window.y = 0; }
|
||||
/* Parent is root window so WM can take control */
|
||||
window.window =
|
||||
XCreateWindow(display, window.root, window.x, window.y, b, b, 0,
|
||||
@ -1002,9 +982,7 @@ static Window find_subwindow(Window win, int w, int h) {
|
||||
}
|
||||
|
||||
XFree(children);
|
||||
if (j == n) {
|
||||
break;
|
||||
}
|
||||
if (j == n) { break; }
|
||||
}
|
||||
|
||||
return win;
|
||||
@ -1029,9 +1007,7 @@ static inline void get_x11_desktop_current(Display *current_display,
|
||||
unsigned char *prop = nullptr;
|
||||
struct information *current_info = &info;
|
||||
|
||||
if (atom == None) {
|
||||
return;
|
||||
}
|
||||
if (atom == None) { return; }
|
||||
|
||||
if ((XGetWindowProperty(current_display, root, atom, 0, 1L, False,
|
||||
XA_CARDINAL, &actual_type, &actual_format, &nitems,
|
||||
@ -1039,9 +1015,7 @@ static inline void get_x11_desktop_current(Display *current_display,
|
||||
(actual_type == XA_CARDINAL) && (nitems == 1L) && (actual_format == 32)) {
|
||||
current_info->x11.desktop.current = prop[0] + 1;
|
||||
}
|
||||
if (prop != nullptr) {
|
||||
XFree(prop);
|
||||
}
|
||||
if (prop != nullptr) { XFree(prop); }
|
||||
}
|
||||
|
||||
// Get total number of available desktops
|
||||
@ -1054,9 +1028,7 @@ static inline void get_x11_desktop_number(Display *current_display, Window root,
|
||||
unsigned char *prop = nullptr;
|
||||
struct information *current_info = &info;
|
||||
|
||||
if (atom == None) {
|
||||
return;
|
||||
}
|
||||
if (atom == None) { return; }
|
||||
|
||||
if ((XGetWindowProperty(current_display, root, atom, 0, 1L, False,
|
||||
XA_CARDINAL, &actual_type, &actual_format, &nitems,
|
||||
@ -1064,9 +1036,7 @@ static inline void get_x11_desktop_number(Display *current_display, Window root,
|
||||
(actual_type == XA_CARDINAL) && (nitems == 1L) && (actual_format == 32)) {
|
||||
current_info->x11.desktop.number = prop[0];
|
||||
}
|
||||
if (prop != nullptr) {
|
||||
XFree(prop);
|
||||
}
|
||||
if (prop != nullptr) { XFree(prop); }
|
||||
}
|
||||
|
||||
// Get all desktop names
|
||||
@ -1079,9 +1049,7 @@ static inline void get_x11_desktop_names(Display *current_display, Window root,
|
||||
unsigned char *prop = nullptr;
|
||||
struct information *current_info = &info;
|
||||
|
||||
if (atom == None) {
|
||||
return;
|
||||
}
|
||||
if (atom == None) { return; }
|
||||
|
||||
if ((XGetWindowProperty(current_display, root, atom, 0, (~0L), False,
|
||||
ATOM(UTF8_STRING), &actual_type, &actual_format,
|
||||
@ -1091,9 +1059,7 @@ static inline void get_x11_desktop_names(Display *current_display, Window root,
|
||||
current_info->x11.desktop.all_names.assign(
|
||||
reinterpret_cast<const char *>(prop), nitems);
|
||||
}
|
||||
if (prop != nullptr) {
|
||||
XFree(prop);
|
||||
}
|
||||
if (prop != nullptr) { XFree(prop); }
|
||||
}
|
||||
|
||||
// Get current desktop name
|
||||
@ -1165,7 +1131,8 @@ void print_monitor(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
snprintf(p, p_max_size, "%d", XDefaultScreen(display));
|
||||
}
|
||||
|
||||
void print_monitor_number(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
void print_monitor_number(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
|
||||
if (not out_to_x.get(*state)) {
|
||||
@ -1185,7 +1152,8 @@ void print_desktop(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
snprintf(p, p_max_size, "%d", info.x11.desktop.current);
|
||||
}
|
||||
|
||||
void print_desktop_number(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
void print_desktop_number(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
|
||||
if (not out_to_x.get(*state)) {
|
||||
@ -1195,7 +1163,8 @@ void print_desktop_number(struct text_object *obj, char *p, unsigned int p_max_s
|
||||
snprintf(p, p_max_size, "%d", info.x11.desktop.number);
|
||||
}
|
||||
|
||||
void print_desktop_name(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
void print_desktop_name(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
|
||||
if (not out_to_x.get(*state)) {
|
||||
@ -1249,13 +1218,9 @@ void set_struts(int sidenum) {
|
||||
sizes[i] = 0;
|
||||
} else {
|
||||
if (i <= 1 || i >= 8) {
|
||||
if (sizes[i] > display_width) {
|
||||
sizes[i] = display_width;
|
||||
}
|
||||
if (sizes[i] > display_width) { sizes[i] = display_width; }
|
||||
} else {
|
||||
if (sizes[i] > display_height) {
|
||||
sizes[i] = display_height;
|
||||
}
|
||||
if (sizes[i] > display_height) { sizes[i] = display_height; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1296,35 +1261,29 @@ void xpmdb_swap_buffers(void) {
|
||||
}
|
||||
#endif /* BUILD_XDBE */
|
||||
|
||||
#define LOCK_TEMPLATE_1(func) \
|
||||
void print_##func(struct text_object *obj, char *p, unsigned int p_max_size) { \
|
||||
(void)obj; \
|
||||
XKeyboardState x; \
|
||||
XGetKeyboardControl(display, &x); \
|
||||
snprintf(p, p_max_size, "%s", (x.led_mask & 1 ? "On" : "Off")); \
|
||||
void print_kdb_led(const int keybit, char *p, unsigned int p_max_size) {
|
||||
XKeyboardState x;
|
||||
XGetKeyboardControl(display, &x);
|
||||
snprintf(p, p_max_size, "%s", (x.led_mask & keybit ? "On" : "Off"));
|
||||
}
|
||||
void print_caps_led(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
print_kdb_led(1, p, p_max_size);
|
||||
}
|
||||
|
||||
#define LOCK_TEMPLATE_2(func) \
|
||||
void print_##func(struct text_object *obj, char *p, unsigned int p_max_size) { \
|
||||
(void)obj; \
|
||||
XKeyboardState x; \
|
||||
XGetKeyboardControl(display, &x); \
|
||||
snprintf(p, p_max_size, "%s", (x.led_mask & 2 ? "On" : "Off")); \
|
||||
void print_num_led(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
print_kdb_led(2, p, p_max_size);
|
||||
}
|
||||
|
||||
#define LOCK_TEMPLATE_4(func) \
|
||||
void print_##func(struct text_object *obj, char *p, unsigned int p_max_size) { \
|
||||
(void)obj; \
|
||||
XKeyboardState x; \
|
||||
XGetKeyboardControl(display, &x); \
|
||||
snprintf(p, p_max_size, "%s", (x.led_mask & 4 ? "On" : "Off")); \
|
||||
void print_scroll_led(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
print_kdb_led(4, p, p_max_size);
|
||||
}
|
||||
|
||||
LOCK_TEMPLATE_2(num_led)
|
||||
LOCK_TEMPLATE_1(caps_led)
|
||||
LOCK_TEMPLATE_4(scroll_led)
|
||||
|
||||
void print_kb_layout(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
void print_kb_layout(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
|
||||
char *group = NULL;
|
||||
@ -1339,7 +1298,8 @@ void print_kb_layout(struct text_object *obj, char *p, unsigned int p_max_size)
|
||||
XFree(group);
|
||||
}
|
||||
|
||||
void print_mouse_speed(struct text_object *obj, char *p, unsigned int p_max_size) {
|
||||
void print_mouse_speed(struct text_object *obj, char *p,
|
||||
unsigned int p_max_size) {
|
||||
(void)obj;
|
||||
int acc_num = 0;
|
||||
int acc_denom = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user