1
0
Fork 0
mirror of https://github.com/polybar/polybar.git synced 2024-11-25 13:55:47 -05:00
polybar/include/x11/window.hpp

39 lines
958 B
C++
Raw Normal View History

2016-06-14 23:32:35 -04:00
#pragma once
#include <xcb/xcb.h>
2016-11-26 00:13:20 -05:00
#include <xcb/xcb_aux.h>
2016-06-14 23:32:35 -04:00
#include "common.hpp"
2016-11-02 15:22:45 -04:00
#include "x11/connection.hpp"
#include "x11/randr.hpp"
2016-06-14 23:32:35 -04:00
2016-11-19 00:22:44 -05:00
POLYBAR_NS
2016-06-14 23:32:35 -04:00
using connection_t = connection;
class window : public xpp::window<connection_t&> {
public:
using xpp::window<connection_t&>::window;
explicit window(connection_t& conn) : xpp::window<connection_t&>(conn, XCB_NONE) {}
window& operator=(const xcb_window_t win) {
*this = window{connection(), win};
return *this;
}
2016-06-14 23:32:35 -04:00
2016-11-13 15:50:21 -05:00
window create_checked(
int16_t x, int16_t y, uint16_t w, uint16_t h, uint32_t mask = 0, const xcb_params_cw_t* p = nullptr);
2016-11-02 15:22:45 -04:00
window change_event_mask(uint32_t mask);
window ensure_event_mask(uint32_t event);
window reconfigure_geom(uint16_t w, uint16_t h, int16_t x = 0, int16_t y = 0);
window reconfigure_pos(int16_t x, int16_t y);
2016-11-13 15:50:21 -05:00
window reconfigure_struts(uint16_t w, uint16_t h, int16_t x, bool bottom = false);
2016-11-04 13:54:33 -04:00
void redraw();
2016-06-14 23:32:35 -04:00
};
2016-11-19 00:22:44 -05:00
POLYBAR_NS_END