summaryrefslogtreecommitdiffstats
path: root/common.h
diff options
context:
space:
mode:
authorRichard Grenville <[email protected]>2013-06-19 19:36:48 +0800
committerRichard Grenville <[email protected]>2013-06-19 19:36:48 +0800
commit1096bf90d96bc18a7e09fe5f26fa0c703f1fbdf8 (patch)
treeff452d09e30945f965888067fb8cfd0c19cd1005 /common.h
parent0dca9aa79edbc5e2d665d9f65321adc32a595d2a (diff)
downloadtdebase-1096bf90d96bc18a7e09fe5f26fa0c703f1fbdf8.tar.gz
tdebase-1096bf90d96bc18a7e09fe5f26fa0c703f1fbdf8.zip
Misc: --paint-exclude & #119
- Add --paint-exclude to prevent certain windows from being painted, for debugging purposes. - Add predefined matching target "x", "y", "width", "height", "widthb", "heightb", "border_width", and "fullscreen". - Fix bug #119, wrong man page install dir in CMake configuration. Thanks to sstewartgallus for reporting.
Diffstat (limited to 'common.h')
-rw-r--r--common.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/common.h b/common.h
index 76a7b34e3..d3bc58023 100644
--- a/common.h
+++ b/common.h
@@ -468,6 +468,8 @@ typedef struct {
int benchmark;
/// Window to constantly repaint in benchmark mode. 0 for full-screen.
Window benchmark_wid;
+ /// A list of conditions of windows not to paint.
+ c2_lptr_t *paint_blacklist;
/// Whether to work under synchronized mode for debugging.
bool synchronize;
@@ -896,6 +898,8 @@ typedef struct _win {
bool rounded_corners;
/// Whether this window is to be painted.
bool to_paint;
+ /// Whether the window is painting excluded.
+ bool paint_excluded;
/// Whether this window is in open/close state.
bool in_openclose;
@@ -936,6 +940,7 @@ typedef struct _win {
const c2_lptr_t *cache_ivclst;
const c2_lptr_t *cache_bbblst;
const c2_lptr_t *cache_oparule;
+ const c2_lptr_t *cache_pblst;
// Opacity-related members
/// Current window opacity.
@@ -1721,6 +1726,17 @@ rect_is_fullscreen(session_t *ps, int x, int y, unsigned wid, unsigned hei) {
}
/**
+ * Check if a window is a fullscreen window.
+ *
+ * It's not using w->border_size for performance measures.
+ */
+static inline bool
+win_is_fullscreen(session_t *ps, const win *w) {
+ return rect_is_fullscreen(ps, w->a.x, w->a.y, w->widthb, w->heightb)
+ && !w->bounding_shaped;
+}
+
+/**
* Determine if a window has a specific property.
*
* @param ps current session