Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_container.c e_main.c 


Log Message:
Fixed looping code. Disappering windows when using always on top should
be fixed.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_container.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- e_container.c       16 May 2005 15:43:09 -0000      1.53
+++ e_container.c       17 May 2005 11:57:22 -0000      1.54
@@ -60,16 +60,7 @@
        
        con->win = ecore_x_window_override_new(con->manager->win, con->x, 
con->y, con->w, con->h);
        ecore_x_icccm_title_set(con->win, "Enlightenment Container");
-       mwin = e_menu_grab_window_get();
-       if (!mwin) mwin = e_init_window_get();
-       if (!mwin)
-         ecore_x_window_raise(con->win);
-       else
-         ecore_x_window_configure(con->win,
-                                  ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
-                                  ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
-                                  0, 0, 0, 0, 0,
-                                  mwin, ECORE_X_WINDOW_STACK_BELOW);
+       ecore_x_window_raise(con->win);
      }
    else
      {
@@ -124,8 +115,11 @@
                                   ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
                                   0, 0, 0, 0, 0,
                                   con->layers[i - 1].win, 
ECORE_X_WINDOW_STACK_ABOVE);
+       else
+         ecore_x_window_raise(con->layers[i].win);
      }
 
+   /* Put init win on top */
    mwin = e_init_window_get();
    if (mwin)
      ecore_x_window_configure(mwin,
@@ -135,6 +129,7 @@
                              con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
 
 
+   /* Put menu win on top */
    mwin = e_menu_grab_window_get();
    if (mwin)
      ecore_x_window_configure(mwin,
@@ -143,6 +138,12 @@
                              0, 0, 0, 0, 0,
                              con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
 
+   /* Put background win at the bottom */
+   ecore_x_window_configure(con->bg_win,
+                           ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
+                           ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
+                           0, 0, 0, 0, 0,
+                           con->layers[0].win, ECORE_X_WINDOW_STACK_BELOW);
 
    screens = (Evas_List *)e_xinerama_screens_get();
    if (screens)
@@ -171,7 +172,11 @@
    E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
    if (con->visible) return;
    ecore_evas_show(con->bg_ecore_evas);
-   ecore_x_window_lower(con->bg_win);
+   ecore_x_window_configure(con->bg_win,
+                           ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
+                           ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
+                           0, 0, 0, 0, 0,
+                           con->layers[0].win, ECORE_X_WINDOW_STACK_BELOW);
    if (con->win != con->manager->win)
      ecore_x_window_show(con->win);
    ecore_x_icccm_state_set(con->bg_win, ECORE_X_WINDOW_STATE_HINT_NORMAL);
@@ -257,6 +262,7 @@
 {
    E_OBJECT_CHECK(con);
    E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
+#if 0
    if (con->win != con->manager->win)
      {
        ecore_x_window_raise(con->win);
@@ -265,6 +271,7 @@
      {
        ecore_x_window_lower(con->bg_win);
      }
+#endif
 }
 
 void
@@ -272,12 +279,14 @@
 {
    E_OBJECT_CHECK(con);
    E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
+#if 0
    if (con->win != con->manager->win)
      ecore_x_window_lower(con->win);
    else
      {
        ecore_x_window_lower(con->bg_win);
      }
+#endif
 }
 
 E_Zone *
@@ -791,7 +800,11 @@
 
    list->clients = list->clients->prev;
    while ((list->layer > 0) && (!list->clients))
-     list->clients = list->container->layers[--list->layer].clients;
+     {
+       list->layer--;
+       if (list->container->layers[list->layer].clients)
+         list->clients = list->container->layers[list->layer].clients->last;
+     }
 
    return bd;
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- e_main.c    16 May 2005 15:43:15 -0000      1.79
+++ e_main.c    17 May 2005 11:57:22 -0000      1.80
@@ -644,10 +644,6 @@
             return 0;
          }
      }
-   
-   /* Init border stacking */
-   e_hints_client_list_set();
-   e_hints_client_stacking_set();
 
    free(roots);
    ecore_x_sync();




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to