f74c524fff
Polybar had issues when there is no background set or set by a tool like imagemagick which doesn't add the root pixmap to the root window properties. There's not much we can do about it, but at least polybar doesn't crash anymore. Fixes #1582 Fixes #1585 * fix(tray_manager): only enable transparency if neccessary Previously, we always enabled transparency * fix(background_manager): avoid needless fetching * fix(renderer): move logging message to correct place * fix(background_manager): handle dummy pixmap (_XSETROOT_ID) right * fix(background_manager): more initialization + don't free on error Freeing on error is incorrect, since we could still be called again later in which case we still need the resources. * fix(background_manager): add more infos to trace logs * fix(background): correct typo (XROOTMAP -> XROOTPMAP) * fix(background_manager): do not report "no background" as error * style(background_manager): use braces for if Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com> * fix(background_manager): better error message for dummy pixmap Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com> * style(background): some more style fixes * fix(connection): initialize pixmap in all cases in root_pixmap() * style(connection): improve readability using early return
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <xcb/xcb_atom.h>
|
|
|
|
struct cached_atom {
|
|
const char* name;
|
|
size_t len;
|
|
xcb_atom_t* atom;
|
|
};
|
|
|
|
extern cached_atom ATOMS[36];
|
|
|
|
extern xcb_atom_t _NET_SUPPORTED;
|
|
extern xcb_atom_t _NET_CURRENT_DESKTOP;
|
|
extern xcb_atom_t _NET_ACTIVE_WINDOW;
|
|
extern xcb_atom_t _NET_WM_NAME;
|
|
extern xcb_atom_t _NET_WM_DESKTOP;
|
|
extern xcb_atom_t _NET_WM_VISIBLE_NAME;
|
|
extern xcb_atom_t _NET_WM_WINDOW_TYPE;
|
|
extern xcb_atom_t _NET_WM_WINDOW_TYPE_DOCK;
|
|
extern xcb_atom_t _NET_WM_WINDOW_TYPE_NORMAL;
|
|
extern xcb_atom_t _NET_WM_PID;
|
|
extern xcb_atom_t _NET_WM_STATE;
|
|
extern xcb_atom_t _NET_WM_STATE_STICKY;
|
|
extern xcb_atom_t _NET_WM_STATE_SKIP_TASKBAR;
|
|
extern xcb_atom_t _NET_WM_STATE_ABOVE;
|
|
extern xcb_atom_t _NET_WM_STATE_MAXIMIZED_VERT;
|
|
extern xcb_atom_t _NET_WM_STRUT;
|
|
extern xcb_atom_t _NET_WM_STRUT_PARTIAL;
|
|
extern xcb_atom_t WM_PROTOCOLS;
|
|
extern xcb_atom_t WM_DELETE_WINDOW;
|
|
extern xcb_atom_t _XEMBED;
|
|
extern xcb_atom_t _XEMBED_INFO;
|
|
extern xcb_atom_t MANAGER;
|
|
extern xcb_atom_t WM_STATE;
|
|
extern xcb_atom_t _NET_SYSTEM_TRAY_OPCODE;
|
|
extern xcb_atom_t _NET_SYSTEM_TRAY_ORIENTATION;
|
|
extern xcb_atom_t _NET_SYSTEM_TRAY_VISUAL;
|
|
extern xcb_atom_t _NET_SYSTEM_TRAY_COLORS;
|
|
extern xcb_atom_t WM_TAKE_FOCUS;
|
|
extern xcb_atom_t Backlight;
|
|
extern xcb_atom_t BACKLIGHT;
|
|
extern xcb_atom_t _XROOTPMAP_ID;
|
|
extern xcb_atom_t _XSETROOT_ID;
|
|
extern xcb_atom_t ESETROOT_PMAP_ID;
|
|
extern xcb_atom_t _COMPTON_SHADOW;
|
|
extern xcb_atom_t _NET_WM_WINDOW_OPACITY;
|
|
extern xcb_atom_t WM_HINTS;
|