summaryrefslogtreecommitdiffstats
path: root/common.h
diff options
context:
space:
mode:
authorRichard Grenville <[email protected]>2013-09-04 22:00:51 +0800
committerRichard Grenville <[email protected]>2013-09-04 22:00:51 +0800
commitd41c7507250be2349080fcea44b5f33f84dd65aa (patch)
tree6205329f52c39991ab2e54de7eae21adbb7a3075 /common.h
parentfc117ad4f8ec65344a58308a86b48965e574004f (diff)
downloadtdebase-d41c7507250be2349080fcea44b5f33f84dd65aa.tar.gz
tdebase-d41c7507250be2349080fcea44b5f33f84dd65aa.zip
Improvement: --unredir-if-possible-exclude & --unredir-if-possible-delay
- Add --unredir-if-possible-exclude, to exclude certain windows when evaluating --unredir-if-possible. (#140) - Add --unredir-if-possible-delay, to add some delay before unredirecting screen. (#138, #140) - Code clean-up.
Diffstat (limited to 'common.h')
-rw-r--r--common.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/common.h b/common.h
index f90cba714..ea95235ae 100644
--- a/common.h
+++ b/common.h
@@ -464,6 +464,11 @@ typedef struct {
/// Whether to unredirect all windows if a full-screen opaque window
/// is detected.
bool unredir_if_possible;
+ /// List of conditions of windows to ignore as a full-screen window
+ /// when determining if a window could be unredirected.
+ c2_lptr_t *unredir_if_possible_blacklist;
+ /// Delay before unredirecting screen.
+ time_ms_t unredir_if_possible_delay;
/// Forced redirection setting through D-Bus.
switch_t redirected_force;
/// Whether to stop painting. Controlled through D-Bus.
@@ -644,6 +649,10 @@ typedef struct {
int nfds_max;
/// Linked list of all timeouts.
struct _timeout_t *tmout_lst;
+ /// Timeout for delayed unredirection.
+ struct _timeout_t *tmout_unredir;
+ /// Whether we have hit unredirection timeout.
+ bool tmout_unredir_hit;
/// Whether we have received an event in this cycle.
bool ev_received;
/// Whether the program is idling. I.e. no fading, no potential window
@@ -921,6 +930,8 @@ typedef struct _win {
bool to_paint;
/// Whether the window is painting excluded.
bool paint_excluded;
+ /// Whether the window is unredirect-if-possible excluded.
+ bool unredir_if_possible_excluded;
/// Whether this window is in open/close state.
bool in_openclose;
@@ -962,6 +973,7 @@ typedef struct _win {
const c2_lptr_t *cache_bbblst;
const c2_lptr_t *cache_oparule;
const c2_lptr_t *cache_pblst;
+ const c2_lptr_t *cache_uipblst;
// Opacity-related members
/// Current window opacity.
@@ -1527,6 +1539,9 @@ timeout_invoke(session_t *ps, timeout_t *ptmout);
bool
timeout_drop(session_t *ps, timeout_t *prm);
+void
+timeout_reset(session_t *ps, timeout_t *ptmout);
+
/**
* Add a file descriptor to a select() fd_set.
*/