1
#include "gtk-window-decorator.h"
4
decor_update_window_property (decor_t *d)
8
GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
9
decor_extents_t extents = _win_extents;
11
decor_quad_t quads[N_QUADS_MAX];
14
REGION top, bottom, left, right;
16
w = d->border_layout.top.x2 - d->border_layout.top.x1 -
17
d->context->left_space - d->context->right_space;
19
if (d->border_layout.rotation)
20
h = d->border_layout.left.x2 - d->border_layout.left.x1;
22
h = d->border_layout.left.y2 - d->border_layout.left.y1;
24
stretch_offset = w - d->button_width - 1;
26
nQuad = decor_set_lSrStXbS_window_quads (quads, d->context,
30
extents.top += titlebar_height;
34
decor_gen_window_property (data, &extents, &extents, 20, 20);
38
decor_quads_to_property (data, GDK_PIXMAP_XID (d->pixmap),
39
&extents, &extents, &extents, &extents,
40
ICON_SPACE + d->button_width,
45
gdk_error_trap_push ();
46
XChangeProperty (xdisplay, d->prop_xid,
49
32, PropModeReplace, (guchar *) data,
50
BASE_PROP_SIZE + QUAD_PROP_SIZE * nQuad);
51
gdk_display_sync (gdk_display_get_default ());
52
gdk_error_trap_pop ();
54
top.rects = &top.extents;
55
top.numRects = top.size = 1;
57
top.extents.x1 = -extents.left;
58
top.extents.y1 = -extents.top;
59
top.extents.x2 = w + extents.right;
62
bottom.rects = &bottom.extents;
63
bottom.numRects = bottom.size = 1;
65
bottom.extents.x1 = -extents.left;
66
bottom.extents.y1 = 0;
67
bottom.extents.x2 = w + extents.right;
68
bottom.extents.y2 = extents.bottom;
70
left.rects = &left.extents;
71
left.numRects = left.size = 1;
73
left.extents.x1 = -extents.left;
78
right.rects = &right.extents;
79
right.numRects = right.size = 1;
83
right.extents.x2 = extents.right;
86
decor_update_blur_property (d,
95
decor_update_switcher_property (decor_t *d)
98
Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
100
decor_quad_t quads[N_QUADS_MAX];
104
nQuad = decor_set_lSrStSbX_window_quads (quads, &switcher_context,
106
d->border_layout.top.x2 -
107
d->border_layout.top.x1 -
108
switcher_context.extents.left -
109
switcher_context.extents.right -
112
decor_quads_to_property (data, GDK_PIXMAP_XID (d->pixmap),
113
&_switcher_extents, &_switcher_extents,
114
&_switcher_extents, &_switcher_extents,
117
style = gtk_widget_get_style (style_window_rgba);
119
fgColor[0] = style->fg[GTK_STATE_NORMAL].red;
120
fgColor[1] = style->fg[GTK_STATE_NORMAL].green;
121
fgColor[2] = style->fg[GTK_STATE_NORMAL].blue;
122
fgColor[3] = SWITCHER_ALPHA;
124
gdk_error_trap_push ();
125
XChangeProperty (xdisplay, d->prop_xid,
128
32, PropModeReplace, (guchar *) data,
129
BASE_PROP_SIZE + QUAD_PROP_SIZE * nQuad);
130
XChangeProperty (xdisplay, d->prop_xid, switcher_fg_atom,
131
XA_INTEGER, 32, PropModeReplace, (guchar *) fgColor, 4);
132
gdk_display_sync (gdk_display_get_default ());
133
gdk_error_trap_pop ();