diff options
author | root <root@rshg054.dnsready.net> | 2013-10-10 01:59:31 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-10-10 01:59:31 -0700 |
commit | 361f95d1ff881daf5f87cb14917bd524511abfc5 (patch) | |
tree | 80a94568027dded4548d525a8a3ed7621ccf325d /community/fbpanel | |
parent | 737832e1bd70820f477143512b5c89a30a6e81d0 (diff) |
Thu Oct 10 01:58:46 PDT 2013
Diffstat (limited to 'community/fbpanel')
-rw-r--r-- | community/fbpanel/PKGBUILD | 16 | ||||
-rw-r--r-- | community/fbpanel/battery_fix.patch | 119 |
2 files changed, 131 insertions, 4 deletions
diff --git a/community/fbpanel/PKGBUILD b/community/fbpanel/PKGBUILD index 5edf5f2a1..53119bb8e 100644 --- a/community/fbpanel/PKGBUILD +++ b/community/fbpanel/PKGBUILD @@ -1,23 +1,31 @@ -# $Id: PKGBUILD 65166 2012-02-20 06:59:42Z spupykin $ +# $Id: PKGBUILD 98391 2013-10-09 14:15:54Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Jeff Mickey <jeff@archlinux.org> # Contributor: Torin Daniel <torindan@gmail.com> +# Contributor: Diep Pham Van <imeo@favadi.com> pkgname=fbpanel pkgver=6.1 -pkgrel=3 +pkgrel=4 pkgdesc="NetWM compliant desktop panel" arch=('i686' 'x86_64') url="http://fbpanel.sourceforge.net/" depends=('gtk2') license=('GPL') -source=(http://downloads.sourceforge.net/fbpanel/fbpanel-${pkgver}.tbz2) -md5sums=('80ca0c64195b30587cfcb8c2cd9887a0') +source=("http://downloads.sourceforge.net/fbpanel/fbpanel-${pkgver}.tbz2" + "battery_fix.patch") +md5sums=('80ca0c64195b30587cfcb8c2cd9887a0' + 'dc1db8eee1be899725f350eb36793ea4') build() { cd "$srcdir/$pkgname-$pkgver" + patch -p1 <$srcdir/battery_fix.patch ./configure --prefix=/usr echo "LDFLAGSX += -lX11 -lm" >>config.mk make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir/" install } diff --git a/community/fbpanel/battery_fix.patch b/community/fbpanel/battery_fix.patch new file mode 100644 index 000000000..3a86e3ca7 --- /dev/null +++ b/community/fbpanel/battery_fix.patch @@ -0,0 +1,119 @@ +*** fbpanel-6.1/plugins/battery/os_linux.c~ 2010-04-08 12:35:26.000000000 +0200 +--- fbpanel-6.1/plugins/battery/os_linux.c 2013-07-09 13:13:50.958994816 +0200 +*************** +*** 1,5 **** +--- 1,6 ---- + + #include <string.h> ++ #include <stdlib.h> + #include <ctype.h> + + #define LEN 100 +*************** +*** 120,129 **** + } + + static gboolean + battery_update_os_sys(battery_priv *c) + { + ENTER; +! RET(FALSE); + } + + static gboolean +--- 121,215 ---- + } + + static gboolean ++ read_sys(battery_priv *c, GString *path) ++ { ++ int len, dcap, rcap; ++ gchar *buf; ++ gboolean ret, exist, charging; ++ ++ ENTER; ++ len = path->len; ++ ++ g_string_append(path, "/present"); ++ ret = g_file_get_contents(path->str, &buf, 0, NULL); ++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail"); ++ g_string_truncate(path, len); ++ if (!ret) ++ RET(FALSE); ++ exist = atoi(buf); ++ g_free(buf); ++ if (!exist) ++ RET(FALSE); ++ ++ g_string_append(path, "/charge_full_design"); ++ ret = g_file_get_contents(path->str, &buf, 0, NULL); ++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail"); ++ g_string_truncate(path, len); ++ if (!ret) ++ RET(FALSE); ++ dcap = atoi(buf); ++ g_free(buf); ++ if (dcap <= 0) ++ RET(FALSE); ++ ++ g_string_append(path, "/charge_now"); ++ ret = g_file_get_contents(path->str, &buf, 0, NULL); ++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail"); ++ g_string_truncate(path, len); ++ if (!ret) ++ RET(FALSE); ++ rcap = atoi(buf); ++ g_free(buf); ++ if (rcap <= 0) ++ RET(FALSE); ++ ++ g_string_append(path, "/current_now"); ++ ret = g_file_get_contents(path->str, &buf, 0, NULL); ++ DBG("reading %s %s\n", path->str, ret ? "ok" : "fail"); ++ g_string_truncate(path, len); ++ if (!ret) ++ RET(FALSE); ++ charging = (atoi(buf) <= 0); ++ g_free(buf); ++ ++ c->exist = exist; ++ c->charging = charging; ++ c->level = (int) ((gfloat) rcap * 100 / (gfloat) dcap); ++ RET(TRUE); ++ } ++ ++ static gboolean + battery_update_os_sys(battery_priv *c) + { ++ GString *path; ++ int len; ++ GDir *dir; ++ gboolean ret = FALSE; ++ const gchar *file; ++ + ENTER; +! c->exist = FALSE; +! path = g_string_sized_new(200); +! g_string_append(path, "/sys/class/power_supply"); +! len = path->len; +! if (!(dir = g_dir_open(path->str, 0, NULL))) { +! DBG("can't open dir %s\n", path->str); +! goto out; +! } +! while (!ret && (file = g_dir_read_name(dir))) { +! g_string_append(path, "/"); +! g_string_append(path, file); +! DBG("testing %s\n", path->str); +! ret = g_file_test(path->str, G_FILE_TEST_IS_DIR); +! if (ret) +! ret = read_sys(c, path); +! g_string_truncate(path, len); +! } +! g_dir_close(dir); +! +! out: +! g_string_free(path, TRUE); +! RET(ret); + } + + static gboolean |