discomfitor pushed a commit to branch master.

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

commit 0291edd719bf249d70bfe450ecf15f7013f27aa4
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Feb 10 20:14:59 2014 -0500

    hook STICKY client property change in deskmirror
    
    T936
---
 src/bin/e_deskmirror.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
index dc7af2b..0e7e988 100644
--- a/src/bin/e_deskmirror.c
+++ b/src/bin/e_deskmirror.c
@@ -663,10 +663,22 @@ _client_property(E_Smart_Data *sd, int type EINA_UNUSED, 
E_Event_Client_Property
 {
    Mirror *m;
 
-   if (!(ev->property & E_CLIENT_PROPERTY_NETWM_STATE)) return 
ECORE_CALLBACK_RENEW;
+   if ((!(ev->property & E_CLIENT_PROPERTY_NETWM_STATE)) &&
+       (!(ev->property & E_CLIENT_PROPERTY_STICKY)))
+     return ECORE_CALLBACK_RENEW;
 
    m = eina_hash_find(sd->mirror_hash, &ev->ec->frame);
-   if (m) _mirror_visible_apply(m);
+   if (m)
+     {
+        _mirror_visible_apply(m);
+        if (ev->property & E_CLIENT_PROPERTY_STICKY)
+          {
+             if ((!ev->ec->sticky) && (ev->ec->desk != sd->desk))
+               eina_hash_del_by_key(sd->mirror_hash, &ev->ec->frame);
+          }
+     }
+   else if (ev->ec->sticky)
+     _e_deskmirror_mirror_add(sd, ev->ec->frame);
    return ECORE_CALLBACK_RENEW;
 }
 

-- 


Reply via email to