polybar/src/x11/xlib.cpp

33 lines
610 B
C++
Raw Normal View History

2016-11-02 19:22:45 +00:00
#include "x11/xlib.hpp"
2016-11-19 05:22:44 +00:00
POLYBAR_NS
2016-11-02 19:22:45 +00:00
namespace xlib {
Display* g_display = nullptr;
XVisualInfo g_visual_info;
/**
* Get pointer of Xlib Display
*/
Display* get_display() {
2016-11-25 12:55:15 +00:00
if (g_display == nullptr) {
2016-11-02 19:22:45 +00:00
g_display = XOpenDisplay(nullptr);
2016-11-25 12:55:15 +00:00
}
2016-11-02 19:22:45 +00:00
return g_display;
}
Visual* get_visual(int screen) {
if (g_visual_info.visual == nullptr) {
XMatchVisualInfo(get_display(), screen, 32, TrueColor, &g_visual_info);
}
return g_visual_info.visual;
}
Colormap create_colormap(int screen) {
2016-11-04 17:54:33 +00:00
return XDefaultColormap(get_display(), screen);
2016-11-02 19:22:45 +00:00
}
}
2016-11-19 05:22:44 +00:00
POLYBAR_NS_END