diff --git a/ChangeLog b/ChangeLog index c18086e..612bb99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2254,3 +2254,15 @@ Sun Oct 14 11:13:21 PDT 2001 Added the ability to specify a timezone for E-Time. ------------------------------------------------------------------------------- + +Tue Jun 4 15:48:53 EDT 2002 +(KainX) + +Updated E-Disk to display throughput in bytes, kB, MB, or GB instead of just +kB. + +Added a new epplet, E-Bandwidth, which does network usage in a manner similar +to E-Disk. + +------------------------------------------------------------------------------- + diff --git a/configure.in b/configure.in index d068001..8ca1750 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ dnl# $Id$ AC_INIT(api/epplet.c) -AM_INIT_AUTOMAKE(epplets, 0.6) +AM_INIT_AUTOMAKE(epplets, 0.7) dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure' if test ! -z "${CFLAGS}" -o ! -z "${CCOPTS}"; then diff --git a/epplets.spec b/epplets.spec index 3db523a..3d9ef4b 100644 --- a/epplets.spec +++ b/epplets.spec @@ -2,8 +2,8 @@ Summary: Enlightenment Epplets Name: epplets -Version: 0.6 -Release: 3 +Version: 0.7 +Release: 0.1 Copyright: BSD Group: User Interface/X URL: http://www.enlightenment.org diff --git a/epplets/E-Disk.c b/epplets/E-Disk.c index cd85cfa..7bcdec7 100644 --- a/epplets/E-Disk.c +++ b/epplets/E-Disk.c @@ -48,6 +48,20 @@ static void in_cb(void *data, Window w); static void out_cb(void *data, Window w); static void parse_conf(void); +static void +show_size(unsigned long n, char *buff) +{ + if (n < 1024) { + sprintf(buff, "%lu b", n); + } else if (n < 1024 * 1024) { + sprintf(buff, "%lu k", n / 1024); + } else if (n < 1024 * 1024 * 1024) { + sprintf(buff, "%lu M", n / (1024 * 1024)); + } else { + sprintf(buff, "%lu G", n / (1024 * 1024 * 1024)); + } +} + static void timer_cb(void *data) { @@ -93,7 +107,9 @@ timer_cb(void *data) { if (in_blks != in_delta) { in_val = (int) ((((float) in_blks) / max_in) * 100.0); Epplet_gadget_data_changed(in_bar); - Esnprintf(buff, sizeof(buff), "I: %lu K/s", in_blks / 4); + sprintf(buff, "I: "); + show_size(in_blks * 512, buff + 3); + strcat(buff, "/s"); Epplet_change_label(in_label, buff); } in_delta = in_blks; @@ -110,7 +126,9 @@ timer_cb(void *data) { if (out_blks != out_delta) { out_val = (int) ((((float) out_blks) / max_out) * 100.0); Epplet_gadget_data_changed(out_bar); - Esnprintf(buff, sizeof(buff), "O: %lu K/s", out_blks / 4); + sprintf(buff, "O: "); + show_size(out_blks * 512, buff + 3); + strcat(buff, "/s"); Epplet_change_label(out_label, buff); } out_delta = out_blks; @@ -118,7 +136,7 @@ timer_cb(void *data) { last_out += out_blks; Esync(); - Epplet_timer(timer_cb, NULL, 0.5, "TIMER"); + Epplet_timer(timer_cb, NULL, 1.0, "TIMER"); return; data = NULL; } @@ -201,22 +219,22 @@ main(int argc, char **argv) { prio = getpriority(PRIO_PROCESS, getpid()); setpriority(PRIO_PROCESS, getpid(), prio + 10); atexit(Epplet_cleanup); - Epplet_Init("E-Disk", "0.1", "Enlightenment Disk I/O Monitor Epplet", 3, 3, argc, argv, 0); + Epplet_Init("E-Disk", "0.2", "Enlightenment Disk I/O Monitor Epplet", 3, 3, argc, argv, 0); Epplet_load_config(); parse_conf(); title = Epplet_create_label(3, 3, "Disk I/O", 1); if (show_title) { /* New arrangement */ - in_label = Epplet_create_label(3, 13, "I: 0 K/s", 1); - out_label = Epplet_create_label(3, 30, "O: 0 K/s", 1); + in_label = Epplet_create_label(3, 13, "I: 0 b/s", 1); + out_label = Epplet_create_label(3, 30, "O: 0 b/s", 1); in_bar = Epplet_create_hbar(3, 22, 42, 7, 0, &in_val); out_bar = Epplet_create_hbar(3, 39, 42, 7, 0, &out_val); Epplet_gadget_show(title); } else { /* Old arrangement */ - in_label = Epplet_create_label(4, 4, "I: 0 K/s", 1); - out_label = Epplet_create_label(4, 24, "O: 0 K/s", 1); + in_label = Epplet_create_label(4, 4, "I: 0 b/s", 1); + out_label = Epplet_create_label(4, 24, "O: 0 b/s", 1); in_bar = Epplet_create_hbar(4, 14, 40, 8, 0, &in_val); out_bar = Epplet_create_hbar(4, 36, 40, 8, 0, &out_val); } diff --git a/epplets/Makefile.am b/epplets/Makefile.am index c0082fb..915cc01 100644 --- a/epplets/Makefile.am +++ b/epplets/Makefile.am @@ -13,7 +13,7 @@ E-Toolbox.epplet E-NetFlame.epplet E-Sys.epplet E-ScreenShoot.epplet \ E-Slides.epplet E-Xss.epplet E-Mountbox.epplet E-Exec.epplet @ESD_PROGS@ \ @PLAYCD_PROGS@ E-ScreenSave.epplet E-NetGraph.epplet E-MoonClock.epplet \ E-UrlWatch.epplet E-LoadMeter.epplet E-GtkRc.epplet E-Pinger.epplet \ -E-Pants.epplet +E-Pants.epplet E-Bandwidth.epplet EXTRA_PROGRAMS = EppletTest.epplet EppletConfigTest.epplet E-Mixer.epplet \ @@ -90,6 +90,10 @@ E_Areas_epplet_SOURCES = E-Areas.c E_Areas_epplet_DEPENDENCIES = $(top_builddir)/api/libepplet.la E_Areas_epplet_LDFLAGS = -rpath $(libdir):$(pkglibdir) +E_Bandwidth_epplet_SOURCES = E-Bandwidth.c net.c net.h +E_Bandwidth_epplet_DEPENDENCIES = $(top_builddir)/api/libepplet.la +E_Bandwidth_epplet_LDFLAGS = -rpath $(libdir):$(pkglibdir) + E_Net_epplet_SOURCES = E-Net.c net.c net.h E_Net_epplet_DEPENDENCIES = $(top_builddir)/api/libepplet.la E_Net_epplet_LDFLAGS = -rpath $(libdir):$(pkglibdir) diff --git a/epplets/net.c b/epplets/net.c index d03613e..ab41811 100644 --- a/epplets/net.c +++ b/epplets/net.c @@ -35,6 +35,9 @@ # include # include #endif +#ifdef linux +# include +#endif #include "epplet.h" #include "net.h" @@ -133,7 +136,7 @@ net_get_bytes_inout(const char *device, double *in_bytes, double *out_bytes) { if (colon) { *colon = ' '; } -# if LINUX_VERSION_CODE < 0x020100 +# if LINUX_VERSION_CODE < KERNEL_VERSION(2,1,0) sscanf(buff, "%s %s %*s %*s %*s %*s %s", dev, in_str, out_str); # else sscanf(buff, "%s %s %*s %*s %*s %*s %*s %*s %*s %s", dev, in_str, out_str);