Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/enterminus/src/bin


Modified Files:
        enterm.c handlers.c smart.c term.h 


Log Message:
1) added TERM_EVENT_TITLE_CHANGE
2) propagated ecore event from term_smart to enterm

===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/enterm.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- enterm.c    8 Feb 2005 11:45:58 -0000       1.1
+++ enterm.c    18 Feb 2005 23:19:06 -0000      1.2
@@ -1,4 +1,5 @@
 #include "term.h"
+#include "enterm.h"
 
 void enterm_init(Ecore_Evas *ee, Evas_Object *term) {
    
@@ -9,6 +10,8 @@
    ecore_evas_callback_resize_set(ee, enterm_cb_resize);
    ecore_x_window_prop_step_size_set(ecore_evas_software_x11_window_get(ee),
                                     t->font.width, t->font.height);
+   ecore_event_handler_add(TERM_EVENT_TITLE_CHANGE, 
+                          enterm_cb_title_change, ee);
    ecore_evas_resize(ee, t->w, t->h);
 
 }
@@ -22,3 +25,13 @@
    term_smart_resize(term , w, h);
       
 }
+
+void enterm_cb_title_change(void *data, int type, void *ev) {
+   Term_Event_Title_Change *e;
+   Ecore_Evas *ee;
+   
+   e = ev;
+   ee = data;
+   ecore_x_window_prop_title_set(ecore_evas_software_x11_window_get(ee),
+                                e->title);
+}
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/handlers.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- handlers.c  8 Feb 2005 11:45:58 -0000       1.5
+++ handlers.c  18 Feb 2005 23:19:06 -0000      1.6
@@ -5,6 +5,8 @@
    int len;
    int buflen;
    unsigned char c;
+   Term_Event_Title_Change *e;
+   Ecore_Event *event;
    
    c = term_tcanvas_data_pop(term);
    for(len = 0; c != '\007'; len++) {
@@ -22,9 +24,12 @@
       if(term->title) free(term->title);
       term->title = malloc(sizeof(buf));
       snprintf(term->title, sizeof(buf), "%s", buf);
+      e = malloc(sizeof(Term_Event_Title_Change));
+      e->title = strdup(term->title);
+      event = ecore_event_add(TERM_EVENT_TITLE_CHANGE, e, 
+                             term_event_title_change_free, NULL);
       /* TODO: MOVE THIS TO FRONTEND CODE */
-      
//ecore_x_window_prop_title_set(ecore_evas_software_x11_window_get(term->ee),
-      //                           buf);
+//ecore_x_window_prop_title_set(ecore_evas_software_x11_window_get(term->ee),buf);
       break;
    }
 }
@@ -454,3 +459,12 @@
 
    }
 }
+
+void term_event_title_change_free(void *data, void *ev) {
+   
+   Term_Event_Title_Change *e;   
+   e = ev;
+   free(e->title);
+   free(e);
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/smart.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- smart.c     18 Feb 2005 21:59:04 -0000      1.4
+++ smart.c     18 Feb 2005 23:19:06 -0000      1.5
@@ -8,6 +8,7 @@
 Evas_Object *term_new(Evas *evas) {
    Evas_Object *term;
    term = evas_object_smart_add(evas, term_smart_get());
+   TERM_EVENT_TITLE_CHANGE = ecore_event_type_new();
    return term;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/enterminus/src/bin/term.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- term.h      18 Feb 2005 21:59:04 -0000      1.5
+++ term.h      18 Feb 2005 23:19:06 -0000      1.6
@@ -30,9 +30,9 @@
 #define DPRINT(stuff)
 #endif
 
+int TERM_EVENT_TITLE_CHANGE;
 
-enum Term_Key_Modifiers
-{
+enum Term_Key_Modifiers {
      TERM_KEY_MODIFIER_SHIFT = 0x1,
      TERM_KEY_MODIFIER_CTRL = 0x2,
      TERM_KEY_MODIFIER_ALT = 0x4,
@@ -41,7 +41,12 @@
 };
 typedef enum Term_Key_Modifiers Term_Key_Modifiers;
 
+struct _Term_Event_Title_Change {
+   char *title;
+};
+typedef struct _Term_Event_Title_Change Term_Event_Title_Change;
 
+/* are those still global vars? if so, remove them */
 char *ptydev, *ttydev;
 pid_t pid;
 
@@ -184,3 +189,6 @@
 
 void            enterm_init(Ecore_Evas *ee, Evas_Object *term);   
 void            enterm_cb_resize(Ecore_Evas *ee);
+
+void            term_event_title_change_free(void *data, void *ev);
+   




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to