fix(tray): Support for pseudo transparency

Copy contents from the root pixmap onto the background

Fixes 
This commit is contained in:
Michael Carlberg 2016-11-04 18:50:33 +01:00
parent 004d499ce3
commit ae501d6ae1
8 changed files with 416 additions and 110 deletions
include/components

View file

@ -61,31 +61,24 @@ struct bar_settings {
struct tray_settings {
tray_settings() = default;
tray_settings& operator=(tray_settings& o) {
align = o.align;
orig_x = o.orig_x;
orig_y = o.orig_y;
width = o.width;
height = o.height;
height_fill = o.height_fill;
spacing = o.spacing;
slots = o.slots;
sibling = o.sibling;
background = o.background;
return *this;
}
tray_settings& operator=(const tray_settings& o) = default;
alignment align{alignment::NONE};
int16_t orig_x{0};
int16_t orig_y{0};
int16_t configured_x{0};
int16_t configured_y{0};
uint16_t configured_w{0};
uint16_t configured_h{0};
uint16_t configured_slots{0};
uint16_t width{0};
uint16_t height{0};
uint16_t height_fill{0};
uint16_t spacing{0};
uint16_t slots{0};
uint32_t sibling{0};
uint32_t background{0};
xcb_pixmap_t back_pixmap{0};
bool transparent{false};
};
struct border_settings {