Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_dialog.c 


Log Message:
Check netwm type when we want to check if a window is a dialog. Fetch netwm
window type if a window has a transient. If the app hasn't set window type
it will set it to dialog.

Maybe check if some apps set wrong netwm window type?

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.410
retrieving revision 1.411
diff -u -3 -r1.410 -r1.411
--- e_border.c  23 Sep 2005 15:47:18 -0000      1.410
+++ e_border.c  23 Sep 2005 18:58:35 -0000      1.411
@@ -332,7 +332,10 @@
                  else if (atoms[i] == ECORE_X_ATOM_MOTIF_WM_HINTS)
                    bd->client.mwm.fetch.hints = 1;
                  else if (atoms[i] == ECORE_X_ATOM_WM_TRANSIENT_FOR)
-                   bd->client.icccm.fetch.transient_for = 1;
+                   {
+                      bd->client.icccm.fetch.transient_for = 1;
+                      bd->client.netwm.fetch.type = 1;
+                   }
                  else if (atoms[i] == ECORE_X_ATOM_WM_CLIENT_LEADER)
                    bd->client.icccm.fetch.client_leader = 1;
                  else if (atoms[i] == ECORE_X_ATOM_WM_WINDOW_ROLE)
@@ -5291,7 +5294,7 @@
        ecore_x_window_show(bd->win);
        if ((!bd->re_manage) &&
            (e_config->window_placement_policy == E_WINDOW_PLACEMENT_MANUAL) &&
-           (!bd->client.icccm.transient_for) &&
+           (bd->client.netwm.type != ECORE_X_WINDOW_TYPE_DIALOG) &&
            (!move) && (!resize))
          {
             /* Set this window into moving state */
@@ -5350,10 +5353,9 @@
          }
        else
          {
-            if (bd->client.icccm.transient_for != 0)
+            if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DIALOG)
               {
                  if ((e_config->focus_setting == E_FOCUS_NEW_DIALOG) ||
-                     
                      ((e_config->focus_setting == 
E_FOCUS_NEW_DIALOG_IF_OWNER_FOCUSED) &&
                       
(e_border_find_by_client_window(bd->client.icccm.transient_for) ==
                        e_border_focused_get())))
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_dialog.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_dialog.c  23 Sep 2005 16:27:29 -0000      1.12
+++ e_dialog.c  23 Sep 2005 18:58:35 -0000      1.13
@@ -47,7 +47,7 @@
        free(dia);
        return NULL;
      }
-   ecore_x_icccm_transient_for_set(dia->win->evas_win, con->win);
+   ecore_x_netwm_window_type_set(dia->win->evas_win, 
ECORE_X_WINDOW_TYPE_DIALOG);
    e_win_delete_callback_set(dia->win, _e_dialog_cb_delete);
    dia->win->data = dia;
    e_win_name_class_set(dia->win, "E", "_dialog");




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to