diff options
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. */ |