polybar/include/x11/cursor.hpp

30 lines
1.0 KiB
C++

#pragma once
#include "settings.hpp"
#if not WITH_XCURSOR
#error "Not built with support for xcb-cursor..."
#endif
#include <xcb/xcb_cursor.h>
#include "common.hpp"
#include "utils/string.hpp"
#include "x11/connection.hpp"
POLYBAR_NS
namespace cursor_util {
static const std::map<string, vector<string>> cursors = {
{"pointer", {"pointing_hand", "pointer", "hand", "hand1", "hand2", "e29285e634086352946a0e7090d73106",
"9d800788f1b08800ae810202380a0822"}},
{"default", {"left_ptr", "arrow", "dnd-none", "op_left_arrow"}},
{"ns-resize", {"size_ver", "sb_v_double_arrow", "v_double_arrow", "n-resize", "s-resize", "col-resize",
"top_side", "bottom_side", "base_arrow_up", "base_arrow_down", "based_arrow_down",
"based_arrow_up", "00008160000006810000408080010102"}}};
bool valid(const string& name);
bool set_cursor(xcb_connection_t* c, xcb_screen_t* screen, xcb_window_t w, const string& name);
} // namespace cursor_util
POLYBAR_NS_END