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

47 lines
1.3 KiB
C++
Raw Normal View History

#pragma once
#include <xcb/xcb_ewmh.h>
#include "common.hpp"
#include "utils/memory.hpp"
2016-11-19 00:22:44 -05:00
POLYBAR_NS
2016-11-26 03:38:55 -05:00
struct position;
2016-12-21 17:22:02 -05:00
using ewmh_connection_t = malloc_ptr_t<xcb_ewmh_connection_t>;
namespace ewmh_util {
ewmh_connection_t initialize();
2017-01-24 02:49:27 -05:00
bool supports(xcb_atom_t atom, int screen = 0);
2017-01-24 02:49:27 -05:00
string get_wm_name(xcb_window_t win);
string get_visible_name(xcb_window_t win);
string get_icon_name(xcb_window_t win);
string get_reply_string(xcb_ewmh_get_utf8_strings_reply_t* reply);
2017-01-24 02:49:27 -05:00
vector<position> get_desktop_viewports(int screen = 0);
vector<string> get_desktop_names(int screen = 0);
unsigned int get_current_desktop(int screen = 0);
xcb_window_t get_active_window(int screen = 0);
2017-01-24 02:49:27 -05:00
void change_current_desktop(unsigned int desktop);
unsigned int get_desktop_from_window(xcb_window_t window);
2017-01-24 02:49:27 -05:00
void set_wm_window_type(xcb_window_t win, vector<xcb_atom_t> types);
2017-01-24 21:29:11 -05:00
2017-01-24 02:49:27 -05:00
void set_wm_state(xcb_window_t win, vector<xcb_atom_t> states);
2017-01-24 21:29:11 -05:00
vector<xcb_atom_t> get_wm_state(xcb_window_t win);
2017-01-24 02:49:27 -05:00
void set_wm_pid(xcb_window_t win);
void set_wm_pid(xcb_window_t win, unsigned int pid);
2017-01-24 21:29:11 -05:00
2017-01-24 02:49:27 -05:00
void set_wm_desktop(xcb_window_t win, unsigned int desktop = -1u);
void set_wm_window_opacity(xcb_window_t win, unsigned long int values);
2017-01-24 21:29:11 -05:00
vector<xcb_window_t> get_client_list(int screen = 0);
}
2016-11-19 00:22:44 -05:00
POLYBAR_NS_END