From: <enl...@li...> - 2006-02-20 17:18:45
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Log Message: Directory /cvsroot/enlightenment/e_modules/uptime added to the repository |
From: <enl...@li...> - 2006-02-20 17:21:18
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Added Files: AUTHORS COPYING COPYING-PLAIN ChangeLog INSTALL Makefile.am NEWS README VeraMono.ttf autogen.sh configure.in e_mod_config.c e_mod_config.h e_mod_main.c e_mod_main.h module_icon.png uptime.edc uptime.png Log Message: Add uptime module. This is the last one from monitor, So monitor is going to go bye-bye soon :) |
From: <enl...@li...> - 2006-02-20 17:50:08
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Minor Size Change for gadman =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/e_mod_main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_mod_main.c 20 Feb 2006 17:21:15 -0000 1.1 +++ e_mod_main.c 20 Feb 2006 17:50:02 -0000 1.2 @@ -245,10 +245,10 @@ E_GADMAN_POLICY_HMOVE | E_GADMAN_POLICY_VMOVE); e_gadman_client_min_size_set(cf->gmc, 4, 4); - e_gadman_client_max_size_set(cf->gmc, 130, 40); - e_gadman_client_auto_size_set(cf->gmc, 130, 40); + e_gadman_client_max_size_set(cf->gmc, 160, 20); + e_gadman_client_auto_size_set(cf->gmc, 160, 20); e_gadman_client_align_set(cf->gmc, 1.0, 1.0); - e_gadman_client_resize(cf->gmc, 130, 40); + e_gadman_client_resize(cf->gmc, 160, 20); e_gadman_client_change_func_set(cf->gmc, _uptime_face_cb_gmc_change, cf); e_gadman_client_load(cf->gmc); evas_event_thaw(cf->evas); |
From: <enl...@li...> - 2006-02-20 18:29:43
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Nicer menus...shhh ! :) =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/e_mod_main.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_mod_main.c 20 Feb 2006 17:50:02 -0000 1.2 +++ e_mod_main.c 20 Feb 2006 18:29:40 -0000 1.3 @@ -268,10 +268,12 @@ mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Configuration")); + e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); e_menu_item_callback_set(mi, _uptime_face_cb_menu_configure, cf); mi = e_menu_item_new(mn); e_menu_item_label_set(mi, _("Edit Mode")); + e_util_menu_item_edje_icon_set(mi, "enlightenment/gadgets"); e_menu_item_callback_set(mi, _uptime_face_cb_menu_edit, cf); } |
From: <enl...@li...> - 2006-02-21 13:25:58
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: uptime.edc e_mod_main.c Log Message: Clip the text to not allow displaying outside the gadget. Allow better gadget resizing now. =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/uptime.edc,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- uptime.edc 20 Feb 2006 17:21:15 -0000 1.1 +++ uptime.edc 21 Feb 2006 13:25:57 -0000 1.2 @@ -14,25 +14,20 @@ { name, "modules/uptime/main"; parts { - part { - name: "base"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - color: 255 255 255 0; - rel1 { - offset: 0 0; - } - rel2 { - offset: -1 -1; - } - } + part { + name: "base"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + color: 255 255 255 255; + } + } - } part { name, "uptime"; type, TEXT; + clip_to: "base"; effect, SOFT_SHADOW; mouse_events, 0; description { @@ -50,7 +45,7 @@ text { text: "uptime"; font: "VeraMono"; - size: 10; + size: 8; min: 1 1; align: 0.5 0.5; } =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/e_mod_main.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_mod_main.c 20 Feb 2006 18:29:40 -0000 1.3 +++ e_mod_main.c 21 Feb 2006 13:25:57 -0000 1.4 @@ -243,10 +243,12 @@ e_gadman_client_policy_set(cf->gmc, E_GADMAN_POLICY_ANYWHERE | E_GADMAN_POLICY_HMOVE | + E_GADMAN_POLICY_HSIZE | + E_GADMAN_POLICY_VSIZE | E_GADMAN_POLICY_VMOVE); e_gadman_client_min_size_set(cf->gmc, 4, 4); - e_gadman_client_max_size_set(cf->gmc, 160, 20); - e_gadman_client_auto_size_set(cf->gmc, 160, 20); + e_gadman_client_max_size_set(cf->gmc, 128, 128); + e_gadman_client_auto_size_set(cf->gmc, 40, 40); e_gadman_client_align_set(cf->gmc, 1.0, 1.0); e_gadman_client_resize(cf->gmc, 160, 20); e_gadman_client_change_func_set(cf->gmc, _uptime_face_cb_gmc_change, cf); |
From: <enl...@li...> - 2006-02-22 11:07:32
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Added Files: .cvsignore Log Message: Update cvsignore |
From: <enl...@li...> - 2006-03-01 15:02:16
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: uptime.edc Log Message: Match font size with the other modules. Formatting of edc. =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/uptime.edc,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- uptime.edc 21 Feb 2006 13:25:57 -0000 1.2 +++ uptime.edc 1 Mar 2006 15:02:06 -0000 1.3 @@ -1,57 +1,66 @@ images { - image: "uptime.png" COMP; + image: "uptime.png" COMP; } fonts { - font: "VeraMono.ttf" "VeraMono"; + font: "VeraMono.ttf" "VeraMono"; } collections { -group - { + group + { name, "modules/uptime/main"; - parts { - part { - name: "base"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; + parts + { + part + { + name: "base"; + type: RECT; + mouse_events: 0; + description + { + state: "default" 0.0; color: 255 255 255 255; - } - } - - part { - name, "uptime"; - type, TEXT; - clip_to: "base"; - effect, SOFT_SHADOW; - mouse_events, 0; - description { - state: "default" 0.0; - rel1 { - relative: 0.0 0.0; - to_x: "base"; - offset: 0 0; - } - rel2 { - relative: 1.0 1.0; - } - color: 255 255 255 255; - color3: 0 0 0 100; - text { - text: "uptime"; - font: "VeraMono"; - size: 8; - min: 1 1; - align: 0.5 0.5; - } - } - } - } + } + } + + part + { + name, "uptime"; + type, TEXT; + clip_to: "base"; + effect, SOFT_SHADOW; + mouse_events, 0; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 0.0; + to_x: "base"; + offset: 0 0; + } + rel2 + { + relative: 1.0 1.0; + } + color: 255 255 255 255; + color3: 0 0 0 100; + text + { + text: "uptime"; + font: "VeraMono"; + size: 10; + min: 1 1; + align: 0.5 0.5; + } + } + } + } + } } |
From: <enl...@li...> - 2006-03-01 16:28:38
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Remove size restraint =================================================================== RCS file: /cvsroot/enlightenment/e_modules/uptime/e_mod_main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_mod_main.c 21 Feb 2006 13:25:57 -0000 1.4 +++ e_mod_main.c 1 Mar 2006 16:28:33 -0000 1.5 @@ -246,8 +246,6 @@ E_GADMAN_POLICY_HSIZE | E_GADMAN_POLICY_VSIZE | E_GADMAN_POLICY_VMOVE); - e_gadman_client_min_size_set(cf->gmc, 4, 4); - e_gadman_client_max_size_set(cf->gmc, 128, 128); e_gadman_client_auto_size_set(cf->gmc, 40, 40); e_gadman_client_align_set(cf->gmc, 1.0, 1.0); e_gadman_client_resize(cf->gmc, 160, 20); |
From: Enlightenment C. <no...@cv...> - 2006-04-02 22:08:49
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: configure.in Log Message: Remove checks for eet, evas, ecore and esmart as they are not needed. =================================================================== RCS file: /cvs/e/e_modules/uptime/configure.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- configure.in 10 Mar 2006 15:11:21 -0000 1.5 +++ configure.in 2 Apr 2006 22:08:38 -0000 1.6 @@ -103,48 +103,6 @@ #AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl) #AC_SUBST(dlopen_libs) -AC_ARG_WITH(ecore-config, -[ --with-ecore-config=ECORE_CONFIG use ecore-config specified ], -[ - ECORE_CONFIG=$withval; - echo "using "$ECORE_CONFIG" for ecore-config"; -],[ - PROG="ecore-config"; - AC_PATH_PROG(ECORE_CONFIG, $PROG, "", $PATH) -]) -ecore_cflags=`$ECORE_CONFIG --cflags` -ecore_libs=`$ECORE_CONFIG --libs` -AC_SUBST(ecore_cflags) -AC_SUBST(ecore_libs) - -AC_ARG_WITH(evas-config, -[ --with-evas-config=EVAS_CONFIG use evas-config specified ], -[ - EVAS_CONFIG=$withval; - echo "using "$EVAS_CONFIG" for evas-config"; -],[ - PROG="evas-config"; - AC_PATH_PROG(EVAS_CONFIG, $PROG, "", $PATH) -]) -evas_cflags=`$EVAS_CONFIG --cflags` -evas_libs=`$EVAS_CONFIG --libs` -AC_SUBST(evas_cflags) -AC_SUBST(evas_libs) - -AC_ARG_WITH(esmart-config, -[ --with-esmart-config=ESMART_CONFIG use esmart-config specified ], -[ - ESMART_CONFIG=$withval; - echo "using "$ESMART_CONFIG" for esmart-config"; -],[ - PROG="esmart-config"; - AC_PATH_PROG(ESMART_CONFIG, $PROG, "", $PATH) -]) -esmart_cflags=`$ESMART_CONFIG --cflags` -esmart_libs=`$ESMART_CONFIG --libs` -AC_SUBST(esmart_cflags) -AC_SUBST(esmart_libs) - AC_ARG_WITH(edje-config, [ --with-edje-config=EDJE_CONFIG use edje-config specified ], [ @@ -171,20 +129,6 @@ edje_cc="`$EDJE_CONFIG --prefix`/bin/edje_cc" ]) AC_SUBST(edje_cc) - -AC_ARG_WITH(eet-config, -[ --with-eet-config=EET_CONFIG use eet-config specified ], -[ - EET_CONFIG=$withval; - echo "using "$EET_CONFIG" for eet-config"; -],[ - PROG="eet-config"; - AC_PATH_PROG(EET_CONFIG, $PROG, "", $PATH) -]) -eet_cflags=`$EET_CONFIG --cflags` -eet_libs=`$EET_CONFIG --libs` -AC_SUBST(eet_cflags) -AC_SUBST(eet_libs) AC_ARG_WITH(enlightenment-config, [ --with-enlightenment-config=E_CONFIG use enlightenment-config specified ], |
From: Enlightenment C. <no...@cv...> - 2006-06-03 13:27:52
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c e_mod_main.h Log Message: Make uptime build again. No shelf code yet. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- e_mod_main.c 5 Apr 2006 17:48:50 -0000 1.7 +++ e_mod_main.c 3 Jun 2006 13:26:01 -0000 1.8 @@ -38,7 +38,6 @@ if (!c) return NULL; - m->config_menu = c->config_menu; return c; } @@ -51,12 +50,6 @@ if (!c) return 0; - if (m->config_menu) - { - e_menu_deactivate(m->config_menu); - e_object_del(E_OBJECT(m->config_menu)); - m->config_menu = NULL; - } if (c->cfd) { e_object_del(E_OBJECT(c->cfd)); @@ -75,13 +68,6 @@ if (!c) return 0; e_config_domain_save("module.uptime", c->conf_edd, c->conf); - return 1; -} - -EAPI int -e_modapi_info(E_Module *m) -{ - m->icon_file = strdup(PACKAGE_DATA_DIR "/module_icon.png"); return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_mod_main.h 5 Apr 2006 17:48:50 -0000 1.3 +++ e_mod_main.h 3 Jun 2006 13:26:01 -0000 1.4 @@ -52,7 +52,6 @@ EAPI void *e_modapi_init(E_Module *m); EAPI int e_modapi_shutdown(E_Module *m); EAPI int e_modapi_save(E_Module *m); -EAPI int e_modapi_info(E_Module *m); EAPI int e_modapi_about(E_Module *m); EAPI int e_modapi_config(E_Module *m); |
From: Enlightenment C. <no...@cv...> - 2006-06-03 14:04:26
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: Makefile.am Added Files: module.eap Log Message: Uptime now builds again and shows in module list. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- Makefile.am 13 May 2006 01:52:20 -0000 1.4 +++ Makefile.am 3 Jun 2006 14:02:35 -0000 1.5 @@ -8,11 +8,13 @@ # data files for the module filesdir = $(datadir) -EXTRA_DIST = $(files_DATA) uptime.png uptime.edc VeraMono.ttf e_modules-uptime.spec e_modules-uptime.spec.in +EXTRA_DIST = $(files_DATA) uptime.png uptime.edc VeraMono.ttf \ +e_modules-uptime.spec e_modules-uptime.spec.in module.eap files_DATA = \ module_icon.png \ -uptime.edj +uptime.edj \ +module.eap # the module .so file INCLUDES = -I. \ |
From: Enlightenment C. <no...@cv...> - 2006-06-09 11:45:02
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: Makefile.am e_mod_config.c e_mod_main.c e_mod_main.h uptime.edc Removed Files: e_mod_config.h Log Message: Convert uptime to the shelf for Gulivert ;) Users will need to remove old module.uptime.cfg for this to work. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 3 Jun 2006 14:02:35 -0000 1.5 +++ Makefile.am 9 Jun 2006 11:42:59 -0000 1.6 @@ -26,8 +26,7 @@ pkg_LTLIBRARIES = module.la module_la_SOURCES = e_mod_main.c \ e_mod_main.h \ - e_mod_config.c \ - e_mod_config.h + e_mod_config.c module_la_LIBADD = @e_libs@ -lm module_la_LDFLAGS = -module -avoid-version =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_mod_config.c 5 Apr 2006 17:48:50 -0000 1.3 +++ e_mod_config.c 9 Jun 2006 11:42:59 -0000 1.4 @@ -1,11 +1,9 @@ #include <e.h> #include "e_mod_main.h" -#include "e_mod_config.h" -#include "config.h" struct _E_Config_Dialog_Data { - int check_interval; + double check_interval; }; /* Protos */ @@ -13,15 +11,16 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); -static void _fill_data(Uptime *c, E_Config_Dialog_Data *cfdata); +static void _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata); /* Config Calls */ void -_configure_uptime_module(E_Container *con, Uptime *c) +_config_ut_module(Config_Item *ci) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; - + E_Container *con; + v = E_NEW(E_Config_Dialog_View, 1); v->create_cfdata = _create_data; @@ -29,36 +28,35 @@ v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; - cfd = e_config_dialog_new(con, D_("Uptime Configuration"), NULL, 0, v, c); - c->cfd = cfd; + con = e_container_current_get(e_manager_current_get()); + cfd = e_config_dialog_new(con, D_("Uptime Configuration"), NULL, 0, v, ci); + ut_config->config_dialog = cfd; } static void -_fill_data(Uptime *c, E_Config_Dialog_Data *cfdata) +_fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata) { - cfdata->check_interval = c->conf->check_interval; + cfdata->check_interval = ci->check_interval; } static void * _create_data(E_Config_Dialog *cfd) { E_Config_Dialog_Data *cfdata; - Uptime *c; + Config_Item *ci; - c = cfd->data; + ci = cfd->data; cfdata = E_NEW(E_Config_Dialog_Data, 1); - _fill_data(c, cfdata); + _fill_data(ci, cfdata); return cfdata; } static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { - Uptime *c; - - c = cfd->data; - c->cfd = NULL; + if (!ut_config) return; + ut_config->config_dialog = NULL; free(cfdata); } @@ -66,15 +64,12 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { Evas_Object *o, *of, *ob; - Uptime *c; - - c = cfd->data; o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1, 60, 1, 0, NULL, &(cfdata->check_interval), 150); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -84,14 +79,12 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { - char *tmp; - Uptime *c; - - c = cfd->data; - c->conf->check_interval = cfdata->check_interval; + Config_Item *ci; + + ci = cfd->data; + ci->check_interval = cfdata->check_interval; e_config_save_queue(); - if (c->face->monitor) - ecore_timer_interval_set(c->face->monitor, (double)cfdata->check_interval); + _ut_config_updated(ci->id); return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_mod_main.c 3 Jun 2006 13:26:01 -0000 1.8 +++ e_mod_main.c 9 Jun 2006 11:42:59 -0000 1.9 @@ -1,394 +1,367 @@ #include <e.h> #include <linux/kernel.h> #include "e_mod_main.h" -#include "e_mod_config.h" -#include "config.h" -static Uptime *_uptime_init(E_Module *m); -static void _uptime_shutdown(Uptime *n); -static void _uptime_config_menu_new(Uptime *n); -static int _uptime_face_init(Uptime_Face *cf); -static void _uptime_face_menu_new(Uptime_Face *cf); -static void _uptime_face_enable(Uptime_Face *cf); -static void _uptime_face_disable(Uptime_Face *cf); -static void _uptime_face_free(Uptime_Face *cf); -static void _uptime_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change); -static void _uptime_face_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info); -static void _uptime_face_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi); -static void _uptime_face_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi); -static int _uptime_face_update_values(void *data); +typedef struct _Instance Instance; +typedef struct _Uptime Uptime; -static int uptime_count; - -EAPI E_Module_Api e_modapi = { - E_MODULE_API_VERSION, - "Uptime" +struct _Instance +{ + E_Gadcon_Client *gcc; + Evas_Object *ut_obj; + Uptime *ut; + Ecore_Timer *monitor; }; -EAPI void * -e_modapi_init(E_Module *m) +struct _Uptime { - Uptime *c; + Instance *inst; + Evas_Object *ut_obj; +}; - /* Set up module's message catalogue */ - bindtextdomain(PACKAGE, LOCALEDIR); - bind_textdomain_codeset(PACKAGE, "UTF-8"); +static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style); +static void _gc_shutdown(E_Gadcon_Client *gcc); +static void _gc_orient(E_Gadcon_Client *gcc); +static char *_gc_label(void); +static Evas_Object *_gc_icon(Evas *evas); + +static void _ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void _ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi); +static void _ut_menu_cb_post(void *data, E_Menu *m); +static Config_Item *_ut_config_item_get(const char *id); +static Uptime *_ut_new(Evas *evas); +static void _ut_free(Uptime *ut); +static int _ut_cb_check(void *data); + +static E_Config_DD *conf_edd = NULL; +static E_Config_DD *conf_item_edd = NULL; - c = _uptime_init(m); - if (!c) - return NULL; +Config *ut_config = NULL; - return c; -} - -EAPI int -e_modapi_shutdown(E_Module *m) +static const E_Gadcon_Client_Class _gc_class = { - Uptime *c; - - c = m->data; - if (!c) - return 0; + GADCON_CLIENT_CLASS_VERSION, + "uptime", {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon} +}; - if (c->cfd) - { - e_object_del(E_OBJECT(c->cfd)); - c->cfd = NULL; - } - _uptime_shutdown(c); - return 1; +static E_Gadcon_Client * +_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) +{ + Evas_Object *o; + E_Gadcon_Client *gcc; + Instance *inst; + Config_Item *ci; + Uptime *ut; + char buf[4096]; + + inst = E_NEW(Instance, 1); + ci = _ut_config_item_get(id); + if (!ci->id) ci->id = evas_stringshare_add(id); + + ut = _ut_new(gc->evas); + ut->inst = inst; + inst->ut = ut; + + o = ut->ut_obj; + gcc = e_gadcon_client_new(gc, name, id, style, o); + gcc->data = inst; + inst->gcc = gcc; + inst->ut_obj = o; + + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down, inst); + ut_config->instances = evas_list_append(ut_config->instances, inst); + + if (!inst->monitor) + inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); + + return gcc; } -EAPI int -e_modapi_save(E_Module *m) +static void +_gc_shutdown(E_Gadcon_Client *gcc) { - Uptime *c; + Instance *inst; + Uptime *ut; + + inst = gcc->data; + ut = inst->ut; + + if (inst->monitor) ecore_timer_del(inst->monitor); + + ut_config->instances = evas_list_remove(ut_config->instances, inst); + evas_object_event_callback_del(ut->ut_obj, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down); - c = m->data; - if (!c) - return 0; - e_config_domain_save("module.uptime", c->conf_edd, c->conf); - return 1; + _ut_free(ut); + free(inst); } -EAPI int -e_modapi_about(E_Module *m) +static void +_gc_orient(E_Gadcon_Client *gcc) { - e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), D_("This module is used to monitor uptime.")); - return 1; + e_gadcon_client_aspect_set(gcc, 16, 16); + e_gadcon_client_min_size_set(gcc, 16, 16); } -EAPI int -e_modapi_config(E_Module *m) +static char * +_gc_label(void) { - Uptime *c; - E_Container *con; - - c = m->data; - if (!c) - return 0; - if (!c->face) - return 0; - - con = e_container_current_get(e_manager_current_get()); - if (c->face->con == con) - _configure_uptime_module(con, c); - - return 1; + return D_("Uptime"); } -static Uptime * -_uptime_init(E_Module *m) +static Evas_Object * +_gc_icon(Evas *evas) { - Uptime *c; - E_Menu_Item *mi; - Evas_List *mans, *l, *l2; - - c = E_NEW(Uptime, 1); - - if (!c) - return NULL; - - c->conf_edd = E_CONFIG_DD_NEW("Uptime_Config", Config); -#undef T -#undef D -#define T Config -#define D c->conf_edd - E_CONFIG_VAL(D, T, check_interval, INT); - - c->conf = e_config_domain_load("module.uptime", c->conf_edd); - if (!c->conf) - { - c->conf = E_NEW(Config, 1); - - c->conf->check_interval = 1; - } - E_CONFIG_LIMIT(c->conf->check_interval, 0, 60); - - _uptime_config_menu_new(c); + Evas_Object *o; + char buf[4096]; + + o = edje_object_add(evas); + snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ut_config->module)); + edje_object_file_set(o, buf, "icon"); + return o; +} - mans = e_manager_list(); - for (l = mans; l; l = l->next) +static void +_ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Instance *inst; + Evas_Event_Mouse_Down *ev; + + if (ut_config->menu) return; + + inst = data; + ev = event_info; + if (ev->button == 3) { - E_Manager *man; - - man = l->data; - for (l2 = man->containers; l2; l2 = l2->next) - { - E_Container *con; - Uptime_Face *cf; - - con = l2->data; - cf = E_NEW(Uptime_Face, 1); - - if (cf) - { - cf->conf_face_edd = E_CONFIG_DD_NEW("Uptime_Face_Config", Config_Face); - -#undef T -#undef D -#define T Config_Face -#define D cf->conf_face_edd - E_CONFIG_VAL(D, T, enabled, UCHAR); - - c->face = cf; - cf->uptime = c; - cf->con = con; - cf->evas = con->bg_evas; - - cf->conf = E_NEW(Config_Face, 1); - - cf->conf->enabled = 1; - - if (!_uptime_face_init(cf)) - return NULL; - - _uptime_face_menu_new(cf); - - mi = e_menu_item_new(c->config_menu); - e_menu_item_label_set(mi, _("Configuration")); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_configure, cf); - - mi = e_menu_item_new(c->config_menu); - e_menu_item_label_set(mi, con->name); - e_menu_item_submenu_set(mi, cf->menu); - - if (!cf->conf->enabled) - _uptime_face_disable(cf); - else - _uptime_face_enable(cf); - } - } + E_Menu *mn; + E_Menu_Item *mi; + int x, y, w, h; + + mn = e_menu_new(); + e_menu_post_deactivate_callback_set(mn, _ut_menu_cb_post, inst); + ut_config->menu = mn; + + mi = e_menu_item_new(mn); + e_menu_item_label_set(mi, D_("Configuration")); + e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); + e_menu_item_callback_set(mi, _ut_menu_cb_configure, inst); + + mi = e_menu_item_new(mn); + e_menu_item_separator_set(mi, 1); + + e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, &w, &h); + e_menu_activate_mouse(mn, e_util_zone_current_get(e_manager_current_get()), + x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); + evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } - return c; } static void -_uptime_shutdown(Uptime *c) +_ut_menu_cb_post(void *data, E_Menu *m) { - _uptime_face_free(c->face); - - E_FREE(c->conf); - E_CONFIG_DD_FREE(c->conf_edd); - E_FREE(c); + if (!ut_config->menu) return; + e_object_del(E_OBJECT(ut_config->menu)); + ut_config->menu = NULL; } static void -_uptime_config_menu_new(Uptime *c) +_ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi) { - E_Menu *mn; - - mn = e_menu_new(); - c->config_menu = mn; + Instance *inst; + Config_Item *ci; + + inst = data; + ci = _ut_config_item_get(inst->gcc->id); + _config_ut_module(ci); } -static int -_uptime_face_init(Uptime_Face *cf) +static Config_Item * +_ut_config_item_get(const char *id) { - Evas_Object *o; + Evas_List *l; + Config_Item *ci; char buf[4096]; - - evas_event_freeze(cf->evas); - - o = edje_object_add(cf->evas); - cf->uptime_obj = o; - - if (!e_theme_edje_object_set(o, "base/theme/modules/uptime", "modules/uptime/main")) + + for (l = ut_config->items; l; l = l->next) { - snprintf(buf, sizeof(buf), PACKAGE_DATA_DIR "/uptime.edj"); - edje_object_file_set(o, buf, "modules/uptime/main"); + ci = l->data; + if (!ci->id) continue; + if (!strcmp(ci->id, id)) return ci; } - - evas_object_show(o); - - o = evas_object_rectangle_add(cf->evas); - cf->event_obj = o; - evas_object_layer_set(o, 2); - evas_object_repeat_events_set(o, 1); - evas_object_color_set(o, 0, 0, 0, 0); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _uptime_face_cb_mouse_down, cf); - evas_object_show(o); - - cf->gmc = e_gadman_client_new(cf->con->gadman); - e_gadman_client_domain_set(cf->gmc, "module.uptime", uptime_count++); - e_gadman_client_policy_set(cf->gmc, - E_GADMAN_POLICY_ANYWHERE | - E_GADMAN_POLICY_HMOVE | E_GADMAN_POLICY_HSIZE | E_GADMAN_POLICY_VSIZE | E_GADMAN_POLICY_VMOVE); - e_gadman_client_auto_size_set(cf->gmc, 40, 40); - e_gadman_client_align_set(cf->gmc, 1.0, 1.0); - e_gadman_client_resize(cf->gmc, 160, 20); - e_gadman_client_change_func_set(cf->gmc, _uptime_face_cb_gmc_change, cf); - e_gadman_client_load(cf->gmc); - evas_event_thaw(cf->evas); - - cf->monitor = ecore_timer_add((double)cf->uptime->conf->check_interval, _uptime_face_update_values, cf); - return 1; + ci = E_NEW(Config_Item, 1); + ci->id = evas_stringshare_add(id); + ci->check_interval = 60.0; + + ut_config->items = evas_list_append(ut_config->items, ci); + return ci; +} + +void +_ut_config_updated(const char *id) +{ + Evas_List *l; + Config_Item *ci; + + if (!ut_config) return; + ci = _ut_config_item_get(id); + for (l = ut_config->instances; l; l = l->next) + { + Instance *inst; + + inst = l->data; + if (!inst->gcc->id) continue; + if (!strcmp(inst->gcc->id, ci->id)) + { + if (inst->monitor) ecore_timer_del(inst->monitor); + inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); + break; + } + } + return; } -static void -_uptime_face_menu_new(Uptime_Face *cf) -{ - E_Menu *mn; - E_Menu_Item *mi; - - mn = e_menu_new(); - cf->menu = mn; - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Configuration")); - e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_configure, cf); - - mi = e_menu_item_new(mn); - e_menu_item_label_set(mi, _("Edit Mode")); - e_util_menu_item_edje_icon_set(mi, "enlightenment/gadgets"); - e_menu_item_callback_set(mi, _uptime_face_cb_menu_edit, cf); -} +EAPI E_Module_Api e_modapi = { + E_MODULE_API_VERSION, + "Uptime" +}; -static void -_uptime_face_enable(Uptime_Face *cf) +EAPI void * +e_modapi_init(E_Module *m) { - cf->conf->enabled = 1; - e_config_save_queue(); - evas_object_show(cf->uptime_obj); - /* evas_object_show(cf->chart_obj); */ - evas_object_show(cf->event_obj); -} + bindtextdomain(PACKAGE, LOCALEDIR); + bind_textdomain_codeset(PACKAGE, "UTF-8"); -static void -_uptime_face_disable(Uptime_Face *cf) -{ - cf->conf->enabled = 0; - e_config_save_queue(); - evas_object_hide(cf->event_obj); - /* evas_object_hide(cf->chart_obj); */ - evas_object_hide(cf->uptime_obj); + conf_item_edd = E_CONFIG_DD_NEW("Uptime_Config_Item", Config_Item); + #undef T + #undef D + #define T Config_Item + #define D conf_item_edd + E_CONFIG_VAL(D, T, id, STR); + E_CONFIG_VAL(D, T, check_interval, DOUBLE); + + conf_edd = E_CONFIG_DD_NEW("Uptime_Config", Config); + #undef T + #undef D + #define T Config + #define D conf_edd + E_CONFIG_LIST(D, T, items, conf_item_edd); + + ut_config = e_config_domain_load("module.uptime", conf_edd); + if (!ut_config) + { + Config_Item *ci; + char buf[4096]; + + ut_config = E_NEW(Config, 1); + ci = E_NEW(Config_Item, 1); + ci->id = evas_stringshare_add("0"); + ci->check_interval = 60.0; + ut_config->items = evas_list_append(ut_config->items, ci); + } + ut_config->module = m; + e_gadcon_provider_register(&_gc_class); + return 1; } -static void -_uptime_face_free(Uptime_Face *cf) +EAPI int +e_modapi_shutdown(E_Module *m) { - if (cf->monitor) - ecore_timer_del(cf->monitor); - if (cf->menu) - e_object_del(E_OBJECT(cf->menu)); - if (cf->event_obj) - evas_object_del(cf->event_obj); - if (cf->uptime_obj) - evas_object_del(cf->uptime_obj); - - /* - * if (cf->chart_obj) - * evas_object_del(cf->chart_obj); - */ - - if (cf->gmc) + ut_config->module = NULL; + e_gadcon_provider_unregister(&_gc_class); + + if (ut_config->config_dialog) + e_object_del(E_OBJECT(ut_config->config_dialog)); + + if (ut_config->menu) { - e_gadman_client_save(cf->gmc); - e_object_del(E_OBJECT(cf->gmc)); + e_menu_post_deactivate_callback_set(ut_config->menu, NULL, NULL); + e_object_del(E_OBJECT(ut_config->menu)); + ut_config->menu = NULL; } - - E_FREE(cf->conf); - E_FREE(cf); - uptime_count--; + while (ut_config->items) + { + Config_Item *ci; + + ci = ut_config->items->data; + ut_config->items = evas_list_remove_list(ut_config->items, ut_config->items); + if (ci->id) evas_stringshare_del(ci->id); + free(ci); + } + free(ut_config); + ut_config = NULL; + E_CONFIG_DD_FREE(conf_item_edd); + E_CONFIG_DD_FREE(conf_edd); + return 1; } -static void -_uptime_face_cb_gmc_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change) +EAPI int +e_modapi_save(E_Module *m) { - Uptime_Face *cf; - Evas_Coord x, y, w, h; - - cf = data; - switch (change) + Evas_List *l; + + for (l = ut_config->instances; l; l = l->next) { - case E_GADMAN_CHANGE_MOVE_RESIZE: - e_gadman_client_geometry_get(cf->gmc, &x, &y, &w, &h); - evas_object_move(cf->uptime_obj, x, y); - /* evas_object_move(cf->chart_obj, x, y); */ - evas_object_move(cf->event_obj, x, y); - evas_object_resize(cf->uptime_obj, w, h); - /* evas_object_resize(cf->chart_obj, w, h); */ - evas_object_resize(cf->event_obj, w, h); - break; - case E_GADMAN_CHANGE_RAISE: - evas_object_raise(cf->uptime_obj); - /* evas_object_raise(cf->chart_obj); */ - evas_object_raise(cf->event_obj); - break; - default: - break; + Instance *inst; + Config_Item *ci; + + inst = l->data; + ci = _ut_config_item_get(inst->gcc->id); + if (ci->id) evas_stringshare_del(ci->id); + ci->id = evas_stringshare_add(inst->gcc->id); } + e_config_domain_save("module.uptime", conf_edd, ut_config); + return 1; } -static void -_uptime_face_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) +EAPI int +e_modapi_about(E_Module *m) { - Uptime_Face *cf; - Evas_Event_Mouse_Down *ev; - - ev = event_info; - cf = data; - if (ev->button == 3) - { - e_menu_activate_mouse(cf->menu, e_zone_current_get(cf->con), - ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); - e_util_container_fake_mouse_up_all_later(cf->con); - } + e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), + D_("This module is used to monitor uptime.")); + return 1; } -static void -_uptime_face_cb_menu_edit(void *data, E_Menu *mn, E_Menu_Item *mi) +static Uptime * +_ut_new(Evas *evas) { - Uptime_Face *cf; + Uptime *ut; + char buf[4096]; + + ut = E_NEW(Uptime, 1); + snprintf(buf, sizeof(buf), "%s/uptime.edj", e_module_dir_get(ut_config->module)); + + ut->ut_obj = edje_object_add(evas); + if (!e_theme_edje_object_set(ut->ut_obj, "base/theme/modules/uptime", "modules/uptime/main")) + edje_object_file_set(ut->ut_obj, buf, "modules/uptime/main"); - cf = data; - e_gadman_mode_set(cf->gmc->gadman, E_GADMAN_MODE_EDIT); + evas_object_show(ut->ut_obj); + return ut; } static void -_uptime_face_cb_menu_configure(void *data, E_Menu *mn, E_Menu_Item *mi) +_ut_free(Uptime *ut) { - Uptime_Face *cf; - - cf = data; - _configure_uptime_module(cf->con, cf->uptime); + evas_object_del(ut->ut_obj); + free(ut); } static int -_uptime_face_update_values(void *data) +_ut_cb_check(void *data) { - Uptime_Face *cf; + Instance *inst; char u_date_time[256]; struct sysinfo s_info; long minute = 60; long hour = minute * 60; long day = hour * 24; - cf = data; + inst = data; + if (!inst) return 0; + sysinfo(&s_info); sprintf(u_date_time, D_("uptime: %ld days, %ld:%02ld:%02ld"), s_info.uptime / day, (s_info.uptime % day) / hour, (s_info.uptime % hour) / minute, s_info.uptime % minute); - edje_object_part_text_set(cf->uptime_obj, "uptime", u_date_time); + edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); + return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_mod_main.h 3 Jun 2006 13:26:01 -0000 1.4 +++ e_mod_main.h 9 Jun 2006 11:42:59 -0000 1.5 @@ -4,47 +4,21 @@ #define E_MOD_MAIN_H typedef struct _Config Config; -typedef struct _Config_Face Config_Face; -typedef struct _Uptime Uptime; -typedef struct _Uptime_Face Uptime_Face; +typedef struct _Config_Item Config_Item; struct _Config { - unsigned char hostname; - int check_interval; -}; - -struct _Config_Face -{ - unsigned char enabled; -}; - -struct _Uptime -{ - E_Menu *config_menu; - Uptime_Face *face; - Config *conf; - - E_Config_DD *conf_edd; - E_Config_Dialog *cfd; + E_Module *module; + E_Config_Dialog *config_dialog; + E_Menu *menu; + Evas_List *instances; + Evas_List *items; }; -struct _Uptime_Face +struct _Config_Item { - Evas *evas; - E_Container *con; - E_Menu *menu; - Uptime *uptime; - - Config_Face *conf; - E_Config_DD *conf_face_edd; - - Evas_Object *uptime_obj; - Evas_Object *event_obj; - - Ecore_Timer *monitor; - - E_Gadman_Client *gmc; + const char *id; + int check_interval; }; EAPI extern E_Module_Api e_modapi; @@ -53,6 +27,8 @@ EAPI int e_modapi_shutdown(E_Module *m); EAPI int e_modapi_save(E_Module *m); EAPI int e_modapi_about(E_Module *m); -EAPI int e_modapi_config(E_Module *m); + +void _config_ut_module(Config_Item *ci); +extern Config *ut_config; #endif =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- uptime.edc 21 May 2006 08:18:19 -0000 1.5 +++ uptime.edc 9 Jun 2006 11:42:59 -0000 1.6 @@ -19,7 +19,7 @@ { name: "base"; type: RECT; - mouse_events: 0; + mouse_events: 1; description { state: "default" 0.0; @@ -33,7 +33,7 @@ type, TEXT; clip_to: "base"; effect, OUTLINE_SOFT_SHADOW; - mouse_events, 0; + mouse_events, 1; description { state: "default" 0.0; @@ -48,7 +48,7 @@ relative: 1.0 1.0; } color: 255 255 255 255; - color2: 64 64 64 255; + color2: 64 64 64 255; color3: 128 128 128 192; text { @@ -60,8 +60,7 @@ } } } - } + } } } - |
From: Enlightenment C. <no...@cv...> - 2006-06-09 11:55:14
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: configure.in Log Message: Version Bump to indicate shelfed code. =================================================================== RCS file: /cvs/e/e_modules/uptime/configure.in,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- configure.in 13 May 2006 01:52:20 -0000 1.8 +++ configure.in 9 Jun 2006 11:53:16 -0000 1.9 @@ -7,7 +7,7 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST -AM_INIT_AUTOMAKE(uptime, 0.0.1) +AM_INIT_AUTOMAKE(uptime, 0.0.2) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX AC_PROG_CC |
From: Enlightenment C. <no...@cv...> - 2006-06-14 00:12:10
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: uptime.edc Log Message: Fix uptime.edc for Hawkwind :) Apparenly, the shelf style Insert doesn't play nice with clipping. =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- uptime.edc 9 Jun 2006 11:42:59 -0000 1.6 +++ uptime.edc 14 Jun 2006 00:12:06 -0000 1.7 @@ -17,21 +17,8 @@ { part { - name: "base"; - type: RECT; - mouse_events: 1; - description - { - state: "default" 0.0; - color: 255 255 255 255; - } - } - - part - { name, "uptime"; type, TEXT; - clip_to: "base"; effect, OUTLINE_SOFT_SHADOW; mouse_events, 1; description @@ -40,12 +27,12 @@ rel1 { relative: 0.0 0.0; - to_x: "base"; - offset: 0 0; + offset: 0 2; } rel2 { - relative: 1.0 1.0; + relative: 1.0 0.5; + offset: -1 -1; } color: 255 255 255 255; color2: 64 64 64 255; @@ -56,7 +43,7 @@ font: "VeraMono"; size: 12; min: 1 1; - align: 0.0 0.5; + align: 0.5 0.5; } } } |
From: Enlightenment C. <no...@cv...> - 2006-06-14 00:33:30
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_config.c Log Message: Make uptime use a minimum of 5 second polling, anything less and it hogs up cpu. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_mod_config.c 9 Jun 2006 11:42:59 -0000 1.4 +++ e_mod_config.c 14 Jun 2006 00:33:28 -0000 1.5 @@ -69,7 +69,7 @@ of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 5.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); |
From: Enlightenment C. <no...@cv...> - 2006-06-14 00:36:15
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_config.c Log Message: Make it 1 minute minimum and 10 minutes max. Seems more reasonable. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_mod_config.c 14 Jun 2006 00:33:28 -0000 1.5 +++ e_mod_config.c 14 Jun 2006 00:36:14 -0000 1.6 @@ -69,7 +69,7 @@ of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 5.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f minutes"), 1.0, 10.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -82,7 +82,7 @@ Config_Item *ci; ci = cfd->data; - ci->check_interval = cfdata->check_interval; + ci->check_interval = (cfdata->check_interval * 60.0); e_config_save_queue(); _ut_config_updated(ci->id); |
From: Enlightenment C. <no...@cv...> - 2006-06-14 01:03:35
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_config.c e_mod_main.c uptime.edc Log Message: Changed edc to make the text more like tclock. Looks better imho. Fixed uptime using >80% cpu when poll interval was 1 second. Thanks raster for the idea :) =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_mod_config.c 14 Jun 2006 00:36:14 -0000 1.6 +++ e_mod_config.c 14 Jun 2006 01:03:32 -0000 1.7 @@ -69,7 +69,7 @@ of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f minutes"), 1.0, 10.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); @@ -82,7 +82,7 @@ Config_Item *ci; ci = cfd->data; - ci->check_interval = (cfdata->check_interval * 60.0); + ci->check_interval = cfdata->check_interval; e_config_save_queue(); _ut_config_updated(ci->id); =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_mod_main.c 9 Jun 2006 11:42:59 -0000 1.9 +++ e_mod_main.c 14 Jun 2006 01:03:32 -0000 1.10 @@ -11,6 +11,7 @@ Evas_Object *ut_obj; Uptime *ut; Ecore_Timer *monitor; + int uptime; }; struct _Uptime @@ -53,6 +54,7 @@ Config_Item *ci; Uptime *ut; char buf[4096]; + struct sysinfo s_info; inst = E_NEW(Instance, 1); ci = _ut_config_item_get(id); @@ -71,6 +73,9 @@ evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down, inst); ut_config->instances = evas_list_append(ut_config->instances, inst); + sysinfo(&s_info); + inst->uptime = s_info.uptime; + if (!inst->monitor) inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); @@ -349,18 +354,22 @@ _ut_cb_check(void *data) { Instance *inst; - char u_date_time[256]; - struct sysinfo s_info; + Config_Item *ci; long minute = 60; long hour = minute * 60; long day = hour * 24; + char u_date_time[256]; inst = data; if (!inst) return 0; - sysinfo(&s_info); + ci = _ut_config_item_get(inst->gcc->id); + if (!ci) return 0; + + inst->uptime += (1 * ci->check_interval); + sprintf(u_date_time, D_("uptime: %ld days, %ld:%02ld:%02ld"), - s_info.uptime / day, (s_info.uptime % day) / hour, (s_info.uptime % hour) / minute, s_info.uptime % minute); + inst->uptime / day, (inst->uptime % day) / hour, (inst->uptime % hour) / minute, inst->uptime % minute); edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); return 1; =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- uptime.edc 14 Jun 2006 00:12:06 -0000 1.7 +++ uptime.edc 14 Jun 2006 01:03:32 -0000 1.8 @@ -35,8 +35,8 @@ offset: -1 -1; } color: 255 255 255 255; - color2: 64 64 64 255; - color3: 128 128 128 192; + color2: 0 0 0 96; + color3: 0 0 0 32; text { text: "uptime"; |
From: Enlightenment C. <no...@cv...> - 2006-06-26 21:37:17
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: Makefile.am Log Message: Do not need a link to the math library for this module. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 9 Jun 2006 11:42:59 -0000 1.6 +++ Makefile.am 27 Jun 2006 02:37:15 -0000 1.7 @@ -28,7 +28,7 @@ e_mod_main.h \ e_mod_config.c -module_la_LIBADD = @e_libs@ -lm +module_la_LIBADD = @e_libs@ module_la_LDFLAGS = -module -avoid-version module_la_DEPENDENCIES = $(top_builddir)/config.h |
From: Enlightenment C. <no...@cv...> - 2006-06-28 19:05:59
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: AUTHORS Makefile.am e_mod_config.c e_mod_main.c e_mod_main.h uptime.edc Removed Files: module_icon.png Log Message: Modified Patch from Stanislav Sedov for: -Uptime works on FreeBsd now. -Added additional parameter to specify period of syncronization with system clock which allows smooth clock update without high system load. -Module can now display load averages and number of users for FreeBsd. =================================================================== RCS file: /cvs/e/e_modules/uptime/AUTHORS,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- AUTHORS 20 Feb 2006 17:21:15 -0000 1.1 +++ AUTHORS 28 Jun 2006 23:48:53 -0000 1.2 @@ -1,2 +1,4 @@ Originally by Matthew Mullins. -Recoded into seperate modules by Christopher 'devilhorns' Michael <dev...@co...> +Recoded into seperate modules by Christopher 'devilhorns' Michael <dev...@co...>. +FreeBSD, load averages and number of users patches as well as additional cleanup +by Stanislav Sedov <ss...@mb...>. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- Makefile.am 27 Jun 2006 02:37:15 -0000 1.7 +++ Makefile.am 28 Jun 2006 23:48:53 -0000 1.8 @@ -28,7 +28,7 @@ e_mod_main.h \ e_mod_config.c -module_la_LIBADD = @e_libs@ +module_la_LIBADD = @e_libs@ -lm module_la_LDFLAGS = -module -avoid-version module_la_DEPENDENCIES = $(top_builddir)/config.h =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- e_mod_config.c 14 Jun 2006 01:03:32 -0000 1.7 +++ e_mod_config.c 28 Jun 2006 23:48:53 -0000 1.8 @@ -1,9 +1,16 @@ #include <e.h> #include "e_mod_main.h" +#include <stdlib.h> +#include <stdint.h> +#include <err.h> +#include <sys/types.h> +#include <sys/time.h> + struct _E_Config_Dialog_Data { double check_interval; + double update_interval; }; /* Protos */ @@ -20,8 +27,15 @@ E_Config_Dialog *cfd; E_Config_Dialog_View *v; E_Container *con; - + + if (!ut_config) return; + v = E_NEW(E_Config_Dialog_View, 1); + if (v == NULL) + { + warn("malloc()"); + return; + } v->create_cfdata = _create_data; v->free_cfdata = _free_data; @@ -36,27 +50,39 @@ static void _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata) { + if (!cfdata) return; cfdata->check_interval = ci->check_interval; + cfdata->update_interval = ci->update_interval; } static void * _create_data(E_Config_Dialog *cfd) { - E_Config_Dialog_Data *cfdata; + E_Config_Dialog_Data *cfdata; Config_Item *ci; + if (!cfd) return NULL; + ci = cfd->data; cfdata = E_NEW(E_Config_Dialog_Data, 1); + if (cfdata == NULL) + { + warn("malloc()"); + return NULL; + } _fill_data(ci, cfdata); + return cfdata; } static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { - if (!ut_config) return; + if (ut_config == NULL) + return; ut_config->config_dialog = NULL; + free(cfdata); } @@ -67,10 +93,21 @@ o = e_widget_list_add(evas, 0, 0); of = e_widget_framelist_add(evas, D_("Uptime Settings"), 0); + + ob = e_widget_label_add(evas, D_("Update Interval:")); + e_widget_framelist_object_append(of, ob); + + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, + 1.0, 0, &(cfdata->update_interval), NULL, 100); + e_widget_framelist_object_append(of, ob); + ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); + + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 15.0, 60.0, + 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); return o; @@ -80,9 +117,11 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { Config_Item *ci; - + + if (!cfd) return 0; ci = cfd->data; ci->check_interval = cfdata->check_interval; + ci->update_interval = cfdata->update_interval; e_config_save_queue(); _ut_config_updated(ci->id); =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- e_mod_main.c 14 Jun 2006 01:03:32 -0000 1.10 +++ e_mod_main.c 28 Jun 2006 23:48:53 -0000 1.11 @@ -1,20 +1,38 @@ #include <e.h> -#include <linux/kernel.h> #include "e_mod_main.h" +#include <stdlib.h> +#include <stdint.h> +#include <sys/types.h> +#include <sys/time.h> +#include <syslog.h> + +#ifdef __linux__ +# include <linux/kernel.h> +#endif + +#ifdef __FreeBSD__ +# include <utmp.h> +# include <paths.h> +# include <sys/tty.h> +#endif + typedef struct _Instance Instance; typedef struct _Uptime Uptime; -struct _Instance +struct _Instance { E_Gadcon_Client *gcc; Evas_Object *ut_obj; Uptime *ut; Ecore_Timer *monitor; - int uptime; + time_t uptime; + time_t counter; + int nusers; + double la[3]; }; -struct _Uptime +struct _Uptime { Instance *inst; Evas_Object *ut_obj; @@ -33,20 +51,21 @@ static Uptime *_ut_new(Evas *evas); static void _ut_free(Uptime *ut); static int _ut_cb_check(void *data); +static void update_counters(Instance *inst); static E_Config_DD *conf_edd = NULL; static E_Config_DD *conf_item_edd = NULL; Config *ut_config = NULL; -static const E_Gadcon_Client_Class _gc_class = +static const E_Gadcon_Client_Class _gc_class = { GADCON_CLIENT_CLASS_VERSION, "uptime", {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon} }; static E_Gadcon_Client * -_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) +_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style) { Evas_Object *o; E_Gadcon_Client *gcc; @@ -54,45 +73,53 @@ Config_Item *ci; Uptime *ut; char buf[4096]; - struct sysinfo s_info; - + inst = E_NEW(Instance, 1); ci = _ut_config_item_get(id); - if (!ci->id) ci->id = evas_stringshare_add(id); - + +#ifdef UPTIME_DEBUG + syslog(LOG_EMERG, "ii id= %s, ci->update_interval = %d, ci = %d\n", + ci->id, ci->update_interval, ci->check_interval); +#endif + ut = _ut_new(gc->evas); ut->inst = inst; inst->ut = ut; - + o = ut->ut_obj; gcc = e_gadcon_client_new(gc, name, id, style, o); gcc->data = inst; inst->gcc = gcc; inst->ut_obj = o; - + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down, inst); ut_config->instances = evas_list_append(ut_config->instances, inst); - sysinfo(&s_info); - inst->uptime = s_info.uptime; - + (void)update_counters(inst); + inst->counter = 0; + if (!inst->monitor) - inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); - + inst->monitor = ecore_timer_add(ci->update_interval, _ut_cb_check, inst); + return gcc; } static void -_gc_shutdown(E_Gadcon_Client *gcc) +_gc_shutdown(E_Gadcon_Client *gcc) { Instance *inst; Uptime *ut; + + if (!gcc) return; + if (!gcc->data) return; inst = gcc->data; ut = inst->ut; + if (!ut) return; + + if (inst->monitor != NULL) + ecore_timer_del(inst->monitor); - if (inst->monitor) ecore_timer_del(inst->monitor); - ut_config->instances = evas_list_remove(ut_config->instances, inst); evas_object_event_callback_del(ut->ut_obj, EVAS_CALLBACK_MOUSE_DOWN, _ut_cb_mouse_down); @@ -101,133 +128,151 @@ } static void -_gc_orient(E_Gadcon_Client *gcc) +_gc_orient(E_Gadcon_Client *gcc) { e_gadcon_client_aspect_set(gcc, 16, 16); e_gadcon_client_min_size_set(gcc, 16, 16); } static char * -_gc_label(void) +_gc_label(void) { return D_("Uptime"); } static Evas_Object * -_gc_icon(Evas *evas) +_gc_icon(Evas *evas) { Evas_Object *o; char buf[4096]; - + o = edje_object_add(evas); snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ut_config->module)); edje_object_file_set(o, buf, "icon"); + return o; } -static void -_ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) +static void +_ut_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Instance *inst; Evas_Event_Mouse_Down *ev; - - if (ut_config->menu) return; - + + if (ut_config->menu != NULL) + return; + inst = data; ev = event_info; + if (ev->button == 3) { E_Menu *mn; E_Menu_Item *mi; int x, y, w, h; - + mn = e_menu_new(); e_menu_post_deactivate_callback_set(mn, _ut_menu_cb_post, inst); ut_config->menu = mn; - + mi = e_menu_item_new(mn); e_menu_item_label_set(mi, D_("Configuration")); e_util_menu_item_edje_icon_set(mi, "enlightenment/configuration"); e_menu_item_callback_set(mi, _ut_menu_cb_configure, inst); - + mi = e_menu_item_new(mn); e_menu_item_separator_set(mi, 1); - - e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); - e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, &w, &h); - e_menu_activate_mouse(mn, e_util_zone_current_get(e_manager_current_get()), - x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); - evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); + + e_gadcon_client_util_menu_items_append(inst->gcc, mn, 0); + e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, + &w, &h); + e_menu_activate_mouse(mn, + e_util_zone_current_get(e_manager_current_get()), + x + ev->output.x, y + ev->output.y, 1, 1, + E_MENU_POP_DIRECTION_DOWN, ev->timestamp); + evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, + EVAS_BUTTON_NONE, ev->timestamp, NULL); } } static void -_ut_menu_cb_post(void *data, E_Menu *m) +_ut_menu_cb_post(void *data, E_Menu *m) { - if (!ut_config->menu) return; + if (ut_config->menu == NULL) + return; e_object_del(E_OBJECT(ut_config->menu)); ut_config->menu = NULL; } static void -_ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi) +_ut_menu_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi) { Instance *inst; Config_Item *ci; - + inst = data; ci = _ut_config_item_get(inst->gcc->id); _config_ut_module(ci); } static Config_Item * -_ut_config_item_get(const char *id) +_ut_config_item_get(const char *id) { Evas_List *l; Config_Item *ci; char buf[4096]; - - for (l = ut_config->items; l; l = l->next) + + for (l = ut_config->items; l; l = l->next) { ci = l->data; - if (!ci->id) continue; - if (!strcmp(ci->id, id)) return ci; + if (ci->id == NULL) + continue; + if (strcmp(ci->id, id) == 0) + return ci; } + ci = E_NEW(Config_Item, 1); ci->id = evas_stringshare_add(id); ci->check_interval = 60.0; - + ci->update_interval = 60.0; + ut_config->items = evas_list_append(ut_config->items, ci); + return ci; } void -_ut_config_updated(const char *id) +_ut_config_updated(const char *id) { Evas_List *l; Config_Item *ci; - - if (!ut_config) return; + + if (ut_config == NULL) + return; + ci = _ut_config_item_get(id); - for (l = ut_config->instances; l; l = l->next) + + for (l = ut_config->instances; l; l = l->next) { Instance *inst; - + inst = l->data; - if (!inst->gcc->id) continue; - if (!strcmp(inst->gcc->id, ci->id)) + if (inst->gcc->id == NULL) + continue; + if (strcmp(inst->gcc->id, ci->id) == 0) { - if (inst->monitor) ecore_timer_del(inst->monitor); - inst->monitor = ecore_timer_add(ci->check_interval, _ut_cb_check, inst); + if (inst->monitor != NULL) + ecore_timer_del(inst->monitor); + inst->monitor = ecore_timer_add(ci->update_interval, _ut_cb_check, inst); break; } } - return; } -EAPI E_Module_Api e_modapi = { +EAPI E_Module_Api e_modapi = +{ E_MODULE_API_VERSION, - "Uptime" + "Uptime" }; EAPI void * @@ -237,65 +282,74 @@ bind_textdomain_codeset(PACKAGE, "UTF-8"); conf_item_edd = E_CONFIG_DD_NEW("Uptime_Config_Item", Config_Item); - #undef T - #undef D - #define T Config_Item - #define D conf_item_edd +#undef T +#undef D +#define T Config_Item +#define D conf_item_edd E_CONFIG_VAL(D, T, id, STR); - E_CONFIG_VAL(D, T, check_interval, DOUBLE); - + E_CONFIG_VAL(D, T, check_interval, INT); + E_CONFIG_VAL(D, T, update_interval, INT); + conf_edd = E_CONFIG_DD_NEW("Uptime_Config", Config); - #undef T - #undef D - #define T Config - #define D conf_edd +#undef T +#undef D +#define T Config +#define D conf_edd E_CONFIG_LIST(D, T, items, conf_item_edd); - + ut_config = e_config_domain_load("module.uptime", conf_edd); - if (!ut_config) + if (ut_config == NULL) { Config_Item *ci; char buf[4096]; - + ut_config = E_NEW(Config, 1); ci = E_NEW(Config_Item, 1); ci->id = evas_stringshare_add("0"); ci->check_interval = 60.0; + ci->update_interval = 60.0; ut_config->items = evas_list_append(ut_config->items, ci); } ut_config->module = m; e_gadcon_provider_register(&_gc_class); - return 1; + + return m; } EAPI int e_modapi_shutdown(E_Module *m) { + ut_config->module = NULL; e_gadcon_provider_unregister(&_gc_class); - - if (ut_config->config_dialog) + + if (ut_config->config_dialog != NULL) e_object_del(E_OBJECT(ut_config->config_dialog)); - - if (ut_config->menu) + + if (ut_config->menu) { e_menu_post_deactivate_callback_set(ut_config->menu, NULL, NULL); e_object_del(E_OBJECT(ut_config->menu)); ut_config->menu = NULL; } - while (ut_config->items) + while (ut_config->items) { Config_Item *ci; - + ci = ut_config->items->data; ut_config->items = evas_list_remove_list(ut_config->items, ut_config->items); - if (ci->id) evas_stringshare_del(ci->id); + + if (ci->id != NULL) + evas_stringshare_del(ci->id); + free(ci); } + free(ut_config); ut_config = NULL; E_CONFIG_DD_FREE(conf_item_edd); E_CONFIG_DD_FREE(conf_edd); + return 1; } @@ -303,35 +357,38 @@ e_modapi_save(E_Module *m) { Evas_List *l; - - for (l = ut_config->instances; l; l = l->next) + + for (l = ut_config->instances; l; l = l->next) { Instance *inst; Config_Item *ci; - + inst = l->data; ci = _ut_config_item_get(inst->gcc->id); - if (ci->id) evas_stringshare_del(ci->id); + if (ci->id != NULL) + evas_stringshare_del(ci->id); ci->id = evas_stringshare_add(inst->gcc->id); } + e_config_domain_save("module.uptime", conf_edd, ut_config); + return 1; } EAPI int e_modapi_about(E_Module *m) { - e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), + e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), D_("This module is used to monitor uptime.")); return 1; } static Uptime * -_ut_new(Evas *evas) +_ut_new(Evas *evas) { Uptime *ut; - char buf[4096]; - + char buf[4096]; + ut = E_NEW(Uptime, 1); snprintf(buf, sizeof(buf), "%s/uptime.edj", e_module_dir_get(ut_config->module)); @@ -339,38 +396,142 @@ if (!e_theme_edje_object_set(ut->ut_obj, "base/theme/modules/uptime", "modules/uptime/main")) edje_object_file_set(ut->ut_obj, buf, "modules/uptime/main"); - evas_object_show(ut->ut_obj); + evas_object_show(ut->ut_obj); return ut; } static void -_ut_free(Uptime *ut) +_ut_free(Uptime *ut) { evas_object_del(ut->ut_obj); free(ut); } +static void +update_counters(Instance *inst) +{ +#ifdef __linux__ + struct sysinfo s_info; +#elif defined(__FreeBSD__) + FILE *utmp; + struct timespec tp; + struct utmp ut; + char ttybuf[MAXPATHLEN]; + struct stat st; + int ret; +#endif + + if (!inst) return; + +#ifdef __linux__ + sysinfo(&s_info); + inst->uptime = s_info.uptime; + + inst->la[0] = -1; /* unsupported */ + inst->nusers = -1; /* unsupported */ +#elif defined(__FreeBSD__) + /* retrive uptime info */ + ret = clock_gettime(CLOCK_UPTIME, &tp); + if (ret != 0) + { + warn("clock_gettime()"); + inst->uptime = -1; + } + else + inst->uptime = tp.tv_sec; + + /* retrive load averages */ + ret = getloadavg(inst->la, sizeof(inst->la)/sizeof(inst->la[0])); + if (ret < 0) + { + warn("getloadavg()"); + inst->la[0] = -1; + } + + /* retrive number of active users */ + utmp = fopen(_PATH_UTMP, "r"); + if (utmp == NULL) + inst->nusers = -1; + else + { + for (inst->nusers = 0; fread(&ut, sizeof(ut), 1, utmp);) + { + if (ut.ut_name[0] == '\0') + continue; + (void)snprintf(ttybuf, sizeof(ttybuf), "%s%.*s", _PATH_DEV, UT_LINESIZE, ut.ut_line); + if (stat(ttybuf, &st) != 0) + continue; /* broken record */ + + inst->nusers++; + } + fclose(utmp); + } +#else /* unsupported */ + inst->uptime = -1; + inst->nusers = -1; + inst->la[0] = -1; +#endif +} + static int _ut_cb_check(void *data) { Instance *inst; Config_Item *ci; - long minute = 60; - long hour = minute * 60; - long day = hour * 24; - char u_date_time[256]; + int days, hours, minutes; + char u_date_time[256] = "up: N/A"; + char load_avg[256] = "la: N/A"; + char users[256] = "users: N/A"; + time_t uptime; inst = data; - if (!inst) return 0; + if (inst == 0) + return 0; ci = _ut_config_item_get(inst->gcc->id); - if (!ci) return 0; - - inst->uptime += (1 * ci->check_interval); - - sprintf(u_date_time, D_("uptime: %ld days, %ld:%02ld:%02ld"), - inst->uptime / day, (inst->uptime % day) / hour, (inst->uptime % hour) / minute, inst->uptime % minute); + if (ci == 0) + return 0; + +#ifdef UPTIME_DEBUG + syslog(LOG_EMERG, "counter = %d update = %d\n", inst->counter, ci->check_interval); +#endif + + inst->counter += ci->update_interval; + if (inst->counter >= ci->check_interval) + { + inst->counter = 0; + (void)update_counters(inst); + } + + uptime = inst->uptime + inst->counter; + + if (uptime != -1) + { + days = uptime / (24 * 3600); + uptime %= 24 * 3600; + + hours = uptime / 3600; + uptime %= 3600; + + minutes = uptime / 60; + uptime %= 60; + + snprintf(u_date_time, sizeof(u_date_time), + D_("up: %ld days, %ld:%02ld:%02ld"), + days, hours, minutes, uptime); + } + + if (inst->la[0] != -1) + snprintf(load_avg, sizeof(load_avg), + D_("la: %.2f %.2f %.2f"), + inst->la[0], inst->la[1], inst->la[2]); + + if (inst->nusers != -1) + snprintf(users, sizeof(users), D_("users: %d"), inst->nusers); + edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); - + edje_object_part_text_set(inst->ut->ut_obj, "load_average", load_avg); + edje_object_part_text_set(inst->ut->ut_obj, "nusers", users); + return 1; } =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- e_mod_main.h 9 Jun 2006 11:42:59 -0000 1.5 +++ e_mod_main.h 28 Jun 2006 23:48:53 -0000 1.6 @@ -19,6 +19,7 @@ { const char *id; int check_interval; + int update_interval; }; EAPI extern E_Module_Api e_modapi; =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- uptime.edc 14 Jun 2006 01:03:32 -0000 1.8 +++ uptime.edc 28 Jun 2006 23:48:53 -0000 1.9 @@ -27,12 +27,12 @@ rel1 { relative: 0.0 0.0; - offset: 0 2; + offset: 0 0; } rel2 { - relative: 1.0 0.5; - offset: -1 -1; + relative: 1.0 0.33; + offset: 0 0; } color: 255 255 255 255; color2: 0 0 0 96; @@ -40,6 +40,70 @@ text { text: "uptime"; + font: "VeraMono"; + size: 12; + min: 1 1; + align: 0.5 0.5; + } + } + } + part + { + name, "load_average"; + type, TEXT; + effect, OUTLINE_SOFT_SHADOW; + mouse_events, 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 0.33; + offset: 0 0; + } + rel2 + { + relative: 1.0 0.66; + offset: 0 0; + } + color: 255 255 255 255; + color2: 0 0 0 96; + color3: 0 0 0 32; + text + { + text: "load average"; + font: "VeraMono"; + size: 12; + min: 1 1; + align: 0.5 0.5; + } + } + } + part + { + name, "nusers"; + type, TEXT; + effect, OUTLINE_SOFT_SHADOW; + mouse_events, 1; + description + { + state: "default" 0.0; + rel1 + { + relative: 0.0 0.66; + offset: 0 0; + } + rel2 + { + relative: 1.0 1.0; + offset: 0 0; + } + color: 255 255 255 255; + color2: 0 0 0 96; + color3: 0 0 0 32; + text + { + text: "users"; font: "VeraMono"; size: 12; min: 1 1; |
From: Enlightenment C. <no...@cv...> - 2006-06-29 11:01:00
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: Makefile.am Log Message: Need to remove module_icon.png here too, doh. =================================================================== RCS file: /cvs/e/e_modules/uptime/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- Makefile.am 28 Jun 2006 23:48:53 -0000 1.8 +++ Makefile.am 29 Jun 2006 16:00:58 -0000 1.9 @@ -12,7 +12,6 @@ e_modules-uptime.spec e_modules-uptime.spec.in module.eap files_DATA = \ -module_icon.png \ uptime.edj \ module.eap |
From: Enlightenment C. <no...@cv...> - 2006-06-29 14:57:26
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: configure.in e_mod_config.c e_mod_main.c uptime.edc Log Message: Add load average and users for linux :) Fix edc so that uptime doesn't get clipped at the top and looks better on Inset style. Changed config dialog to be able to set 1 second check interval: -This does not use >80% cpu. Configure.in changes: -Check if the system uses sys/time.h or time.h . -Check if the getloadavg function is available to use. =================================================================== RCS file: /cvs/e/e_modules/uptime/configure.in,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- configure.in 10 Jun 2006 02:34:00 -0000 1.10 +++ configure.in 29 Jun 2006 19:56:51 -0000 1.11 @@ -13,10 +13,13 @@ AC_PROG_CC AM_PROG_CC_STDC AC_HEADER_STDC +AC_HEADER_TIME +AC_CHECK_HEADERS(sys/time.h) AC_C_CONST AM_ENABLE_SHARED AM_PROG_LIBTOOL +AC_CHECK_FUNCS(getloadavg, [], []) ALL_LINGUAS="bg eo fi it ja sv" AC_SUBST(ALL_LINGUAS) =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_mod_config.c 28 Jun 2006 23:48:53 -0000 1.8 +++ e_mod_config.c 29 Jun 2006 19:56:51 -0000 1.9 @@ -104,7 +104,7 @@ ob = e_widget_label_add(evas, D_("Check Interval:")); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 15.0, 60.0, + ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"), 1.0, 60.0, 1.0, 0, &(cfdata->check_interval), NULL, 100); e_widget_framelist_object_append(of, ob); =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- e_mod_main.c 29 Jun 2006 17:07:00 -0000 1.12 +++ e_mod_main.c 29 Jun 2006 19:56:51 -0000 1.13 @@ -4,20 +4,30 @@ #include <stdlib.h> #include <stdint.h> #include <sys/types.h> -#include <sys/time.h> +#include <utmp.h> + +#if TIME_WITH_SYS_TIME +# include <sys/time.h> +# include <time.h> +#else +# if HAVE_SYS_TIME_H +# include <sys/time.h> +# else +# include <time.h> +# endif +#endif #include <syslog.h> #ifdef __linux__ # include <linux/kernel.h> +# include <linux/unistd.h> #endif #ifdef __FreeBSD__ -# include <utmp.h> # include <paths.h> # include <sys/tty.h> # include <sys/sysctl.h> # include <sys/param.h> - #endif typedef struct _Instance Instance; @@ -322,13 +332,12 @@ EAPI int e_modapi_shutdown(E_Module *m) { - ut_config->module = NULL; e_gadcon_provider_unregister(&_gc_class); if (ut_config->config_dialog != NULL) e_object_del(E_OBJECT(ut_config->config_dialog)); - + if (ut_config->menu) { e_menu_post_deactivate_callback_set(ut_config->menu, NULL, NULL); @@ -413,8 +422,10 @@ static void update_counters(Instance *inst) { + int ret; #ifdef __linux__ struct sysinfo s_info; + struct utmp *utmpstruct; #elif defined(__FreeBSD__) int mib[2]; size_t size; @@ -428,17 +439,29 @@ struct utmp ut; char ttybuf[MAXPATHLEN]; struct stat st; - int ret; #endif - if (!inst) return; + if (!inst) + return; #ifdef __linux__ sysinfo(&s_info); inst->uptime = s_info.uptime; - - inst->la[0] = -1; /* unsupported */ - inst->nusers = -1; /* unsupported */ + inst->la[0] = -1; +# ifdef HAVE_GETLOADAVG + ret = getloadavg(inst->la, sizeof(inst->la)/sizeof(inst->la[0])); + if (ret < 0) + inst->la[0] = -1; +# endif + inst->nusers = 0; + setutent(); + while ((utmpstruct = getutent())) + { + if ((utmpstruct->ut_type == USER_PROCESS) && + (utmpstruct->ut_name[0] != '\0')) + inst->nusers++; + } + endutent(); #elif defined(__FreeBSD__) /* retrive uptime info */ (void)time(&now); @@ -453,17 +476,17 @@ uptime += 30; inst->uptime = uptime; } - else + else inst->uptime = -1; /* retrive load averages */ + inst->la[0] = -1; +# ifdef HAVE_GETLOADAVG ret = getloadavg(inst->la, sizeof(inst->la)/sizeof(inst->la[0])); if (ret < 0) - { - warn("getloadavg()"); - inst->la[0] = -1; - } - + warn("getloadavg()"); +# endif + /* retrive number of active users */ utmp = fopen(_PATH_UTMP, "r"); if (utmp == NULL) @@ -501,11 +524,11 @@ time_t uptime; inst = data; - if (inst == 0) + if (!inst) return 0; ci = _ut_config_item_get(inst->gcc->id); - if (ci == 0) + if (!ci) return 0; #ifdef UPTIME_DEBUG @@ -537,13 +560,15 @@ days, hours, minutes, uptime); } - if (inst->la[0] != -1) + if (inst->la[0] != -1) + { snprintf(load_avg, sizeof(load_avg), D_("la: %.2f %.2f %.2f"), inst->la[0], inst->la[1], inst->la[2]); - + } + if (inst->nusers != -1) - snprintf(users, sizeof(users), D_("users: %d"), inst->nusers); + snprintf(users, sizeof(users), D_("user%s: %d"), (inst->nusers != 1) ? "s" : "", inst->nusers); edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); edje_object_part_text_set(inst->ut->ut_obj, "load_average", load_avg); =================================================================== RCS file: /cvs/e/e_modules/uptime/uptime.edc,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- uptime.edc 28 Jun 2006 23:48:53 -0000 1.9 +++ uptime.edc 29 Jun 2006 19:56:51 -0000 1.10 @@ -1,8 +1,3 @@ -images -{ - image: "uptime.png" COMP; -} - fonts { font: "VeraMono.ttf" "VeraMono"; @@ -27,12 +22,12 @@ rel1 { relative: 0.0 0.0; - offset: 0 0; + offset: 0 4; } rel2 { relative: 1.0 0.33; - offset: 0 0; + offset: 0 -3; } color: 255 255 255 255; color2: 0 0 0 96; @@ -41,9 +36,10 @@ { text: "uptime"; font: "VeraMono"; - size: 12; + size: 10; min: 1 1; - align: 0.5 0.5; + align: 0.5 1.0; + text_class: "module_large"; } } } @@ -58,13 +54,14 @@ state: "default" 0.0; rel1 { - relative: 0.0 0.33; - offset: 0 0; + relative: 0.0 1.0; + offset: 0 4; + to_y: "uptime"; } rel2 { relative: 1.0 0.66; - offset: 0 0; + offset: 0 -3; } color: 255 255 255 255; color2: 0 0 0 96; @@ -73,9 +70,10 @@ { text: "load average"; font: "VeraMono"; - size: 12; + size: 10; min: 1 1; align: 0.5 0.5; + text_class: "module_small"; } } } @@ -90,13 +88,14 @@ state: "default" 0.0; rel1 { - relative: 0.0 0.66; - offset: 0 0; + relative: 0.0 1.0; + offset: 0 4; + to_y: "load_average"; } rel2 { relative: 1.0 1.0; - offset: 0 0; + offset: 0 -8; } color: 255 255 255 255; color2: 0 0 0 96; @@ -105,9 +104,10 @@ { text: "users"; font: "VeraMono"; - size: 12; + size: 8; min: 1 1; - align: 0.5 0.5; + align: 0.5 1.0; + text_class: "module_small"; } } } |
From: Enlightenment C. <no...@cv...> - 2006-07-01 20:10:01
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Fix for Massimo's translation. Other languages can now translate the user/users string. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- e_mod_main.c 29 Jun 2006 19:56:51 -0000 1.13 +++ e_mod_main.c 2 Jul 2006 01:09:56 -0000 1.14 @@ -567,9 +567,14 @@ inst->la[0], inst->la[1], inst->la[2]); } - if (inst->nusers != -1) - snprintf(users, sizeof(users), D_("user%s: %d"), (inst->nusers != 1) ? "s" : "", inst->nusers); - + if (inst->nusers != -1) + { + if (inst->nusers == 1) + snprintf(users, sizeof(users), D_("user: %d"), inst->nusers); + else if (inst->nusers > 1) + snprintf(users, sizeof(users), D_("users: %d"), inst->nusers); + } + edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); edje_object_part_text_set(inst->ut->ut_obj, "load_average", load_avg); edje_object_part_text_set(inst->ut->ut_obj, "nusers", users); |
From: Enlightenment C. <no...@cv...> - 2006-07-02 02:10:20
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Just make it users so we don't have to replace all the gettext calls with ngettext. This won't look/sound correct when there is only one user but oh well. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_mod_main.c 2 Jul 2006 01:09:56 -0000 1.14 +++ e_mod_main.c 2 Jul 2006 07:10:18 -0000 1.15 @@ -568,12 +568,7 @@ } if (inst->nusers != -1) - { - if (inst->nusers == 1) - snprintf(users, sizeof(users), D_("user: %d"), inst->nusers); - else if (inst->nusers > 1) - snprintf(users, sizeof(users), D_("users: %d"), inst->nusers); - } + snprintf(users, sizeof(users), D_("users: %d"), inst->nusers); edje_object_part_text_set(inst->ut->ut_obj, "uptime", u_date_time); edje_object_part_text_set(inst->ut->ut_obj, "load_average", load_avg); |
From: Enlightenment C. <no...@cv...> - 2006-07-02 14:06:48
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_main.c Log Message: Make all active e_modules work with the new e_module_dialog_show function change(s). If you get errors building these, update e17/apps/e . =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_main.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- e_mod_main.c 2 Jul 2006 07:10:18 -0000 1.15 +++ e_mod_main.c 2 Jul 2006 19:06:16 -0000 1.16 @@ -390,7 +390,7 @@ EAPI int e_modapi_about(E_Module *m) { - e_module_dialog_show(D_("Enlightenment Uptime Monitor Module"), + e_module_dialog_show(m, D_("Enlightenment Uptime Monitor Module"), D_("This module is used to monitor uptime.")); return 1; } |
From: Enlightenment C. <no...@cv...> - 2006-07-03 02:38:05
|
Enlightenment CVS committal Author : devilhorns Project : e_modules Module : uptime Dir : e_modules/uptime Modified Files: e_mod_config.c Log Message: Update some e_modules to use module icons in their config dialogs. =================================================================== RCS file: /cvs/e/e_modules/uptime/e_mod_config.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_mod_config.c 29 Jun 2006 19:56:51 -0000 1.9 +++ e_mod_config.c 3 Jul 2006 07:37:33 -0000 1.10 @@ -27,7 +27,8 @@ E_Config_Dialog *cfd; E_Config_Dialog_View *v; E_Container *con; - + char buf[4096]; + if (!ut_config) return; v = E_NEW(E_Config_Dialog_View, 1); @@ -42,8 +43,9 @@ v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; + snprintf(buf, sizeof(buf), "%s/module.eap", e_module_dir_get(ut_config->module)); con = e_container_current_get(e_manager_current_get()); - cfd = e_config_dialog_new(con, D_("Uptime Configuration"), NULL, 0, v, ci); + cfd = e_config_dialog_new(con, D_("Uptime Configuration"), buf, 0, v, ci); ut_config->config_dialog = cfd; } |