englebass pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=c0d0afad3254be70ef79bd15b23c257161ff1e67

commit c0d0afad3254be70ef79bd15b23c257161ff1e67
Author: Sebastian Dransfeld <s...@tango.flipp.net>
Date:   Thu Mar 6 14:15:57 2014 +0100

    randr: function to apply current config
---
 src/bin/e_randr.c | 30 ++++++++++++++++++++++++++++++
 src/bin/e_randr.h |  1 +
 2 files changed, 31 insertions(+)

diff --git a/src/bin/e_randr.c b/src/bin/e_randr.c
index c9f5fce..a785673 100644
--- a/src/bin/e_randr.c
+++ b/src/bin/e_randr.c
@@ -129,6 +129,36 @@ e_randr_config_save(void)
    return e_config_domain_save("e_randr", _e_randr_edd, e_randr_cfg);
 }
 
+EAPI void
+e_randr_config_apply(void)
+{
+   Eina_List *l;
+   E_Randr_Output *output;
+
+   /* Update output mode */
+   EINA_LIST_FOREACH(e_randr->outputs, l, output)
+     {
+        if (!output->cfg->connect)
+          _e_randr_output_active_set(output, EINA_FALSE);
+        else if ((!output->active) && (output->status == 
ECORE_X_RANDR_CONNECTION_STATUS_CONNECTED))
+          {
+             if (_e_randr_output_crtc_find(output))
+               {
+                  _e_randr_output_mode_update(output);
+                  _e_randr_output_active_set(output, EINA_TRUE);
+               }
+          }
+     }
+   /* update lid status */
+   _e_randr_lid_update();
+
+   /* apply randr settings */
+   _e_randr_apply();
+
+   /* update primary output */
+   _e_randr_config_primary_update();
+}
+
 EAPI double
 e_randr_mode_refresh_rate_get(Ecore_X_Randr_Mode_Info *mode)
 {
diff --git a/src/bin/e_randr.h b/src/bin/e_randr.h
index c398cac..2be789c 100644
--- a/src/bin/e_randr.h
+++ b/src/bin/e_randr.h
@@ -76,6 +76,7 @@ EINTERN Eina_Bool e_randr_init(void);
 EINTERN int e_randr_shutdown(void);
 
 EAPI Eina_Bool e_randr_config_save(void);
+EAPI void      e_randr_config_apply(void);
 EAPI double    e_randr_mode_refresh_rate_get(Ecore_X_Randr_Mode_Info *mode);
 
 extern EAPI E_Config_Randr *e_randr_cfg;

-- 


Reply via email to