summaryrefslogtreecommitdiffstats
path: root/compton.h
diff options
context:
space:
mode:
Diffstat (limited to 'compton.h')
-rw-r--r--compton.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/compton.h b/compton.h
index 16272e6f5..8aecaa762 100644
--- a/compton.h
+++ b/compton.h
@@ -116,6 +116,10 @@
#define US_PER_SEC 1000000L
#define MS_PER_SEC 1000
+#define XRFILTER_CONVOLUTION "convolution"
+#define XRFILTER_GUASSIAN "gaussian"
+#define XRFILTER_BINOMIAL "binomial"
+
// Window flags
// Window size is changed
@@ -326,6 +330,11 @@ typedef struct {
bool inactive_dim_fixed;
/// Step for pregenerating alpha pictures. 0.01 - 1.0.
double alpha_step;
+ /// Whether to blur background of semi-transparent / ARGB windows.
+ bool blur_background;
+ /// Whether to blur background when the window frame is not opaque.
+ /// Implies blur_background.
+ bool blur_background_frame;
// === Focus related ===
/// Consider windows of specific types to be always focused.
@@ -519,6 +528,8 @@ typedef struct {
#endif
/// Whether X DBE extension exists.
bool dbe_exists;
+ /// Whether X Render convolution filter exists.
+ bool xrfilter_convolution_exists;
// === Atoms ===
/// Atom of property <code>_NET_WM_OPACITY</code>.
@@ -779,6 +790,22 @@ static int
should_ignore(session_t *ps, unsigned long sequence);
/**
+ * Return the painting target window.
+ */
+static inline Window
+get_tgt_window(session_t *ps) {
+ return ps->o.paint_on_overlay ? ps->overlay: ps->root;
+}
+
+/**
+ * Reset filter on a <code>Picture</code>.
+ */
+static inline void
+xrfilter_reset(session_t *ps, Picture p) {
+ XRenderSetPictureFilter(ps->dpy, p, "Nearest", NULL, 0);
+}
+
+/**
* Subtract two unsigned long values.
*
* Truncate to 0 if the result is negative.