diff options
author | Richard Grenville <[email protected]> | 2013-09-04 22:00:51 +0800 |
---|---|---|
committer | Richard Grenville <[email protected]> | 2013-09-04 22:00:51 +0800 |
commit | d41c7507250be2349080fcea44b5f33f84dd65aa (patch) | |
tree | 6205329f52c39991ab2e54de7eae21adbb7a3075 /common.h | |
parent | fc117ad4f8ec65344a58308a86b48965e574004f (diff) | |
download | tdebase-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.h | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -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. */ |