add throttle policy settings to elm

This commit is contained in:
Carsten Haitzler 2013-07-25 22:17:52 +09:00
parent 63b6e67659
commit a5d5d0ec14
2 changed files with 17 additions and 1 deletions

View File

@ -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 */

View File

@ -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)
{