Mon Jan 3 14:39:48 2005 Michael Jennings (mej)
Spec file fixes and cleanups. Re-indented E-Power.c. Started a new ChangeLog using mezz format since I'm the only one who messes with this any more. ---------------------------------------------------------------------- SVN revision: 12702
This commit is contained in:
parent
9e37cb5eb5
commit
f4550e1e6d
File diff suppressed because it is too large
Load Diff
49
epplets.spec
49
epplets.spec
|
@ -1,16 +1,22 @@
|
|||
%define use_gnome 0
|
||||
%define use_gnome %{?_with_gnome}0
|
||||
|
||||
Summary: Enlightenment Epplets
|
||||
Name: enlightenment-epplets
|
||||
Version: 0.8
|
||||
Release: 0.2
|
||||
Release: 0.%(date '+%Y%m%d')
|
||||
License: BSD
|
||||
Group: User Interface/X
|
||||
URL: http://www.enlightenment.org/
|
||||
Source0: http://prdownloads.sourceforge.net/enlightenment/%{name}-%{version}.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
Packager: %{?_packager:%{_packager}}%{!?_packager:%{_vendor}}
|
||||
Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:%{_vendor}}
|
||||
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
|
||||
#BuildSuggests: freeglut-devel xorg-x11-devel
|
||||
BuildRequires: imlib2-devel XFree86-devel
|
||||
Requires: enlightenment >= 0.16.0
|
||||
Provides: epplets = %{version}
|
||||
Obsoletes: epplets
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
|
||||
%description
|
||||
Epplets are small, handy Enlightenment applets, similar to "dockapps"
|
||||
|
@ -26,47 +32,34 @@ slideshow, a URL grabber, a panel-like toolbar, and more.
|
|||
CFLAGS="$RPM_OPT_FLAGS"
|
||||
export CFLAGS
|
||||
|
||||
%{configure} --prefix=%{_prefix} --bindir=%{_bindir} --datadir=%{_datadir} \
|
||||
%if %{use_gnome}
|
||||
%{configure} --prefix=%{_prefix} --bindir=%{_bindir} --datadir=%{_datadir} --enable-fsstd --disable-autorespawn
|
||||
%else
|
||||
%{configure} --prefix=%{_prefix} --bindir=%{_bindir} --datadir=%{_datadir} --enable-fsstd
|
||||
--disable-autorespawn \
|
||||
%endif
|
||||
|
||||
make
|
||||
--enable-fsstd %{?acflags}
|
||||
%{__make} %{?_smp_mflags} %{?mflags}
|
||||
|
||||
%install
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
%{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install}
|
||||
|
||||
%post
|
||||
%ifos Linux
|
||||
/sbin/ldconfig
|
||||
%ifos linux
|
||||
%post -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%postun
|
||||
%ifos Linux
|
||||
/sbin/ldconfig
|
||||
%ifos linux
|
||||
%postun -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%defattr(-, root, root)
|
||||
%doc ChangeLog
|
||||
%{_prefix}/include/*
|
||||
%{_prefix}/lib/*
|
||||
%{_includedir}/*
|
||||
%{_libdir}/*
|
||||
%{_bindir}/*
|
||||
%{_datadir}/enlightenment/epplet_icons/*
|
||||
%{_datadir}/enlightenment/epplet_data/*
|
||||
|
||||
%changelog
|
||||
|
||||
* Mon May 24 2004 Stuart Children <stuart@terminus.co.uk> - 0.8-0.2
|
||||
- Renamed from epplets to enlightenment-epplets.
|
||||
|
||||
* Mon May 10 2004 Stuart Children <stuart@terminus.co.uk> - 0.8-0.1
|
||||
- Tidy ups.
|
||||
- Fix download url.
|
||||
- Use License rather than Copyright.
|
||||
- Remove Packager to avoid people creating mis-attributed packages.
|
||||
|
||||
|
|
|
@ -10,30 +10,31 @@
|
|||
/* Length of explain strings in /proc/acpi/battery/BAT0 data files */
|
||||
#define DATA_EXPLAIN_STR_LEN 25
|
||||
|
||||
int prev_bat_val = 110;
|
||||
int bat_val = 0;
|
||||
int time_val = 0;
|
||||
int prev_up[16] =
|
||||
{0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0};
|
||||
int prev_count = 0;
|
||||
Epplet_gadget b_close, b_suspend, b_sleep, b_help, image, label;
|
||||
int prev_bat_val = 110;
|
||||
int bat_val = 0;
|
||||
int time_val = 0;
|
||||
int prev_up[16] = { 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
int prev_count = 0;
|
||||
Epplet_gadget b_close, b_suspend, b_sleep, b_help, image, label;
|
||||
|
||||
static void cb_timer(void* data);
|
||||
static void cb_timer_acpi(void *data);
|
||||
static void cb_timer_apm(void *data);
|
||||
static void cb_close(void *data);
|
||||
static void cb_in(void *data, Window w);
|
||||
static void cb_out(void *data, Window w);
|
||||
static void cb_help(void *data);
|
||||
static void cb_timer(void *data);
|
||||
static void cb_timer_acpi(void *data);
|
||||
static void cb_timer_apm(void *data);
|
||||
static void cb_close(void *data);
|
||||
static void cb_in(void *data, Window w);
|
||||
static void cb_out(void *data, Window w);
|
||||
static void cb_help(void *data);
|
||||
|
||||
static void
|
||||
cb_timer(void *data)
|
||||
{
|
||||
struct stat st;
|
||||
struct stat st;
|
||||
|
||||
if ((stat("/proc/apm", &st) > -1) && S_ISREG(st.st_mode))
|
||||
cb_timer_apm(data);
|
||||
else if ( (stat("/proc/acpi", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
else if ((stat("/proc/acpi", &st) > -1) && S_ISDIR(st.st_mode))
|
||||
cb_timer_acpi(data);
|
||||
}
|
||||
|
||||
|
@ -41,270 +42,268 @@ static void
|
|||
cb_timer_acpi(void *data)
|
||||
{
|
||||
/* We don't have any data from the remaining percentage, and time directly,
|
||||
so we have to calculate and measure them.
|
||||
(Measure the time and calculate the percentage.)
|
||||
*/
|
||||
static int prev_bat_drain = 1;
|
||||
|
||||
FILE *f;
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
|
||||
int bat_max = 0;
|
||||
int bat_filled = 0;
|
||||
int bat_level = 0;
|
||||
int bat_drain = 1;
|
||||
|
||||
int bat_val = 0;
|
||||
|
||||
char current_status[256];
|
||||
char *line = 0;
|
||||
size_t lsize = 0;
|
||||
int discharging = 0;
|
||||
int charging = 0;
|
||||
int battery = 0;
|
||||
|
||||
int design_cap_unknown = 0;
|
||||
int last_full_unknown = 0;
|
||||
int rate_unknown = 0;
|
||||
int level_unknown = 0;
|
||||
|
||||
int hours, minutes;
|
||||
|
||||
* so we have to calculate and measure them.
|
||||
* (Measure the time and calculate the percentage.)
|
||||
*/
|
||||
static int prev_bat_drain = 1;
|
||||
|
||||
FILE *f;
|
||||
DIR *dirp;
|
||||
struct dirent *dp;
|
||||
|
||||
int bat_max = 0;
|
||||
int bat_filled = 0;
|
||||
int bat_level = 0;
|
||||
int bat_drain = 1;
|
||||
|
||||
int bat_val = 0;
|
||||
|
||||
char current_status[256];
|
||||
char *line = 0;
|
||||
size_t lsize = 0;
|
||||
int discharging = 0;
|
||||
int charging = 0;
|
||||
int battery = 0;
|
||||
|
||||
int design_cap_unknown = 0;
|
||||
int last_full_unknown = 0;
|
||||
int rate_unknown = 0;
|
||||
int level_unknown = 0;
|
||||
|
||||
int hours, minutes;
|
||||
|
||||
/* Read some information on first run. */
|
||||
dirp = opendir("/proc/acpi/battery");
|
||||
if (dirp)
|
||||
{
|
||||
while ((dp = readdir(dirp)))
|
||||
{
|
||||
char buf[4096];
|
||||
|
||||
if ((!strcmp(dp->d_name, ".")) || (!strcmp(dp->d_name, "..")))
|
||||
continue;
|
||||
snprintf(buf, sizeof(buf), "/proc/acpi/battery/%s/info",
|
||||
dp->d_name);
|
||||
f = fopen(buf, "r");
|
||||
if (f)
|
||||
{
|
||||
int design_cap = 0;
|
||||
int last_full = 0;
|
||||
|
||||
getline(&line, &lsize, f);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
design_cap_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &design_cap);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
last_full_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &last_full);
|
||||
fclose(f);
|
||||
bat_max += design_cap;
|
||||
bat_filled += last_full;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "/proc/acpi/battery/%s/state",
|
||||
dp->d_name);
|
||||
f = fopen(buf, "r");
|
||||
if (f)
|
||||
{
|
||||
char present[256];
|
||||
char capacity_state[256];
|
||||
char charging_state[256];
|
||||
int rate = 1;
|
||||
int level = 0;
|
||||
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", present);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", capacity_state);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", charging_state);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown")) rate_unknown = 1;
|
||||
else sscanf(line, "%*[^:]: %i %*s", &rate);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown")) level_unknown = 1;
|
||||
else sscanf(line, "%*[^:]: %i %*s", &level);
|
||||
fclose(f);
|
||||
if (!strcmp(present, "yes")) battery++;
|
||||
if (!strcmp(charging_state, "discharging")) discharging++;
|
||||
if (!strcmp(charging_state, "charging")) charging++;
|
||||
bat_drain += rate;
|
||||
bat_level += level;
|
||||
}
|
||||
}
|
||||
closedir(dirp);
|
||||
while ((dp = readdir(dirp)))
|
||||
{
|
||||
char buf[4096];
|
||||
|
||||
if ((!strcmp(dp->d_name, ".")) || (!strcmp(dp->d_name, "..")))
|
||||
continue;
|
||||
snprintf(buf, sizeof(buf), "/proc/acpi/battery/%s/info",
|
||||
dp->d_name);
|
||||
f = fopen(buf, "r");
|
||||
if (f)
|
||||
{
|
||||
int design_cap = 0;
|
||||
int last_full = 0;
|
||||
|
||||
getline(&line, &lsize, f);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
design_cap_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &design_cap);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
last_full_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &last_full);
|
||||
fclose(f);
|
||||
bat_max += design_cap;
|
||||
bat_filled += last_full;
|
||||
}
|
||||
snprintf(buf, sizeof(buf), "/proc/acpi/battery/%s/state",
|
||||
dp->d_name);
|
||||
f = fopen(buf, "r");
|
||||
if (f)
|
||||
{
|
||||
char present[256];
|
||||
char capacity_state[256];
|
||||
char charging_state[256];
|
||||
int rate = 1;
|
||||
int level = 0;
|
||||
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", present);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", capacity_state);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s", charging_state);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
rate_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &rate);
|
||||
getline(&line, &lsize, f);
|
||||
sscanf(line, "%*[^:]: %250s %*s", buf);
|
||||
if (!strcmp(buf, "unknown"))
|
||||
level_unknown = 1;
|
||||
else
|
||||
sscanf(line, "%*[^:]: %i %*s", &level);
|
||||
fclose(f);
|
||||
if (!strcmp(present, "yes"))
|
||||
battery++;
|
||||
if (!strcmp(charging_state, "discharging"))
|
||||
discharging++;
|
||||
if (!strcmp(charging_state, "charging"))
|
||||
charging++;
|
||||
bat_drain += rate;
|
||||
bat_level += level;
|
||||
}
|
||||
}
|
||||
closedir(dirp);
|
||||
}
|
||||
|
||||
if (prev_bat_drain < 1) prev_bat_drain = 1;
|
||||
if (bat_drain < 1) bat_drain = prev_bat_drain;
|
||||
|
||||
if (prev_bat_drain < 1)
|
||||
prev_bat_drain = 1;
|
||||
if (bat_drain < 1)
|
||||
bat_drain = prev_bat_drain;
|
||||
prev_bat_drain = bat_drain;
|
||||
|
||||
if (bat_filled > 0)
|
||||
bat_val = (100 * bat_level) / bat_filled;
|
||||
bat_val = (100 * bat_level) / bat_filled;
|
||||
else
|
||||
bat_val = 100;
|
||||
|
||||
bat_val = 100;
|
||||
|
||||
if (discharging)
|
||||
minutes = (60 * bat_level) / bat_drain;
|
||||
minutes = (60 * bat_level) / bat_drain;
|
||||
else
|
||||
{
|
||||
if (bat_filled > 0)
|
||||
minutes = (60 * (bat_filled - bat_level)) / bat_drain;
|
||||
else
|
||||
minutes = 0;
|
||||
if (bat_filled > 0)
|
||||
minutes = (60 * (bat_filled - bat_level)) / bat_drain;
|
||||
else
|
||||
minutes = 0;
|
||||
}
|
||||
hours = minutes / 60;
|
||||
minutes -= (hours * 60);
|
||||
|
||||
|
||||
if (charging)
|
||||
{
|
||||
if (level_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"Level ???\n"
|
||||
"Bad Driver");
|
||||
else if (rate_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%% PWR\n"
|
||||
"Time ???",
|
||||
bat_val);
|
||||
else
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%% PWR\n"
|
||||
"%02i:%02i",
|
||||
bat_val, hours, minutes);
|
||||
if (level_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"Level ???\n" "Bad Driver");
|
||||
else if (rate_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%% PWR\n" "Time ???", bat_val);
|
||||
else
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%% PWR\n" "%02i:%02i", bat_val, hours, minutes);
|
||||
}
|
||||
else if (discharging)
|
||||
{
|
||||
if (level_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"Level ???\n"
|
||||
"Bad Driver");
|
||||
else if (rate_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%%\n"
|
||||
"Time ???",
|
||||
bat_val);
|
||||
else
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%%\n"
|
||||
"%02i:%02i",
|
||||
bat_val, hours, minutes);
|
||||
if (level_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"Level ???\n" "Bad Driver");
|
||||
else if (rate_unknown)
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%%\n" "Time ???", bat_val);
|
||||
else
|
||||
snprintf(current_status, sizeof(current_status),
|
||||
"%i%%\n" "%02i:%02i", bat_val, hours, minutes);
|
||||
}
|
||||
else if (!battery)
|
||||
snprintf(current_status, sizeof(current_status), "No Bat");
|
||||
snprintf(current_status, sizeof(current_status), "No Bat");
|
||||
else
|
||||
snprintf(current_status, sizeof(current_status), "Full");
|
||||
|
||||
snprintf(current_status, sizeof(current_status), "Full");
|
||||
|
||||
/* Display current status */
|
||||
Epplet_change_label(label, current_status);
|
||||
sprintf(current_status, EROOT"/epplet_data/E-Power//E-Power-Bat-%i.png",
|
||||
((bat_val + 5) / 10) * 10);
|
||||
sprintf(current_status, EROOT "/epplet_data/E-Power//E-Power-Bat-%i.png",
|
||||
((bat_val + 5) / 10) * 10);
|
||||
Epplet_change_image(image, 44, 24, current_status);
|
||||
Epplet_timer(cb_timer, NULL, 5.0, "TIMER");
|
||||
|
||||
/* Final steps before ending the status update. */
|
||||
data = NULL;
|
||||
if ( lsize )
|
||||
free( line );
|
||||
if (lsize)
|
||||
free(line);
|
||||
}
|
||||
|
||||
static void
|
||||
cb_timer_apm(void *data)
|
||||
{
|
||||
static FILE *f;
|
||||
static FILE *f;
|
||||
|
||||
f = fopen("/proc/apm", "r");
|
||||
if (f)
|
||||
{
|
||||
char s[256], s1[32], s2[32], s3[32];
|
||||
int apm_flags, ac_stat, bat_stat, bat_flags;
|
||||
int i, hours, minutes, up, up2;
|
||||
char *s_ptr;
|
||||
|
||||
fgets(s, 255, f);
|
||||
sscanf(s, "%*s %*s %x %x %x %x %s %s %s", &apm_flags, &ac_stat, &bat_stat, &bat_flags, s1, s2, s3);
|
||||
s1[strlen(s1) - 1] = 0;
|
||||
bat_val=atoi(s1);
|
||||
if (!strcmp(s3, "sec"))
|
||||
time_val = atoi(s2);
|
||||
else if (!strcmp(s3, "min"))
|
||||
time_val = atoi(s2) * 60;
|
||||
fclose(f);
|
||||
|
||||
up = bat_val - prev_bat_val;
|
||||
up2 = up;
|
||||
for (i = 0; i < 16; i++)
|
||||
up2 = + prev_up[i];
|
||||
up2 = (up2 * 60) / 17;
|
||||
|
||||
prev_up[prev_count] = up;
|
||||
|
||||
prev_count++;
|
||||
if (prev_count >= 16)
|
||||
prev_count = 0;
|
||||
|
||||
char s[256], s1[32], s2[32], s3[32];
|
||||
int apm_flags, ac_stat, bat_stat, bat_flags;
|
||||
int i, hours, minutes, up, up2;
|
||||
char *s_ptr;
|
||||
|
||||
fgets(s, 255, f);
|
||||
sscanf(s, "%*s %*s %x %x %x %x %s %s %s", &apm_flags, &ac_stat,
|
||||
&bat_stat, &bat_flags, s1, s2, s3);
|
||||
s1[strlen(s1) - 1] = 0;
|
||||
bat_val = atoi(s1);
|
||||
if (!strcmp(s3, "sec"))
|
||||
time_val = atoi(s2);
|
||||
else if (!strcmp(s3, "min"))
|
||||
time_val = atoi(s2) * 60;
|
||||
fclose(f);
|
||||
|
||||
up = bat_val - prev_bat_val;
|
||||
up2 = up;
|
||||
for (i = 0; i < 16; i++)
|
||||
up2 = +prev_up[i];
|
||||
up2 = (up2 * 60) / 17;
|
||||
|
||||
prev_up[prev_count] = up;
|
||||
|
||||
prev_count++;
|
||||
if (prev_count >= 16)
|
||||
prev_count = 0;
|
||||
|
||||
s_ptr = s;
|
||||
|
||||
if( bat_flags != 0xff
|
||||
&& bat_flags & 0x80 )
|
||||
{
|
||||
s_ptr += sprintf( s_ptr, "no battery" );
|
||||
}
|
||||
else
|
||||
{
|
||||
if( bat_val > 0 )
|
||||
s_ptr += sprintf( s_ptr, "%i%%", bat_val );
|
||||
|
||||
switch( bat_stat )
|
||||
{
|
||||
case 0:
|
||||
s_ptr += sprintf( s_ptr, ", high" );
|
||||
break;
|
||||
case 1:
|
||||
s_ptr += sprintf( s_ptr, ", low" );
|
||||
break;
|
||||
case 2:
|
||||
s_ptr += sprintf( s_ptr, ", crit." );
|
||||
break;
|
||||
case 3:
|
||||
s_ptr += sprintf( s_ptr, ", charge" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
s_ptr += sprintf( s_ptr, "\n" );
|
||||
|
||||
|
||||
if( ac_stat == 1 )
|
||||
if (bat_flags != 0xff && bat_flags & 0x80)
|
||||
{
|
||||
s_ptr += sprintf(s_ptr, "AC on-line" );
|
||||
s_ptr += sprintf(s_ptr, "no battery");
|
||||
}
|
||||
else
|
||||
{
|
||||
hours = time_val / 3600;
|
||||
minutes = (time_val / 60) % 60;
|
||||
if (up2 > 0)
|
||||
s_ptr += sprintf(s_ptr, "(%i:%02i)\n%i:%02i",
|
||||
(((100 - bat_val) * 2 * 60) / up2) / 60,
|
||||
(((100 - bat_val) * 2 * 60) / up2) % 60,
|
||||
hours, minutes);
|
||||
else
|
||||
s_ptr += sprintf(s_ptr, "%i:%02i", hours, minutes);
|
||||
if (bat_val > 0)
|
||||
s_ptr += sprintf(s_ptr, "%i%%", bat_val);
|
||||
|
||||
switch (bat_stat)
|
||||
{
|
||||
case 0:
|
||||
s_ptr += sprintf(s_ptr, ", high");
|
||||
break;
|
||||
case 1:
|
||||
s_ptr += sprintf(s_ptr, ", low");
|
||||
break;
|
||||
case 2:
|
||||
s_ptr += sprintf(s_ptr, ", crit.");
|
||||
break;
|
||||
case 3:
|
||||
s_ptr += sprintf(s_ptr, ", charge");
|
||||
break;
|
||||
}
|
||||
}
|
||||
Epplet_change_label(label, s);
|
||||
s_ptr += sprintf(s_ptr, "\n");
|
||||
|
||||
sprintf(s, EROOT"/epplet_data/E-Power//E-Power-Bat-%i.png",
|
||||
((bat_val + 5) / 10) * 10);
|
||||
Epplet_change_image(image, 44, 24, s);
|
||||
Epplet_timer(cb_timer, NULL, 30.0, "TIMER");
|
||||
if (ac_stat == 1)
|
||||
{
|
||||
s_ptr += sprintf(s_ptr, "AC on-line");
|
||||
}
|
||||
else
|
||||
{
|
||||
hours = time_val / 3600;
|
||||
minutes = (time_val / 60) % 60;
|
||||
if (up2 > 0)
|
||||
s_ptr += sprintf(s_ptr, "(%i:%02i)\n%i:%02i",
|
||||
(((100 - bat_val) * 2 * 60) / up2) / 60,
|
||||
(((100 - bat_val) * 2 * 60) / up2) % 60,
|
||||
hours, minutes);
|
||||
else
|
||||
s_ptr += sprintf(s_ptr, "%i:%02i", hours, minutes);
|
||||
}
|
||||
Epplet_change_label(label, s);
|
||||
|
||||
prev_bat_val = bat_val;
|
||||
sprintf(s, EROOT "/epplet_data/E-Power//E-Power-Bat-%i.png",
|
||||
((bat_val + 5) / 10) * 10);
|
||||
Epplet_change_image(image, 44, 24, s);
|
||||
Epplet_timer(cb_timer, NULL, 30.0, "TIMER");
|
||||
|
||||
prev_bat_val = bat_val;
|
||||
}
|
||||
data = NULL;
|
||||
}
|
||||
|
@ -354,45 +353,42 @@ cb_help(void *data)
|
|||
static void
|
||||
cb_suspend(void *data)
|
||||
{
|
||||
system("/usr/bin/apm -s");
|
||||
return;
|
||||
data=NULL;
|
||||
system("/usr/bin/apm -s");
|
||||
return;
|
||||
data = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
cb_sleep(void *data)
|
||||
{
|
||||
system("/usr/bin/apm -S");
|
||||
return;
|
||||
data=NULL;
|
||||
system("/usr/bin/apm -S");
|
||||
return;
|
||||
data = NULL;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
Epplet_Init("E-Power", "0.1", "Enlightenment Laptop Power Epplet",
|
||||
3, 3, argc, argv, 0);
|
||||
3, 3, argc, argv, 0);
|
||||
atexit(Epplet_cleanup);
|
||||
Epplet_timer(cb_timer, NULL, 30.0, "TIMER");
|
||||
b_close = Epplet_create_button(NULL, NULL,
|
||||
2, 2, 0, 0, "CLOSE", 0, NULL,
|
||||
cb_close, NULL);
|
||||
2, 2, 0, 0, "CLOSE", 0, NULL, cb_close, NULL);
|
||||
b_help = Epplet_create_button(NULL, NULL,
|
||||
34, 2, 0, 0, "HELP", 0, NULL,
|
||||
cb_help, NULL);
|
||||
34, 2, 0, 0, "HELP", 0, NULL, cb_help, NULL);
|
||||
b_suspend = Epplet_create_button(NULL, NULL,
|
||||
2, 34, 0, 0, "PAUSE", 0, NULL,
|
||||
cb_suspend, NULL);
|
||||
2, 34, 0, 0, "PAUSE", 0, NULL,
|
||||
cb_suspend, NULL);
|
||||
b_sleep = Epplet_create_button(NULL, NULL,
|
||||
34, 34, 0, 0, "STOP", 0, NULL,
|
||||
cb_sleep, NULL);
|
||||
Epplet_gadget_show(image =
|
||||
Epplet_create_image
|
||||
(2, 2, 44, 24,
|
||||
EROOT"/epplet_data/E-Power/E-Power-Bat-100.png"));
|
||||
Epplet_gadget_show(label =
|
||||
Epplet_create_label
|
||||
(2, 28, "APM, ACPI\nmissing", 1));
|
||||
34, 34, 0, 0, "STOP", 0, NULL,
|
||||
cb_sleep, NULL);
|
||||
Epplet_gadget_show(image =
|
||||
Epplet_create_image
|
||||
(2, 2, 44, 24,
|
||||
EROOT "/epplet_data/E-Power/E-Power-Bat-100.png"));
|
||||
Epplet_gadget_show(label =
|
||||
Epplet_create_label(2, 28, "APM, ACPI\nmissing", 1));
|
||||
Epplet_register_focus_in_handler(cb_in, NULL);
|
||||
Epplet_register_focus_out_handler(cb_out, NULL);
|
||||
cb_timer(NULL);
|
||||
|
|
Loading…
Reference in New Issue