diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2013-07-25 22:17:52 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2013-07-25 22:17:52 +0900 |
commit | fd0648286f9fad13ab8f8cf2ef56ba4d95c9920a (patch) | |
tree | c0077b9363a090c4991e695a55e393e863a81e99 | |
parent | 9a905a2efda932a06f78c763240d422bd37151a6 (diff) | |
download | elementary-fd0648286f9fad13ab8f8cf2ef56ba4d95c9920a.tar.gz |
add throttle policy settings to elm
-rw-r--r-- | src/lib/elm_general.h | 14 | ||||
-rw-r--r-- | src/lib/elm_win.c | 4 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/lib/elm_general.h b/src/lib/elm_general.h index 9f37c0138..5e4703a82 100644 --- a/src/lib/elm_general.h +++ b/src/lib/elm_general.h @@ -80,6 +80,9 @@ typedef enum ELM_POLICY_EXIT, /**< defines elm_exit() behaviour. @see Elm_Policy_Exit. * @since 1.8 */ + ELM_POLICY_THROTTLE, /**< defines how throttling should work @see Elm_Policy_Throttle + * @since 1.8 + */ ELM_POLICY_LAST } Elm_Policy; /**< Elementary policy identifiers/groups enumeration. @see elm_policy_set() */ @@ -106,6 +109,17 @@ typedef enum * the main loop */ } Elm_Policy_Exit; +/** + * Possible values for the #ELM_POLICY_THROTTLE policy. + * @since 1.8 + */ +typedef enum +{ + ELM_POLICY_THROTTLE_CONFIG = 0, /**< do whatever elementary config is configured to do */ + ELM_POLICY_THROTTLE_HIDDEN_ALWAYS, /**< always throttle when all windows are no longer visible */ + ELM_POLICY_THROTTLE_NEVER /**< never throttle when windows are all hidden, regardless of config settings */ +} Elm_Policy_Throttle; + typedef enum { ELM_OBJECT_SELECT_MODE_DEFAULT = 0, /**< default select mode */ diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index 525fea6c7..4636b1755 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -290,7 +290,9 @@ _elm_win_state_eval(void *data __UNUSED__) } } } - if (_elm_config->auto_throttle) + if (((_elm_config->auto_throttle) && + (elm_policy_get(ELM_POLICY_THROTTLE) != ELM_POLICY_THROTTLE_NEVER)) || + (elm_policy_get(ELM_POLICY_THROTTLE) == ELM_POLICY_THROTTLE_HIDDEN_ALWAYS)) { if (_elm_win_count == 0) { |