diff options
-rw-r--r-- | x11/lxpanel/Makefile | 108 | ||||
-rw-r--r-- | x11/lxpanel/distinfo | 4 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__batt__Makefile.in | 266 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__batt__batt.c | 171 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__batt__batt_sys.c | 304 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__batt__batt_sys.h | 38 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__cpufreq__cpufreq.c | 411 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__netstatus__netstatus-sysdeps.c | 222 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__thermal__Makefile.in | 462 | ||||
-rw-r--r-- | x11/lxpanel/files/patch-src__plugins__thermal__thermal.c | 493 | ||||
-rw-r--r-- | x11/lxpanel/files/pkg-message.in | 24 | ||||
-rw-r--r-- | x11/lxpanel/pkg-plist | 9 |
12 files changed, 2487 insertions, 25 deletions
diff --git a/x11/lxpanel/Makefile b/x11/lxpanel/Makefile index 085a381e2972..b40c22acd1d7 100644 --- a/x11/lxpanel/Makefile +++ b/x11/lxpanel/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= lxpanel -PORTVERSION= 0.6.1 -PORTREVISION= 2 +PORTVERSION= 0.6.2 CATEGORIES= x11 MASTER_SITES= SF/lxde/LXPanel%20%28desktop%20panel%29/LXPanel%20${PORTVERSION}/ @@ -13,38 +12,97 @@ COMMENT= Lightweight X11 desktop panel LICENSE= GPLv2 MIT LICENSE_COMB= dual -LIB_DEPENDS= libmenu-cache.so:${PORTSDIR}/x11/menu-cache -RUN_DEPENDS= ${LOCALBASE}/share/desktop-directories/lxde-audio-video.directory:${PORTSDIR}/x11/lxmenu-data +LIB_DEPENDS= libmenu-cache.so:${PORTSDIR}/x11/menu-cache \ + libsysinfo.so:${PORTSDIR}/devel/libsysinfo +RUN_DEPENDS= ${LOCALBASE}/share/desktop-directories/lxde-audio-video.directory:${PORTSDIR}/x11/lxmenu-data \ + xmessage:${PORTSDIR}/x11/xmessage +USE_AUTOTOOLS= automake:env +USE_CSTD= gnu89 +USE_GNOME= gtk20 libwnck +USE_XORG= x11 xmu +USES= gmake pathfix pkgconfig +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --prefix="${PREFIX}" \ + --with-plugins=netstatus,volume,volumealsa,deskno,batt,kbled,xkb,thermal,cpu,cpufreq,monitors,wnckpager \ + --with-x \ + CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" +CFLAGS+= -I${WRKSRC} + +SUB_FILES= pkg-message PORTDOCS= AUTHORS README -OPTIONS_DEFINE= ALSA DOCS NLS +OPTIONS_DEFINE= ALSA DOCS NLS OPTIONS_SUB= yes -ALSA_RUN_DEPENDS= ${LINUXBASE}/lib/libasound.so.2:${PORTSDIR}/audio/linux-f10-alsa-lib +ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib ALSA_CONFIGURE_ENABLE= alsa - +NLS_CONFIGURE_ENABLE= nls NLS_USES= gettext -USE_XORG= x11 xmu -USE_GNOME= gtk20 libwnck -USES= gmake pathfix pkgconfig -GNU_CONFIGURE= yes -USE_AUTOTOOLS= automake:env -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --with-plugins=volume,deskno,kbled,xkb,batt \ - CPPFLAGS="-I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib" -CFLAGS+= -I${WRKSRC} -Wno-return-type -USE_CSTD= gnu89 - .include <bsd.port.options.mk> +.if ${PORT_OPTIONS:MALSA} +PLIST_SUB+= VOLUME="@comment " +.else +PLIST_SUB+= VOLUME="" +.endif + post-patch: + @${REINPLACE_CMD} -e '/g_thread_create/ \ + s|.*| g_thread_new("tf", (GThreadFunc)thread_func,\ + thread_data);|' \ + ${WRKSRC}/src/gtk-run.c + @${REINPLACE_CMD} -e '/g_thread_init/d' \ + ${WRKSRC}/src/panel.c + @${REINPLACE_CMD} -e 's|structure_size :|.structure_size =|; \ + s|structure_version :|.structure_version =|' \ + ${WRKSRC}/src/plugin.h + @${REINPLACE_CMD} -e 's| type *:| .type =|; \ + s| name *:| .name =|; \ + s| version *:| .version =|; \ + s| description *:| .description =|; \ + s| constructor *:| .constructor =|; \ + s| destructor *:| .destructor =|; \ + s| config *:| .config =|; \ + s| save *:| .save =|; \ + s| panel_configuration_changed *:| \ + .panel_configuration_changed =|; \ + s| fname:| .fname =|; \ + s| count:| .count =|; \ + s| expand_available :| .expand_available =|; \ + s| expand_default :| .expand_default =|; \ + s| one_per_system :| .one_per_system =|; \ + s| not_unloadable :| .not_unloadable =|' \ + ${WRKSRC}/src/plugins/batt/batt.c \ + ${WRKSRC}/src/plugins/cpu*/cpu*.c \ + ${WRKSRC}/src/plugins/deskno/deskno.c \ + ${WRKSRC}/src/plugins/kbled/kbled.c \ + ${WRKSRC}/src/plugins/monitors/monitors.c \ + ${WRKSRC}/src/plugins/netstatus/netstatus.c \ + ${WRKSRC}/src/plugins/thermal/thermal.c \ + ${WRKSRC}/src/plugins/wnckpager/wnckpager.c \ + ${WRKSRC}/src/plugins/xkb/xkb-plugin.c \ + ${WRKSRC}/src/plugins/volume*/volume*.c \ + ${WRKSRC}/src/plugins/*.c + @${REINPLACE_CMD} -e '/gdk_color_parse(b/ s|;||; \ + /gdk_color_parse(b/{p;s/.*/ ;/;}' \ + ${WRKSRC}/src/plugins/batt/batt.c + @${REINPLACE_CMD} -e 's|/sys|/compat/linux&|' \ + ${WRKSRC}/src/plugins/batt/batt_sys.h + @${REINPLACE_CMD} -e 's|/proc|/compat/linux&|' \ + ${WRKSRC}/src/plugins/cpu/cpu.c \ + ${WRKSRC}/src/plugins/monitors/monitors.c \ + ${WRKSRC}/src/plugins/thermal/thermal.c + @${REINPLACE_CMD} -e 's|%lld|%lu|g; s|bytes >=|bytes >|' \ + ${WRKSRC}/src/plugins/netstatus/netstatus-dialog.c + @${REINPLACE_CMD} -e '/NETSTATUS_ERROR, code/ s|error_message|"%s", &|' \ + ${WRKSRC}/src/plugins/netstatus/netstatus-iface.c + @${REINPLACE_CMD} -e '611s/signal_strength)/*&/' \ + ${WRKSRC}/src/plugins/netstatus/netstatus-sysdeps.c @${REINPLACE_CMD} -e 's|linux|sys|' \ ${WRKSRC}/src/plugins/volume/volume-impl.c - @${REINPLACE_CMD} -e 's|$$(DATADIRNAME)/locale|share/locale|' \ - ${WRKSRC}/po/Makefile.in.in .if ! ${PORT_OPTIONS:MNLS} @${REINPLACE_CMD} -e 's|po man|man|' \ @@ -52,10 +110,16 @@ post-patch: .endif post-install: -.for l in volume xkb deskno batt kbled +.for l in netstatus deskno batt kbled xkb thermal cpu cpufreq monitors wnckpager ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lxpanel/plugins/${l}.so .endfor +.if ${PORT_OPTIONS:MALSA} + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lxpanel/plugins/volumealsa.so +.else + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lxpanel/plugins/volume.so +.endif + @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} diff --git a/x11/lxpanel/distinfo b/x11/lxpanel/distinfo index 540e77ad3af7..6863d2ddadfa 100644 --- a/x11/lxpanel/distinfo +++ b/x11/lxpanel/distinfo @@ -1,2 +1,2 @@ -SHA256 (lxpanel-0.6.1.tar.gz) = a16a21b2186218c70ed98dc7875c54d6bb12ae7271825ff5060feb8d2a4e86cb -SIZE (lxpanel-0.6.1.tar.gz) = 2094946 +SHA256 (lxpanel-0.6.2.tar.gz) = f9ba6d0b825f7b99de045c3371738792bf9f3604af66bef4d98d783461c60a48 +SIZE (lxpanel-0.6.2.tar.gz) = 2086833 diff --git a/x11/lxpanel/files/patch-src__plugins__batt__Makefile.in b/x11/lxpanel/files/patch-src__plugins__batt__Makefile.in new file mode 100644 index 000000000000..6b631a6ac37b --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__batt__Makefile.in @@ -0,0 +1,266 @@ +--- ./src/plugins/batt/Makefile.in.orig 2014-05-09 09:31:24.000000000 -0400 ++++ ./src/plugins/batt/Makefile.in 2014-05-27 18:13:52.000000000 -0400 +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.14.1 from Makefile.am. ++# Makefile.in generated by automake 1.12.6 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2013 Free Software Foundation, Inc. ++# Copyright (C) 1994-2012 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -15,51 +15,23 @@ + @SET_MAKE@ + + VPATH = @srcdir@ +-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +-am__make_running_with_option = \ +- case $${target_option-} in \ +- ?) ;; \ +- *) echo "am__make_running_with_option: internal error: invalid" \ +- "target option '$${target_option-}' specified" >&2; \ +- exit 1;; \ +- esac; \ +- has_opt=no; \ +- sane_makeflags=$$MAKEFLAGS; \ +- if $(am__is_gnu_make); then \ +- sane_makeflags=$$MFLAGS; \ +- else \ ++am__make_dryrun = \ ++ { \ ++ am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ +- bs=\\; \ +- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ +- esac; \ +- fi; \ +- skip_next=no; \ +- strip_trailopt () \ +- { \ +- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +- }; \ +- for flg in $$sane_makeflags; do \ +- test $$skip_next = yes && { skip_next=no; continue; }; \ +- case $$flg in \ +- *=*|--*) continue;; \ +- -*I) strip_trailopt 'I'; skip_next=yes;; \ +- -*I?*) strip_trailopt 'I';; \ +- -*O) strip_trailopt 'O'; skip_next=yes;; \ +- -*O?*) strip_trailopt 'O';; \ +- -*l) strip_trailopt 'l'; skip_next=yes;; \ +- -*l?*) strip_trailopt 'l';; \ +- -[dEDm]) skip_next=yes;; \ +- -[JT]) skip_next=yes;; \ +- esac; \ +- case $$flg in \ +- *$$target_option*) has_opt=yes; break;; \ ++ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ ++ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ ++ *) \ ++ for am__flg in $$MAKEFLAGS; do \ ++ case $$am__flg in \ ++ *=*|--*) ;; \ ++ *n*) am__dry=yes; break;; \ ++ esac; \ ++ done;; \ + esac; \ +- done; \ +- test $$has_opt = yes +-am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +-am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++ test $$am__dry = yes; \ ++ } + pkgdatadir = $(datadir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ +@@ -79,21 +51,14 @@ + build_triplet = @build@ + host_triplet = @host@ + subdir = src/plugins/batt +-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ +- $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ ++ $(top_srcdir)/depcomp + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ +- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intltool.m4 \ +- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ +- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ +- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ +- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ +- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ +- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ ++am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = +@@ -178,23 +143,6 @@ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +-# Read a list of newline-separated strings from the standard input, +-# and print each of them once, without duplicates. Input order is +-# *not* preserved. +-am__uniquify_input = $(AWK) '\ +- BEGIN { nonempty = 0; } \ +- { items[$$0] = 1; nonempty = 1; } \ +- END { if (nonempty) { for (i in items) print i; }; } \ +-' +-# Make sure the list of sources is unique. This is necessary because, +-# e.g., the same source file might be shared among _SOURCES variables +-# for different programs/libraries. +-am__define_uniq_tagged_files = \ +- list='$(am__tagged_files)'; \ +- unique=`for i in $$list; do \ +- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +- done | $(am__uniquify_input)` + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +@@ -255,15 +203,11 @@ + INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ + LD = @LD@ + LDFLAGS = @LDFLAGS@ +-LIBICONV = @LIBICONV@ +-LIBINTL = @LIBINTL@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ + LIBTOOL = @LIBTOOL@ + LIPO = @LIPO@ + LN_S = @LN_S@ +-LTLIBICONV = @LTLIBICONV@ +-LTLIBINTL = @LTLIBINTL@ + LTLIBOBJS = @LTLIBOBJS@ + LXPANEL_MODULE = @LXPANEL_MODULE@ + MAKEINFO = @MAKEINFO@ +@@ -423,7 +367,6 @@ + $(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): +- + install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \ +@@ -458,7 +401,6 @@ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +- + batt.la: $(batt_la_OBJECTS) $(batt_la_DEPENDENCIES) $(EXTRA_batt_la_DEPENDENCIES) + $(AM_V_CCLD)$(batt_la_LINK) -rpath $(moduledir) $(batt_la_OBJECTS) $(batt_la_LIBADD) $(LIBS) + +@@ -476,14 +418,14 @@ + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< + + .c.obj: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po + @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` + + .c.lo: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@@ -512,15 +454,26 @@ + clean-libtool: + -rm -rf .libs _libs + +-ID: $(am__tagged_files) +- $(am__define_uniq_tagged_files); mkid -fID $$unique +-tags: tags-am +-TAGS: tags ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ mkid -fID $$unique ++tags: TAGS + +-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ +- $(am__define_uniq_tagged_files); \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ +@@ -532,11 +485,15 @@ + $$unique; \ + fi; \ + fi +-ctags: ctags-am +- +-CTAGS: ctags +-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +- $(am__define_uniq_tagged_files); \ ++ctags: CTAGS ++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique +@@ -545,10 +502,9 @@ + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +-cscopelist: cscopelist-am + +-cscopelist-am: $(am__tagged_files) +- list='$(am__tagged_files)'; \ ++cscopelist: $(HEADERS) $(SOURCES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ +@@ -704,9 +660,9 @@ + + .MAKE: install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ +- clean-libtool clean-moduleLTLIBRARIES cscopelist-am ctags \ +- ctags-am distclean distclean-compile distclean-generic \ ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \ ++ distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ +@@ -716,7 +672,7 @@ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ ++ pdf pdf-am ps ps-am tags uninstall uninstall-am \ + uninstall-moduleLTLIBRARIES + + diff --git a/x11/lxpanel/files/patch-src__plugins__batt__batt.c b/x11/lxpanel/files/patch-src__plugins__batt__batt.c new file mode 100644 index 000000000000..7b971e6be24d --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__batt__batt.c @@ -0,0 +1,171 @@ +--- ./src/plugins/batt/batt.c.orig 2014-05-09 09:15:04.000000000 -0400 ++++ ./src/plugins/batt/batt.c 2014-05-27 18:13:59.000000000 -0400 +@@ -68,7 +68,7 @@ + cairo_surface_t *pixmap; + GtkWidget *drawingArea; + int orientation; +- unsigned int alarmTime, ++ unsigned int alarmPercentage, + border, + height, + length, +@@ -118,7 +118,6 @@ + char tooltip[ 256 ]; + battery *b = lx_b->b; + /* unit: mW */ +- int rate; + gboolean isCharging; + + if (! lx_b->pixmap ) +@@ -127,26 +126,28 @@ + cr = cairo_create(lx_b->pixmap); + cairo_set_line_width (cr, 1.0); + +- /* draw background */ +- gdk_cairo_set_source_color(cr, &lx_b->background); +- cairo_rectangle(cr, 0, 0, lx_b->width, lx_b->height); +- cairo_fill(cr); +- + /* no battery is found */ +- if( b == NULL ) ++ if( b == NULL || b->percentage < 0 ) + { + gtk_widget_set_tooltip_text( lx_b->drawingArea, _("No batteries found") ); +- goto update_done; ++ gdk_cairo_set_source_color(cr, &lx_b->background); ++ cairo_rectangle(cr, 0, 0, lx_b->width, lx_b->height); ++ cairo_fill(cr); ++ return; + } + ++ /* draw background */ ++ gdk_cairo_set_source_color(cr, &lx_b->background); ++ cairo_rectangle(cr, 0, 0, lx_b->width, lx_b->height); ++ cairo_fill(cr); ++ + /* fixme: only one battery supported */ + +- rate = lx_b->b->current_now; + isCharging = battery_is_charging ( b ); + + /* Consider running the alarm command */ +- if ( !isCharging && rate > 0 && +- ( ( battery_get_remaining( b ) / 60 ) < lx_b->alarmTime ) ) ++ if ( !isCharging && ++ ( ( b->percentage ) < lx_b->alarmPercentage ) ) + { + /* Shrug this should be done using glibs process functions */ + /* Alarms should not run concurrently; determine whether an alarm is +@@ -176,7 +177,7 @@ + int left_seconds = b->seconds - 3600 * hours; + int minutes = left_seconds / 60; + snprintf(tooltip, 256, +- _("Battery: %d%% charged, %d:%02d until full"), ++ _("Battery: %d%% charged"), + lx_b->b->percentage, + hours, + minutes ); +@@ -187,10 +188,10 @@ + int left_seconds = b->seconds - 3600 * hours; + int minutes = left_seconds / 60; + snprintf(tooltip, 256, +- _("Battery: %d%% charged, %d:%02d left"), ++ _("Battery: %d%% charged, %d:%02dh left"), + lx_b->b->percentage, +- hours, +- minutes ); ++ hours, ++ minutes); + } else { + snprintf(tooltip, 256, + _("Battery: %d%% charged"), +@@ -236,8 +237,6 @@ + cairo_fill(cr); + + } +- +-update_done: + if( repaint ) + gtk_widget_queue_draw( lx_b->drawingArea ); + +@@ -247,19 +246,12 @@ + + /* This callback is called every 3 seconds */ + static int update_timout(lx_battery *lx_b) { +- battery *bat; + GDK_THREADS_ENTER(); + lx_b->state_elapsed_time++; + lx_b->info_elapsed_time++; + +- bat = battery_update( lx_b->b ); +- if (bat == NULL) +- { +- battery_free(lx_b->b); +- +- /* maybe in the mean time a battery has been inserted. */ +- lx_b->b = battery_get(); +- } ++ /* check the batteries every 3 seconds */ ++ battery_update( lx_b->b ); + + update_display( lx_b, TRUE ); + +@@ -346,6 +338,10 @@ + /* get available battery */ + lx_b->b = battery_get (); + ++ /* no battery available */ ++ if ( lx_b->b == NULL ) ++ goto error; ++ + p->pwid = gtk_event_box_new(); + GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW ); + gtk_container_set_border_width( GTK_CONTAINER(p->pwid), 1 ); +@@ -380,7 +376,7 @@ + = lx_b->dischargingColor1 = lx_b->dischargingColor2 = NULL; + + /* Set default values for integers */ +- lx_b->alarmTime = 5; ++ lx_b->alarmPercentage = 10; + lx_b->requestedBorder = 1; + + line s; +@@ -409,8 +405,8 @@ + lx_b->dischargingColor1 = g_strdup(s.t[1]); + else if (!g_ascii_strcasecmp(s.t[0], "DischargingColor2")) + lx_b->dischargingColor2 = g_strdup(s.t[1]); +- else if (!g_ascii_strcasecmp(s.t[0], "AlarmTime")) +- lx_b->alarmTime = atoi(s.t[1]); ++ else if (!g_ascii_strcasecmp(s.t[0], "AlarmPercentage")) ++ lx_b->alarmPercentage = atoi(s.t[1]); + else if (!g_ascii_strcasecmp(s.t[0], "BorderWidth")) + lx_b->requestedBorder = atoi(s.t[1]); + else if (!g_ascii_strcasecmp(s.t[0], "Size")) { +@@ -477,9 +473,6 @@ + + lx_battery *b = (lx_battery *) p->priv; + +- if (b->b != NULL) +- battery_free(b->b); +- + if (b->pixmap) + cairo_surface_destroy(b->pixmap); + +@@ -562,7 +555,7 @@ + _("Hide if there is no battery"), &b->hide_if_no_battery, CONF_TYPE_BOOL, + #endif + _("Alarm command"), &b->alarmCommand, CONF_TYPE_STR, +- _("Alarm time (minutes left)"), &b->alarmTime, CONF_TYPE_INT, ++ _("Alarm percentage (percentage left)"), &b->alarmPercentage, CONF_TYPE_INT, + _("Background color"), &b->backgroundColor, CONF_TYPE_STR, + _("Charging color 1"), &b->chargingColor1, CONF_TYPE_STR, + _("Charging color 2"), &b->chargingColor2, CONF_TYPE_STR, +@@ -582,7 +575,7 @@ + + lxpanel_put_bool(fp, "HideIfNoBattery",lx_b->hide_if_no_battery); + lxpanel_put_str(fp, "AlarmCommand", lx_b->alarmCommand); +- lxpanel_put_int(fp, "AlarmTime", lx_b->alarmTime); ++ lxpanel_put_int(fp, "AlarmPercentage", lx_b->alarmPercentage); + lxpanel_put_str(fp, "BackgroundColor", lx_b->backgroundColor); + lxpanel_put_int(fp, "BorderWidth", lx_b->requestedBorder); + lxpanel_put_str(fp, "ChargingColor1", lx_b->chargingColor1); diff --git a/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.c b/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.c new file mode 100644 index 000000000000..26a239f765fa --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.c @@ -0,0 +1,304 @@ +--- ./src/plugins/batt/batt_sys.c.orig 2014-05-09 09:15:04.000000000 -0400 ++++ ./src/plugins/batt/batt_sys.c 2014-05-27 18:14:06.000000000 -0400 +@@ -39,26 +39,10 @@ + static int battery_num = 1; + battery * b = g_new0 ( battery, 1 ); + b->type_battery = TRUE; +- b->capacity_unit = "mAh"; +- b->energy_full = -1; +- b->charge_full = -1; +- b->voltage_now = -1; +- b->energy_full_design = -1; +- b->charge_full_design = -1; +- b->energy_now = -1; +- b->charge_now = -1; +- b->current_now = -1; +- b->power_now = -1; + b->state = NULL; +- b->battery_num = battery_num; +- b->seconds = -1; +- b->percentage = -1; +- b->poststr = NULL; +- battery_num++; + return b; + } + +- + static gchar* parse_info_file(battery *b, char *sys_file) + { + char *buf = NULL; +@@ -97,7 +81,7 @@ + return parse_info_file(b, sys_file); + } + +-void battery_print(battery *b, int show_capacity) ++void battery_print(battery *b) + { + if ( b->type_battery ) + { +@@ -110,215 +94,65 @@ + int seconds = b->seconds - 3600 * hours; + int minutes = seconds / 60; + seconds -= 60 * minutes; +- printf(", %02d:%02d:%02d%s", hours, minutes, seconds, +- b->poststr); ++ printf(", %02d:%02d:%02d", hours, minutes, seconds); + } else if (b->poststr != NULL) { + printf(", %s", b->poststr); + } + + printf("\n"); + +- if (show_capacity && b->charge_full_design > 0) { +- int percentage = -1; +- int charge_full = -1; +- if (b->charge_full <= 100) { +- /* some broken systems just give a percentage here */ +- percentage = b->charge_full; +- charge_full = percentage * b->charge_full_design / 100; +- } else { +- percentage = b->charge_full * 100 / b->charge_full_design; +- charge_full = b->charge_full; +- } +- if (percentage > 100) +- percentage = 100; +- +- printf ("%s %d: design capacity %d %s, " +- "last full capacity %d %s = %d%%\n", +- BATTERY_DESC, b->battery_num - 1, b->charge_full_design, +- b->capacity_unit, charge_full, b->capacity_unit, +- percentage); +- } + } + } + } + + +-static gboolean battery_inserted(gchar* path) +-{ +- if (path == NULL) +- return FALSE; +- +- GString *dirname = g_string_new(ACPI_PATH_SYS_POWER_SUPPY); +- GDir *dir; +- +- g_string_append_printf (dirname, "/%s/", path); +- dir = g_dir_open(dirname->str, 0, NULL); +- if (dir) +- g_dir_close(dir); +- g_string_free(dirname, TRUE); +- +- return dir ? TRUE : FALSE; +-} +- +- +-battery* battery_update(battery *b) ++void battery_update(battery *b) + { +- gchar *gctmp; +- +- if (b == NULL) +- return NULL; +- +- if (!battery_inserted(b->path)) +- return NULL; +- +- /* read from sysfs */ +- b->charge_now = get_gint_from_infofile(b, "charge_now"); +- b->energy_now = get_gint_from_infofile(b, "energy_now"); +- +- b->current_now = get_gint_from_infofile(b, "current_now"); +- b->power_now = get_gint_from_infofile(b, "power_now"); +- /* FIXME: Some battery drivers report -1000 when the discharge rate is +- * unavailable. Others use negative values when discharging. Best we can do +- * is to treat -1 as an error, and take the absolute value otherwise. +- * Ideally the kernel would not export the sysfs file when the value is not +- * available. */ +- if (b->current_now < -1) +- b->current_now = - b->current_now; +- if (b->power_now < -1) +- b->power_now = - b->power_now; +- +- b->charge_full = get_gint_from_infofile(b, "charge_full"); +- b->energy_full = get_gint_from_infofile(b, "energy_full"); +- +- b->charge_full_design = get_gint_from_infofile(b, "charge_full_design"); +- b->energy_full_design = get_gint_from_infofile(b, "energy_full_design"); +- +- b->voltage_now = get_gint_from_infofile(b, "voltage_now"); +- +- gctmp = get_gchar_from_infofile(b, "type"); +- b->type_battery = gctmp ? (strcasecmp(gctmp, "battery") == 0) : TRUE; +- +- b->state = get_gchar_from_infofile(b, "status"); +- if (!b->state) +- b->state = get_gchar_from_infofile(b, "state"); +- if (!b->state) { +- if (b->charge_now != -1 || b->energy_now != -1 +- || b->charge_full != -1 || b->energy_full != -1) +- b->state = "available"; +- else +- b->state = "unavailable"; +- } +- +- +- /* convert energy values (in mWh) to charge values (in mAh) if needed and possible */ +- +- if (b->energy_full != -1 && b->charge_full == -1) { +- if (b->voltage_now != -1 && b->voltage_now != 0) { +- b->charge_full = b->energy_full * 1000 / b->voltage_now; +- } else { +- b->charge_full = b->energy_full; +- b->capacity_unit = "mWh"; +- } +- } +- +- if (b->energy_full_design != -1 && b->charge_full_design == -1) { +- if (b->voltage_now != -1 && b->voltage_now != 0) { +- b->charge_full_design = b->energy_full_design * 1000 / b->voltage_now; +- } else { +- b->charge_full_design = b->energy_full_design; +- b->capacity_unit = "mWh"; +- } +- } +- +- if (b->energy_now != -1 && b->charge_now == -1) { +- if (b->voltage_now != -1 && b->voltage_now != 0) { +- b->charge_now = b->energy_now * 1000 / b->voltage_now; +- if (b->current_now != -1) +- b->current_now = b->current_now * 1000 / b->voltage_now; +- } else { +- b->charge_now = b->energy_now; +- } +- } +- +- if (b->power_now != -1 && b->current_now == -1) { +- if (b->voltage_now != -1 && b->voltage_now != 0) +- b->current_now = b->power_now * 1000 / b->voltage_now; +- } +- +- +- if (b->charge_full < MIN_CAPACITY) +- b->percentage = 0; +- else { +- int promille = (b->charge_now * 1000) / b->charge_full; +- b->percentage = (promille + 5) / 10; /* round properly */ +- } +- if (b->percentage > 100) +- b->percentage = 100; ++ char sstmp[ 100 ]; ++ int c, state; ++ size_t intlen = sizeof c; + ++ snprintf(sstmp, sizeof(sstmp), "hw.acpi.battery.life"); ++ sysctlbyname(sstmp, &c, &intlen, NULL, 0); ++ b->percentage = c; ++ ++ snprintf(sstmp, sizeof(sstmp), "hw.acpi.battery.state"); ++ sysctlbyname(sstmp, &state, &intlen, NULL, 0); + +- if (b->current_now == -1) { +- b->poststr = "rate information unavailable"; +- b->seconds = -1; +- } else if (!strcasecmp(b->state, "charging")) { +- if (b->current_now > MIN_PRESENT_RATE) { +- b->seconds = 3600 * (b->charge_full - b->charge_now) / b->current_now; +- b->poststr = " until charged"; +- } else { +- b->poststr = "charging at zero rate - will never fully charge."; +- b->seconds = -1; +- } +- } else if (!strcasecmp(b->state, "discharging")) { +- if (b->current_now > MIN_PRESENT_RATE) { +- b->seconds = 3600 * b->charge_now / b->current_now; +- b->poststr = " remaining"; +- } else { +- b->poststr = "discharging at zero rate - will never fully discharge."; +- b->seconds = -1; +- } +- } else { +- b->poststr = NULL; +- b->seconds = -1; +- } ++ switch(state) { ++ case BATT_FULL: ++ b->state = "Full"; ++ break; ++ case BATT_DISCHARGING: ++ b->state = "Discharging"; ++ break; ++ case BATT_CHARGING: ++ b->state = "Charging"; ++ break; ++ case BATT_CRITICAL: ++ b->state = "Critical"; ++ break; ++ case BATT_NONE: ++ b->state = "Unavailable"; ++ break; ++ default: ++ b->state = "Unknown"; ++ break; ++ ++ } ++ ++ snprintf(sstmp, sizeof(sstmp), "hw.acpi.battery.time"); ++ sysctlbyname(sstmp, &c, &intlen, NULL, 0); ++ b->seconds = c * 60; + +- return b; + } + +- + battery *battery_get() { +- GError * error = NULL; +- const gchar *entry; +- GDir * dir = g_dir_open( ACPI_PATH_SYS_POWER_SUPPY, 0, &error ); +- battery *b = NULL; +- if ( dir == NULL ) +- { +- g_warning( "NO ACPI/sysfs support in kernel: %s", error->message ); +- return NULL; +- } +- while ( ( entry = g_dir_read_name (dir) ) != NULL ) +- { +- b = battery_new(); +- b->path = g_strdup( entry ); +- battery_update ( b ); +- if ( b->type_battery == TRUE ) +- break; +- /* ignore non-batteries */ +- else { +- g_free(b); +- b = NULL; +- } +- } +- g_dir_close( dir ); ++ battery *b = battery_new(); ++ battery_update(b); + return b; + } + +-void battery_free(battery* bat) +-{ +- if (bat) { +- g_free(bat->path); +- g_free(bat); +- } +-} +- + gboolean battery_is_charging( battery *b ) + { + if (!b->state) +@@ -327,11 +161,3 @@ + strcasecmp( b->state, "Full" ) == 0 + || strcasecmp( b->state, "Charging" ) == 0 ); + } +- +-gint battery_get_remaining( battery *b ) +-{ +- return b->seconds; +-} +- +- +-/* vim: set sw=4 et sts=4 : */ diff --git a/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.h b/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.h new file mode 100644 index 000000000000..1833b75e3c20 --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__batt__batt_sys.h @@ -0,0 +1,38 @@ +--- ./src/plugins/batt/batt_sys.h.orig 2014-05-09 09:15:04.000000000 -0400 ++++ ./src/plugins/batt/batt_sys.h 2014-05-27 18:14:12.000000000 -0400 +@@ -23,6 +23,12 @@ + #ifndef BATT_SYS_H + #define BATT_SYS_H + ++/* The states a battery can have */ ++#define BATT_FULL 0 ++#define BATT_DISCHARGING 1 ++#define BATT_CHARGING 2 ++#define BATT_CRITICAL 5 ++#define BATT_NONE 7 + + #define BUF_SIZE 1024 + #define ACPI_PATH_SYS_POWER_SUPPY "/sys/class/power_supply" +@@ -35,7 +41,7 @@ + typedef struct battery { + int battery_num; + /* path to battery dir */ +- gchar *path; ++ const gchar *path; + /* sysfs file contents */ + int charge_now; + int energy_now; +@@ -55,10 +61,9 @@ + } battery; + + battery *battery_get(); +-battery *battery_update( battery *b ); +-void battery_print(battery *b, int show_capacity); ++void battery_update( battery *b ); ++void battery_print(battery *b); ++void battery_reset(battery *b); + gboolean battery_is_charging( battery *b ); +-gint battery_get_remaining( battery *b ); +-void battery_free(battery* bat); + + #endif diff --git a/x11/lxpanel/files/patch-src__plugins__cpufreq__cpufreq.c b/x11/lxpanel/files/patch-src__plugins__cpufreq__cpufreq.c new file mode 100644 index 000000000000..cf6547a2095f --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__cpufreq__cpufreq.c @@ -0,0 +1,411 @@ +--- ./src/plugins/cpufreq/cpufreq.c.orig 2014-05-15 23:39:21.000000000 -0400 ++++ ./src/plugins/cpufreq/cpufreq.c 2014-05-15 23:57:32.000000000 -0400 +@@ -33,28 +33,13 @@ + + #include "dbg.h" + +-#define PROC_ICON PACKAGE_DATA_DIR "/lxpanel/images/cpufreq-icon.png" +-#define SYSFS_CPU_DIRECTORY "/sys/devices/system/cpu" +-#define SCALING_GOV "scaling_governor" +-#define SCALING_AGOV "scaling_available_governors" +-#define SCALING_AFREQ "scaling_available_frequencies" +-#define SCALING_CUR_FREQ "scaling_cur_freq" +-#define SCALING_SETFREQ "scaling_setspeed" +-#define SCALING_MAX "scaling_max_freq" +-#define SCALING_MIN "scaling_min_freq" +- +- + typedef struct { + GtkWidget *main; + GtkWidget *namew; + GtkTooltips *tip; +- GList *governors; + GList *cpus; +- int has_cpufreq; +- char* cur_governor; + int cur_freq; + unsigned int timer; +- gboolean remember; + } cpufreq; + + typedef struct { +@@ -63,243 +48,32 @@ + } Param; + + static void +-get_cur_governor(cpufreq *cf){ +- FILE *fp; +- char buf[ 100 ], sstmp [ 256 ]; + +- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_GOV); +- if ((fp = fopen( sstmp, "r")) != NULL) { +- fgets(buf, 100, fp); +- buf[strlen(buf)-1] = '\0'; +- if(cf->cur_governor) +- { +- g_free(cf->cur_governor); +- cf->cur_governor = NULL; +- } +- cf->cur_governor = strdup(buf); +- fclose(fp); +- } +-} +- +-static void + get_cur_freq(cpufreq *cf){ +- FILE *fp; +- char buf[ 100 ], sstmp [ 256 ]; +- +- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_CUR_FREQ); +- if ((fp = fopen( sstmp, "r")) != NULL) { +- fgets(buf, 100, fp); +- buf[strlen(buf)-1] = '\0'; +- cf->cur_freq = atoi(buf); +- fclose(fp); +- } +-} +- +-static void +-get_governors(cpufreq *cf){ +- FILE *fp; +- GList *l; +- char buf[ 100 ], sstmp [ 256 ], c, bufl = 0; +- +- g_list_free(cf->governors); +- cf->governors = NULL; +- +- get_cur_governor(cf); +- +- if(cf->cpus == NULL){ +- cf->governors = NULL; +- return; +- } +- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_AGOV); +- +- if (!(fp = fopen( sstmp, "r"))) { +- printf("cpufreq: cannot open %s\n",sstmp); +- return; +- } +- +- while((c = fgetc(fp)) != EOF){ +- if(c == ' '){ +- if(bufl > 1){ +- buf[bufl] = '\0'; +- cf->governors = g_list_append(cf->governors, strdup(buf)); +- } +- bufl = 0; +- buf[0] = '\0'; +- }else{ +- buf[bufl++] = c; +- } +- } +- +- fclose(fp); +-} +- +-static void +-cpufreq_set_freq(GtkWidget *widget, Param* p){ +- FILE *fp; +- char buf[ 100 ], sstmp [ 256 ]; +- +- if(strcmp(p->cf->cur_governor, "userspace")) return; +- +- sprintf(sstmp,"%s/%s",p->cf->cpus->data, SCALING_SETFREQ); +- if ((fp = fopen( sstmp, "w")) != NULL) { +- fprintf(fp,"%s",p->data); +- fclose(fp); +- } +-} +- +-static GtkWidget * +-frequency_menu(cpufreq *cf){ +- FILE *fp; +- Param* param; +- char buf[ 100 ], sstmp [ 256 ], c, bufl = 0; +- +- sprintf(sstmp,"%s/%s",cf->cpus->data, SCALING_AFREQ); +- +- if (!(fp = fopen( sstmp, "r"))) { +- printf("cpufreq: cannot open %s\n",sstmp); +- return 0; +- } +- +- GtkMenu* menu = GTK_MENU(gtk_menu_new()); +- GtkWidget* menuitem; +- +- while((c = fgetc(fp)) != EOF){ +- if(c == ' '){ +- if(bufl > 1){ +- buf[bufl] = '\0'; +- menuitem = gtk_menu_item_new_with_label(strdup(buf)); +- gtk_menu_append (GTK_MENU_SHELL (menu), menuitem); +- gtk_widget_show (menuitem); +- param = g_new0(Param, 1); +- param->data = strdup(buf); +- param->cf = cf; +- g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(cpufreq_set_freq), param); +- g_object_weak_ref(G_OBJECT(menuitem), (GWeakNotify)g_free, param); +- } +- bufl = 0; +- buf[0] = '\0'; +- }else{ +- buf[bufl++] = c; +- } +- } ++ char sstmp [ 256 ]; ++ int c; ++ size_t clen = sizeof c; + +- fclose(fp); +- return GTK_WIDGET(menu); ++ snprintf(sstmp, sizeof(sstmp), "dev.cpu.0.freq"); ++ if (sysctlbyname(sstmp, &c, &clen, NULL, 0) != 0 || clen != sizeof c) ++ return; ++ printf("freq: %d\n", c); ++ cf->cur_freq = c; + } + + static void + get_cpus(cpufreq *cf) + { +- + const char *cpu; +- char cpu_path[100]; +- +- GDir * cpuDirectory = g_dir_open(SYSFS_CPU_DIRECTORY, 0, NULL); +- if (cpuDirectory == NULL) +- { +- cf->cpus = NULL; +- printf("cpufreq: no cpu found\n"); +- return; +- } +- +- while ((cpu = g_dir_read_name(cpuDirectory))) +- { +- /* Look for directories of the form "cpu<n>", where "<n>" is a decimal integer. */ +- if ((strncmp(cpu, "cpu", 3) == 0) && (cpu[3] >= '0') && (cpu[3] <= '9')) +- { +- sprintf(cpu_path, "%s/%s/cpufreq", SYSFS_CPU_DIRECTORY, cpu); +- +- GDir * cpufreqDir = g_dir_open(SYSFS_CPU_DIRECTORY, 0, NULL); +- if (cpufreqDir == NULL) +- { +- cf->cpus = NULL; +- cf->has_cpufreq = 0; +- break; +- } +- +- cf->has_cpufreq = 1; +- cf->cpus = g_list_append(cf->cpus, strdup(cpu_path)); +- } +- } +- g_dir_close(cpuDirectory); +-} +- +-static void +-cpufreq_set_governor(GtkWidget *widget, Param* p){ +- FILE *fp; +- char buf[ 100 ], sstmp [ 256 ]; +- +- sprintf(sstmp, "%s/%s", p->cf->cpus->data, SCALING_GOV); +- if ((fp = fopen( sstmp, "w")) != NULL) { +- fprintf(fp,"%s",p->data); +- fclose(fp); +- } +-} +- +-static GtkWidget * +-cpufreq_menu(cpufreq *cf){ +- GList *l; +- GSList *group; +- char buff[100]; +- GtkMenuItem* menuitem; +- Param* param; +- +- GtkMenu* menu = GTK_MENU(gtk_menu_new()); +- g_signal_connect(menu, "selection-done", G_CALLBACK(gtk_widget_destroy), NULL); +- +- get_governors(cf); +- group = NULL; +- +- if((cf->governors == NULL) || (!cf->has_cpufreq) || (cf->cur_governor == NULL)){ +- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label("CPUFreq not supported")); +- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); +- gtk_widget_show (GTK_WIDGET (menuitem)); +- return GTK_WIDGET(menu); +- } +- +- if(strcmp(cf->cur_governor, "userspace") == 0){ +- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(" Frequency")); +- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); +- gtk_widget_show (GTK_WIDGET (menuitem)); +- gtk_menu_item_set_submenu(menuitem, frequency_menu(cf)); +- menuitem = GTK_MENU_ITEM(gtk_separator_menu_item_new()); +- gtk_menu_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); +- gtk_widget_show (GTK_WIDGET(menuitem)); +- } +- +- for( l = cf->governors; l; l = l->next ) +- { +- if(strcmp((char*)l->data, cf->cur_governor) == 0){ +- sprintf(buff,"> %s", l->data); +- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(strdup(buff))); +- }else{ +- sprintf(buff," %s", l->data); +- menuitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label(strdup(buff))); +- } +- +- gtk_menu_shell_append (GTK_MENU_SHELL (menu), GTK_WIDGET (menuitem)); +- gtk_widget_show (GTK_WIDGET (menuitem)); +- param = g_new0(Param, 1); +- param->data = l->data; +- param->cf = cf; +- g_signal_connect(G_OBJECT(menuitem), "activate", G_CALLBACK(cpufreq_set_governor), param); +- g_object_weak_ref(G_OBJECT(menuitem), (GWeakNotify) g_free, param); +- } +- +- return GTK_WIDGET (menu); ++ cf->cpus = g_list_append(cf->cpus, strdup("dev.cpu.0.freq")); + } + +- +- + static gboolean + clicked( GtkWidget *widget, GdkEventButton* evt, Plugin* plugin) + { + ENTER2; + if( evt->button == 1 ) + { +-// Setting governor can't work without root privilege +-// gtk_menu_popup( cpufreq_menu((cpufreq*)plugin->priv), NULL, NULL, NULL, NULL, +-// evt->button, evt->time ); + return TRUE; + }else if ( evt->button == 3 ) + { +@@ -316,15 +90,16 @@ + update_tooltip(cpufreq *cf) + { + char *tooltip; ++ char buffer [60]; + + get_cur_freq(cf); +- get_cur_governor(cf); + + ENTER; + +- tooltip = g_strdup_printf("Frequency: %d MHz\nGovernor: %s", +- cf->cur_freq / 1000, cf->cur_governor); ++ tooltip = g_strdup_printf("Frequency: %d MHz", cf->cur_freq ); + gtk_tooltips_set_tip(cf->tip, cf->main, tooltip, NULL); ++ sprintf(buffer, "<span color=\"#ffffff\"><b>%d MHz</b></span>", cf->cur_freq); ++ gtk_label_set_markup (GTK_LABEL(cf->namew), buffer); + g_free(tooltip); + RET(TRUE); + } +@@ -337,7 +112,6 @@ + + ENTER; + cf = g_new0(cpufreq, 1); +- cf->governors = NULL; + cf->cpus = NULL; + g_return_val_if_fail(cf != NULL, 0); + p->priv = cf; +@@ -346,7 +120,7 @@ + GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW ); + gtk_container_set_border_width( GTK_CONTAINER(p->pwid), 2 ); + +- cf->namew = gtk_image_new_from_file(PROC_ICON); ++ cf->namew = gtk_label_new("xxx"); + gtk_container_add(GTK_CONTAINER(p->pwid), cf->namew); + + cf->main = p->pwid; +@@ -361,34 +135,8 @@ + + g_signal_connect (G_OBJECT (p->pwid), "button_press_event", G_CALLBACK (clicked), (gpointer) p); + +- cf->has_cpufreq = 0; +- + get_cpus(cf); + +-/* line s; +- s.len = 256; +- +- if (fp) { +- while (lxpanel_get_line(fp, &s) != LINE_BLOCK_END) { +- if (s.type == LINE_NONE) { +- ERR( "cpufreq: illegal token %s\n", s.str); +- goto error; +- } +- if (s.type == LINE_VAR) { +- if (!g_ascii_strcasecmp(s.t[0], "DefaultGovernor")){ +- //cf->str_cl_normal = g_strdup(s.t[1]); +- }else { +- ERR( "cpufreq: unknown var %s\n", s.t[0]); +- continue; +- } +- } +- else { +- ERR( "cpufreq: illegal in cfis context %s\n", s.str); +- goto error; +- } +- } +- +- }*/ + update_tooltip(cf); + cf->timer = g_timeout_add_seconds(2, (GSourceFunc)update_tooltip, (gpointer)cf); + +@@ -400,53 +148,24 @@ + RET(FALSE);*/ + } + +-static void applyConfig(Plugin* p) { } +- +-static void config(Plugin *p, GtkWindow* parent) { +- ENTER; +- +- GtkWidget *dialog; +- cpufreq *cf = (cpufreq *) p->priv; +- dialog = create_generic_config_dlg(_(p->class->name), +- GTK_WIDGET(parent), +- (GSourceFunc) applyConfig, (gpointer) p, +- _("Remember governor and frequency"), &cf->remember, CONF_TYPE_BOOL, +- NULL); +- gtk_window_present(GTK_WINDOW(dialog)); +- +- RET(); +-} +- + static void + cpufreq_destructor(Plugin *p) + { + cpufreq *cf = (cpufreq *)p->priv; + g_list_free ( cf->cpus ); +- g_list_free ( cf->governors ); + g_source_remove(cf->timer); + g_free(cf); + } + +-static void save_config( Plugin* p, FILE* fp ) +-{ +- cpufreq *cf = (cpufreq *)p->priv; +- +- lxpanel_put_bool( fp, "Remember", cf->remember); +- lxpanel_put_str( fp, "Governor", cf->cur_governor ); +- lxpanel_put_int( fp, "Frequency", cf->cur_freq ); +-} +- + PluginClass cpufreq_plugin_class = { + PLUGINCLASS_VERSIONING, + + type : "cpufreq", + name : N_("CPUFreq frontend"), + version: "0.1", +- description : N_("Display CPU frequency and allow to change governors and frequency"), ++ description : N_("Display CPU frequency"), + + constructor : cpufreq_constructor, + destructor : cpufreq_destructor, +- config : config, +- save : NULL, + panel_configuration_changed : NULL + }; diff --git a/x11/lxpanel/files/patch-src__plugins__netstatus__netstatus-sysdeps.c b/x11/lxpanel/files/patch-src__plugins__netstatus__netstatus-sysdeps.c new file mode 100644 index 000000000000..6d9d9f2dbb88 --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__netstatus__netstatus-sysdeps.c @@ -0,0 +1,222 @@ +--- ./src/plugins/netstatus/netstatus-sysdeps.c.orig 2014-05-15 22:37:08.000000000 -0400 ++++ ./src/plugins/netstatus/netstatus-sysdeps.c 2014-05-15 22:53:33.000000000 -0400 +@@ -37,13 +37,26 @@ + + #ifdef __FreeBSD__ + #include <sys/types.h> ++#include <sys/param.h> + #include <sys/socket.h> + #include <sys/ioctl.h> ++#include <ifaddrs.h> + #include <net/if.h> ++#include <net/if_media.h> + #include <net/if_var.h> ++#if __FreeBSD_version < 700046 + #include <dev/an/if_aironet_ieee.h> + #include <dev/wi/if_wavelan_ieee.h> + #endif ++#if __FreeBSD_version >= 602000 ++#include <net80211/ieee80211.h> ++#include <net80211/ieee80211_ioctl.h> ++#endif ++#include <stdlib.h> ++#ifndef IEEE80211_ADDR_COPY ++#define IEEE80211_ADDR_COPY(dst, src) memcpy(dst, src, IEEE80211_ADDR_LEN) ++#endif ++#endif + + static inline gboolean + parse_stats (char *buf, +@@ -426,15 +439,16 @@ + return TRUE; + } + ++#if __FreeBSD_version < 700046 + static inline char * + get_an_data (const char *iface, + int *signal_strength) + { ++ struct an_ltv_status *sts; ++ struct an_req areq; + #ifdef AN_RID_RSSI_MAP + struct an_ltv_rssi_map an_rssimap; + #endif +- struct an_req areq; +- struct an_ltv_status *sts; + int level; + char *error = NULL; + gboolean rssimap_valid = FALSE; +@@ -486,11 +500,11 @@ + level = (int) wreq.wi_val[1]; + + #ifdef WI_RID_READ_APS +- if (signal_strength <= 0) ++ if (level <= 0) + { + /* we fail to get signal strength by usual means, try another way */ + static time_t last_scan; +- static long int cached; ++ static int cached; + time_t now; + + now = time (NULL); +@@ -510,15 +524,15 @@ + if (nstations > 0) + { + w = (struct wi_apinfo *)(((char *) &wreq.wi_val) + sizeof (int)); +- signal_strength = (long int) w->signal; ++ level = w->signal; + } + +- cached = signal_strength; ++ cached = level; + last_scan = now; + } + else + { +- signal_strength = cached; ++ level = cached; + } + } + #endif +@@ -527,6 +541,77 @@ + + return error; + } ++#endif /* __FreeBSD_version < 700046 */ ++ ++#if __FreeBSD_version >= 602000 ++static inline char * ++get_net80211_data (const char *iface, ++ int *signal_strength) ++{ ++ struct ieee80211req_sta_info *si; ++ struct ieee80211req ireq; ++ int level; ++ int s; ++ uint8_t mac[IEEE80211_ADDR_LEN]; ++ int8_t noise; ++ char *error = NULL; ++ union { ++ struct ieee80211req_sta_req info; ++ char buf[1024]; ++ } u_info; ++ ++ memset (&u_info, 0, sizeof (u_info)); ++ memset (&ireq, 0, sizeof (ireq)); ++ ++ strlcpy (ireq.i_name, iface, sizeof (ireq.i_name)); ++ ireq.i_type = IEEE80211_IOC_BSSID; ++ ireq.i_data = mac; ++ ireq.i_len = IEEE80211_ADDR_LEN; ++ ++ s = socket (AF_INET, SOCK_DGRAM, 0); ++ if (s == -1) ++ { ++ error = g_strdup_printf (_("Could not connect to interface, '%s'"), iface); ++ return error; ++ } ++ ++ if (ioctl (s, SIOCG80211, &ireq) == -1) ++ { ++ error = g_strdup_printf (_("Could not get MAC for interface, '%s'"), iface); ++ close (s); ++ return error; ++ } ++ ++ IEEE80211_ADDR_COPY (u_info.info.is_u.macaddr, mac); ++ ireq.i_type = IEEE80211_IOC_STA_INFO; ++ ireq.i_data = (caddr_t) &u_info; ++ ireq.i_len = sizeof (u_info); ++ ++ if (ioctl (s, SIOCG80211, &ireq) == -1) ++ { ++ error = g_strdup_printf (_("Could not send ioctl to interface, '%s'"), iface); ++ close (s); ++ return error; ++ } ++ ++ close (s); ++ ++ si = &u_info.info.info[0]; ++ noise = si->isi_noise; ++ if (si->isi_rssi == 0) ++ level = 0; ++ else ++ { ++ if (noise == 0) ++ noise = -95; ++ level = (int) abs (rint ((si->isi_rssi / (si->isi_rssi/2. + noise)) * 100.0)); ++ level = CLAMP (level, 0, 100); ++ } ++ ++ memcpy (signal_strength, &level, sizeof (signal_strength)); ++ return error; ++} ++#endif /* __FreeBSD_version >= 602000 */ + + char * + netstatus_sysdeps_read_iface_wireless_details (const char *iface, +@@ -544,25 +629,54 @@ + if (signal_strength) + *signal_strength = 0; + +- if (g_strncasecmp (iface, "an", 2) && +- g_strncasecmp (iface, "wi", 2) && +- g_strncasecmp (iface, "ath", 3) && +- g_strncasecmp (iface, "ndis", 4) && +- g_strncasecmp (iface, "ipw", 3) && +- g_strncasecmp (iface, "iwi", 3) && +- g_strncasecmp (iface, "acx", 3)) ++#if __FreeBSD_version >= 800036 ++ if (g_ascii_strncasecmp (iface, "wlan", 4)) + return error_message; ++#else ++ if (g_ascii_strncasecmp (iface, "acx", 3) && ++ g_ascii_strncasecmp (iface, "an", 2) && ++ g_ascii_strncasecmp (iface, "ath", 3) && ++ g_ascii_strncasecmp (iface, "ipw", 3) && ++ g_ascii_strncasecmp (iface, "iwi", 3) && ++ g_ascii_strncasecmp (iface, "malo", 4) && ++ g_ascii_strncasecmp (iface, "ndis", 4) && ++ g_ascii_strncasecmp (iface, "ral", 3) && ++ g_ascii_strncasecmp (iface, "rum", 3) && ++ g_ascii_strncasecmp (iface, "ural", 4) && ++ g_ascii_strncasecmp (iface, "wi", 2) && ++ g_ascii_strncasecmp (iface, "zyd", 3)) ++ return error_message; ++#endif + +- if (g_strncasecmp (iface, "an", 2) == 0) ++#if __FreeBSD_version < 700046 ++ if (g_ascii_strncasecmp (iface, "an", 2) == 0) + { + error_message = get_an_data (iface, signal_strength); + *is_wireless = TRUE; + } ++#endif ++#if __FreeBSD_version >= 602000 ++#if __FreeBSD_version < 700046 ++ else if (g_ascii_strncasecmp (iface, "wi", 2) == 0) ++ { ++ error_message = get_wi_data (iface, signal_strength); ++ *is_wireless = TRUE; ++ } ++ else ++#endif ++ { ++ error_message = get_net80211_data (iface, signal_strength); ++ *is_wireless = TRUE; ++ } ++#else ++#if __FreeBSD_version < 700046 + else + { + error_message = get_wi_data (iface, signal_strength); + *is_wireless = TRUE; + } ++#endif ++#endif + + return error_message; + } diff --git a/x11/lxpanel/files/patch-src__plugins__thermal__Makefile.in b/x11/lxpanel/files/patch-src__plugins__thermal__Makefile.in new file mode 100644 index 000000000000..6a861bdc6686 --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__thermal__Makefile.in @@ -0,0 +1,462 @@ +--- ./src/plugins/thermal/Makefile.in.orig 2014-05-09 09:31:26.000000000 -0400 ++++ ./src/plugins/thermal/Makefile.in 2014-05-20 09:47:15.000000000 -0400 +@@ -1,8 +1,9 @@ +-# Makefile.in generated by automake 1.14.1 from Makefile.am. ++# Makefile.in generated by automake 1.11.1 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2013 Free Software Foundation, Inc. +- ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, ++# Inc. + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is preserved. +@@ -15,51 +16,6 @@ + @SET_MAKE@ + + VPATH = @srcdir@ +-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +-am__make_running_with_option = \ +- case $${target_option-} in \ +- ?) ;; \ +- *) echo "am__make_running_with_option: internal error: invalid" \ +- "target option '$${target_option-}' specified" >&2; \ +- exit 1;; \ +- esac; \ +- has_opt=no; \ +- sane_makeflags=$$MAKEFLAGS; \ +- if $(am__is_gnu_make); then \ +- sane_makeflags=$$MFLAGS; \ +- else \ +- case $$MAKEFLAGS in \ +- *\\[\ \ ]*) \ +- bs=\\; \ +- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ +- esac; \ +- fi; \ +- skip_next=no; \ +- strip_trailopt () \ +- { \ +- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +- }; \ +- for flg in $$sane_makeflags; do \ +- test $$skip_next = yes && { skip_next=no; continue; }; \ +- case $$flg in \ +- *=*|--*) continue;; \ +- -*I) strip_trailopt 'I'; skip_next=yes;; \ +- -*I?*) strip_trailopt 'I';; \ +- -*O) strip_trailopt 'O'; skip_next=yes;; \ +- -*O?*) strip_trailopt 'O';; \ +- -*l) strip_trailopt 'l'; skip_next=yes;; \ +- -*l?*) strip_trailopt 'l';; \ +- -[dEDm]) skip_next=yes;; \ +- -[JT]) skip_next=yes;; \ +- esac; \ +- case $$flg in \ +- *$$target_option*) has_opt=yes; break;; \ +- esac; \ +- done; \ +- test $$has_opt = yes +-am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +-am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) + pkgdatadir = $(datadir)/@PACKAGE@ + pkgincludedir = $(includedir)/@PACKAGE@ + pkglibdir = $(libdir)/@PACKAGE@ +@@ -79,21 +35,13 @@ + build_triplet = @build@ + host_triplet = @host@ + subdir = src/plugins/thermal +-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ +- $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp ++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ +- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intltool.m4 \ +- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ +- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ +- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ +- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ +- $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ +- $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \ ++am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++mkinstalldirs = $(install_sh) -d + CONFIG_HEADER = $(top_builddir)/config.h + CONFIG_CLEAN_FILES = + CONFIG_CLEAN_VPATH_FILES = +@@ -118,37 +66,18 @@ + am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +-am__uninstall_files_from_dir = { \ +- test -z "$$files" \ +- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ +- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ +- $(am__cd) "$$dir" && rm -f $$files; }; \ +- } + am__installdirs = "$(DESTDIR)$(moduledir)" + LTLIBRARIES = $(module_LTLIBRARIES) + am__DEPENDENCIES_1 = + thermal_la_DEPENDENCIES = $(am__DEPENDENCIES_1) + am_thermal_la_OBJECTS = thermal_la-thermal.lo + thermal_la_OBJECTS = $(am_thermal_la_OBJECTS) +-AM_V_lt = $(am__v_lt_@AM_V@) +-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++AM_V_lt = $(am__v_lt_$(V)) ++am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) + am__v_lt_0 = --silent +-am__v_lt_1 = + thermal_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(thermal_la_CFLAGS) \ + $(CFLAGS) $(thermal_la_LDFLAGS) $(LDFLAGS) -o $@ +-AM_V_P = $(am__v_P_@AM_V@) +-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +-am__v_P_0 = false +-am__v_P_1 = : +-AM_V_GEN = $(am__v_GEN_@AM_V@) +-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +-am__v_GEN_0 = @echo " GEN " $@; +-am__v_GEN_1 = +-AM_V_at = $(am__v_at_@AM_V@) +-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +-am__v_at_0 = @ +-am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles +@@ -159,42 +88,24 @@ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +-AM_V_CC = $(am__v_CC_@AM_V@) +-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +-am__v_CC_0 = @echo " CC " $@; +-am__v_CC_1 = ++AM_V_CC = $(am__v_CC_$(V)) ++am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) ++am__v_CC_0 = @echo " CC " $@; ++AM_V_at = $(am__v_at_$(V)) ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) ++am__v_at_0 = @ + CCLD = $(CC) + LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +-AM_V_CCLD = $(am__v_CCLD_@AM_V@) +-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +-am__v_CCLD_0 = @echo " CCLD " $@; +-am__v_CCLD_1 = ++AM_V_CCLD = $(am__v_CCLD_$(V)) ++am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) ++am__v_CCLD_0 = @echo " CCLD " $@; ++AM_V_GEN = $(am__v_GEN_$(V)) ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) ++am__v_GEN_0 = @echo " GEN " $@; + SOURCES = $(thermal_la_SOURCES) + DIST_SOURCES = $(thermal_la_SOURCES) +-am__can_run_installinfo = \ +- case $$AM_UPDATE_INFO_DIR in \ +- n|no|NO) false;; \ +- *) (install-info --version) >/dev/null 2>&1;; \ +- esac +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +-# Read a list of newline-separated strings from the standard input, +-# and print each of them once, without duplicates. Input order is +-# *not* preserved. +-am__uniquify_input = $(AWK) '\ +- BEGIN { nonempty = 0; } \ +- { items[$$0] = 1; nonempty = 1; } \ +- END { if (nonempty) { for (i in items) print i; }; } \ +-' +-# Make sure the list of sources is unique. This is necessary because, +-# e.g., the same source file might be shared among _SOURCES variables +-# for different programs/libraries. +-am__define_uniq_tagged_files = \ +- list='$(am__tagged_files)'; \ +- unique=`for i in $$list; do \ +- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ +- done | $(am__uniquify_input)` + ETAGS = etags + CTAGS = ctags + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +@@ -204,8 +115,6 @@ + ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@ + AMTAR = @AMTAR@ + AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +-APPLET_CFLAGS = @APPLET_CFLAGS@ +-APPLET_LIBS = @APPLET_LIBS@ + AR = @AR@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ +@@ -236,8 +145,6 @@ + GMSGFMT = @GMSGFMT@ + GREP = @GREP@ + G_CAST_CHECKS = @G_CAST_CHECKS@ +-INDICATORDIR = @INDICATORDIR@ +-INDICATORICONSDIR = @INDICATORICONSDIR@ + INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -249,21 +156,13 @@ + INTLTOOL_MERGE = @INTLTOOL_MERGE@ + INTLTOOL_PERL = @INTLTOOL_PERL@ + INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +-INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ +-INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ +-INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ +-INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ + LD = @LD@ + LDFLAGS = @LDFLAGS@ +-LIBICONV = @LIBICONV@ +-LIBINTL = @LIBINTL@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ + LIBTOOL = @LIBTOOL@ + LIPO = @LIPO@ + LN_S = @LN_S@ +-LTLIBICONV = @LTLIBICONV@ +-LTLIBINTL = @LTLIBINTL@ + LTLIBOBJS = @LTLIBOBJS@ + LXPANEL_MODULE = @LXPANEL_MODULE@ + MAKEINFO = @MAKEINFO@ +@@ -306,8 +205,6 @@ + STRIP = @STRIP@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +-WNCK_CFLAGS = @WNCK_CFLAGS@ +-WNCK_LIBS = @WNCK_LIBS@ + X11_CFLAGS = @X11_CFLAGS@ + X11_LIBS = @X11_LIBS@ + XGETTEXT = @XGETTEXT@ +@@ -348,8 +245,6 @@ + includedir = @includedir@ + infodir = @infodir@ + install_sh = @install_sh@ +-intltool__v_merge_options_ = @intltool__v_merge_options_@ +-intltool__v_merge_options_0 = @intltool__v_merge_options_0@ + libdir = @libdir@ + libexecdir = @libexecdir@ + localedir = @localedir@ +@@ -421,9 +316,9 @@ + $(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): +- + install-moduleLTLIBRARIES: $(module_LTLIBRARIES) + @$(NORMAL_INSTALL) ++ test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)" + @list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ +@@ -431,8 +326,6 @@ + else :; fi; \ + done; \ + test -z "$$list2" || { \ +- echo " $(MKDIR_P) '$(DESTDIR)$(moduledir)'"; \ +- $(MKDIR_P) "$(DESTDIR)$(moduledir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(moduledir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(moduledir)"; \ + } +@@ -448,16 +341,13 @@ + + clean-moduleLTLIBRARIES: + -test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES) +- @list='$(module_LTLIBRARIES)'; \ +- locs=`for p in $$list; do echo $$p; done | \ +- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ +- sort -u`; \ +- test -z "$$locs" || { \ +- echo rm -f $${locs}; \ +- rm -f $${locs}; \ +- } +- +-thermal.la: $(thermal_la_OBJECTS) $(thermal_la_DEPENDENCIES) $(EXTRA_thermal_la_DEPENDENCIES) ++ @list='$(module_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test "$$dir" != "$$p" || dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done ++thermal.la: $(thermal_la_OBJECTS) $(thermal_la_DEPENDENCIES) + $(AM_V_CCLD)$(thermal_la_LINK) -rpath $(moduledir) $(thermal_la_OBJECTS) $(thermal_la_LIBADD) $(LIBS) + + mostlyclean-compile: +@@ -471,30 +361,34 @@ + .c.o: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< ++@am__fastdepCC_FALSE@ $(COMPILE) -c $< + + .c.obj: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + + .c.lo: + @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< ++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + + thermal_la-thermal.lo: thermal.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thermal_la_CFLAGS) $(CFLAGS) -MT thermal_la-thermal.lo -MD -MP -MF $(DEPDIR)/thermal_la-thermal.Tpo -c -o thermal_la-thermal.lo `test -f 'thermal.c' || echo '$(srcdir)/'`thermal.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/thermal_la-thermal.Tpo $(DEPDIR)/thermal_la-thermal.Plo +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thermal.c' object='thermal_la-thermal.lo' libtool=yes @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='thermal.c' object='thermal_la-thermal.lo' libtool=yes @AMDEPBACKSLASH@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thermal_la_CFLAGS) $(CFLAGS) -c -o thermal_la-thermal.lo `test -f 'thermal.c' || echo '$(srcdir)/'`thermal.c ++@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(thermal_la_CFLAGS) $(CFLAGS) -c -o thermal_la-thermal.lo `test -f 'thermal.c' || echo '$(srcdir)/'`thermal.c + + mostlyclean-libtool: + -rm -f *.lo +@@ -502,15 +396,26 @@ + clean-libtool: + -rm -rf .libs _libs + +-ID: $(am__tagged_files) +- $(am__define_uniq_tagged_files); mkid -fID $$unique +-tags: tags-am +-TAGS: tags ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ mkid -fID $$unique ++tags: TAGS + +-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ +- $(am__define_uniq_tagged_files); \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ +@@ -522,11 +427,15 @@ + $$unique; \ + fi; \ + fi +-ctags: ctags-am +- +-CTAGS: ctags +-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) +- $(am__define_uniq_tagged_files); \ ++ctags: CTAGS ++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique +@@ -535,21 +444,6 @@ + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +-cscopelist: cscopelist-am +- +-cscopelist-am: $(am__tagged_files) +- list='$(am__tagged_files)'; \ +- case "$(srcdir)" in \ +- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ +- *) sdir=$(subdir)/$(srcdir) ;; \ +- esac; \ +- for i in $$list; do \ +- if test -f "$$i"; then \ +- echo "$(subdir)/$$i"; \ +- else \ +- echo "$$sdir/$$i"; \ +- fi; \ +- done >> $(top_builddir)/cscope.files + + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +@@ -601,15 +495,10 @@ + + installcheck: installcheck-am + install-strip: +- if test -z '$(STRIP)'; then \ +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- install; \ +- else \ +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ +- fi ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + mostlyclean-generic: + + clean-generic: +@@ -694,20 +583,19 @@ + + .MAKE: install-am install-strip + +-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ +- clean-libtool clean-moduleLTLIBRARIES cscopelist-am ctags \ +- ctags-am distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags distdir dvi dvi-am html \ +- html-am info info-am install install-am install-data \ +- install-data-am install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-moduleLTLIBRARIES \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip installcheck installcheck-am installdirs \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ +- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ +- uninstall-moduleLTLIBRARIES ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-moduleLTLIBRARIES ctags distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am install-dvi \ ++ install-dvi-am install-exec install-exec-am install-html \ ++ install-html-am install-info install-info-am install-man \ ++ install-moduleLTLIBRARIES install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ tags uninstall uninstall-am uninstall-moduleLTLIBRARIES + + + # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/x11/lxpanel/files/patch-src__plugins__thermal__thermal.c b/x11/lxpanel/files/patch-src__plugins__thermal__thermal.c new file mode 100644 index 000000000000..e23bdc5fb436 --- /dev/null +++ b/x11/lxpanel/files/patch-src__plugins__thermal__thermal.c @@ -0,0 +1,493 @@ +--- ./src/plugins/thermal/thermal.c.orig 2014-05-09 08:55:42.000000000 -0400 ++++ ./src/plugins/thermal/thermal.c 2014-05-20 09:56:16.000000000 -0400 +@@ -32,29 +32,17 @@ + + #include "dbg.h" + +-#define PROC_THERMAL_DIRECTORY "/proc/acpi/thermal_zone/" /* must be slash-terminated */ +-#define PROC_THERMAL_TEMPF "temperature" +-#define PROC_THERMAL_TRIP "trip_points" +-#define PROC_TRIP_CRITICAL "critical (S5):" +- +-#define SYSFS_THERMAL_DIRECTORY "/sys/class/thermal/" /* must be slash-terminated */ +-#define SYSFS_THERMAL_SUBDIR_PREFIX "thermal_zone" +-#define SYSFS_THERMAL_TEMPF "temp" +-#define SYSFS_THERMAL_TRIP "trip_point_0_temp" +- +-#define MAX_NUM_SENSORS 10 +-#define MAX_AUTOMATIC_CRITICAL_TEMP 150 /* in degrees Celsius */ +- ++#include <sys/sysctl.h> + +-typedef struct thermal { ++typedef struct { + Plugin * plugin; + GtkWidget *main; + GtkWidget *namew; +- GString *tip; ++ GtkTooltips *tip; + int critical; + int warning1; + int warning2; +- int not_custom_levels, auto_sensor; ++ int custom_levels, auto_sensor; + char *sensor, + *str_cl_normal, + *str_cl_warning1, +@@ -63,197 +51,43 @@ + GdkColor cl_normal, + cl_warning1, + cl_warning2; +- int numsensors; +- char *sensor_array[MAX_NUM_SENSORS]; +- gint (*get_temperature[MAX_NUM_SENSORS])(char const* sensor_path); +- gint (*get_critical[MAX_NUM_SENSORS])(char const* sensor_path); +- gint temperature[MAX_NUM_SENSORS]; + } thermal; + +- +-static gint +-proc_get_critical(char const* sensor_path){ +- FILE *state; +- char buf[ 256 ], sstmp [ 100 ]; +- char* pstr; +- +- if(sensor_path == NULL) return -1; +- +- sprintf(sstmp,"%s%s",sensor_path,PROC_THERMAL_TRIP); +- +- if (!(state = fopen( sstmp, "r"))) { +- ERR("thermal: cannot open %s\n", sstmp); +- return -1; +- } +- +- while( fgets(buf, 256, state) && +- ! ( pstr = strstr(buf, PROC_TRIP_CRITICAL) ) ); +- if( pstr ) +- { +- pstr += strlen(PROC_TRIP_CRITICAL); +- while( *pstr && *pstr == ' ' ) +- ++pstr; +- +- pstr[strlen(pstr)-3] = '\0'; +- fclose(state); +- return atoi(pstr); +- } +- +- fclose(state); +- return -1; +-} +- +-static gint +-proc_get_temperature(char const* sensor_path){ +- FILE *state; +- char buf[ 256 ], sstmp [ 100 ]; +- char* pstr; +- +- if(sensor_path == NULL) return -1; +- +- sprintf(sstmp,"%s%s",sensor_path,PROC_THERMAL_TEMPF); +- +- if (!(state = fopen( sstmp, "r"))) { +- ERR("thermal: cannot open %s\n", sstmp); +- return -1; +- } +- +- while( fgets(buf, 256, state) && +- ! ( pstr = strstr(buf, "temperature:") ) ); +- if( pstr ) +- { +- pstr += 12; +- while( *pstr && *pstr == ' ' ) +- ++pstr; +- +- pstr[strlen(pstr)-3] = '\0'; +- fclose(state); +- return atoi(pstr); +- } +- +- fclose(state); +- return -1; +-} +- + static gint +-sysfs_get_critical(char const* sensor_path){ +- FILE *state; +- char buf[ 256 ], sstmp [ 100 ]; +- char* pstr; +- +- if(sensor_path == NULL) return -1; +- +- sprintf(sstmp,"%s%s",sensor_path,SYSFS_THERMAL_TRIP); ++get_temperature_value(thermal *th, const char *which) ++{ ++ char sstmp[ 100 ]; ++ int t; ++ size_t tlen = sizeof t; + +- if (!(state = fopen( sstmp, "r"))) { +- ERR("thermal: cannot open %s\n", sstmp); +- return -1; +- } ++ if(th->sensor == NULL) return -1; + +- while( fgets(buf, 256, state) && +- ! ( pstr = buf ) ); +- if( pstr ) +- { +- fclose(state); +- return atoi(pstr)/1000; +- } ++ snprintf(sstmp, sizeof(sstmp), "hw.acpi.thermal.%s.%s", th->sensor, which); ++ if (sysctlbyname(sstmp, &t, &tlen, NULL, 0) != 0 || tlen != sizeof t) ++ return -1; + +- fclose(state); +- return -1; ++ return (t - 2732) / 10; + } + + static gint +-sysfs_get_temperature(char const* sensor_path){ +- FILE *state; +- char buf[ 256 ], sstmp [ 100 ]; +- char* pstr; +- +- if(sensor_path == NULL) return -1; +- +- sprintf(sstmp,"%s%s",sensor_path,SYSFS_THERMAL_TEMPF); +- +- if (!(state = fopen( sstmp, "r"))) { +- ERR("thermal: cannot open %s\n", sstmp); +- return -1; +- } +- +- while (fgets(buf, 256, state) && +- ! ( pstr = buf ) ); +- if( pstr ) +- { +- fclose(state); +- return atoi(pstr)/1000; +- } +- +- fclose(state); +- return -1; +-} +- +-static gboolean +-is_sysfs(char const* path) +-{ +- return path && strncmp(path, "/sys/", 5) == 0; +-} +- +-/* get_temp_function(): +- * - This function is called 'get_temp_function'. +- * - It takes 'path' as argument. +- * - It returns a pointer to a function. +- * - The returned function takes a pointer to a char const as arg. +- * - The returned function returns a gint. */ +-static gint (*get_temp_function(char const* path))(char const* sensor_path) +-{ +- if (is_sysfs(path)) +- return sysfs_get_temperature; +- else +- return proc_get_temperature; +-} +- +-static gint (*get_crit_function(char const* path))(char const* sensor_path) +-{ +- if (is_sysfs(path)) +- return sysfs_get_critical; +- else +- return proc_get_critical; +-} +- +-static gint get_temperature(thermal *th) ++get_critical(thermal *th) + { +- gint max = -273; +- gint cur, i; +- +- for(i = 0; i < th->numsensors; i++){ +- cur = th->get_temperature[i](th->sensor_array[i]); +- if (cur > max) +- max = cur; +- th->temperature[i] = cur; +- } +- +- return max; ++ return (get_temperature_value(th, "_CRT")); + } + +-static gint get_critical(thermal *th) ++static gint ++get_temperature(thermal *th) + { +- gint min = MAX_AUTOMATIC_CRITICAL_TEMP; +- gint cur, i; +- +- for(i = 0; i < th->numsensors; i++){ +- cur = th->get_critical[i](th->sensor_array[i]); +- if (cur < min) +- min = cur; +- } +- +- return min; ++ return (get_temperature_value(th, "temperature")); + } + + static gint + update_display(thermal *th) + { + char buffer [60]; +- int i; ++ int n; + int temp = get_temperature(th); + GdkColor color; +- gchar *separator; + + if(temp >= th->warning2) + color = th->cl_warning2; +@@ -264,117 +98,20 @@ + + ENTER; + if(temp == -1) +- panel_draw_label_text(th->plugin->panel, th->namew, "NA", TRUE, 1, TRUE); ++ panel_draw_label_text(th->plugin->panel, th->namew, "NA", TRUE, 1, TRUE); + else + { +- sprintf(buffer, "<span color=\"#%06x\"><b>%02d</b></span>", gcolor2rgb24(&color), temp); ++ n = sprintf(buffer, "<span color=\"#%06x\"><b>%02d C</b></span>", gcolor2rgb24(&color), temp); + gtk_label_set_markup (GTK_LABEL(th->namew), buffer) ; + } + +- g_string_truncate(th->tip, 0); +- separator = ""; +- for (i = 0; i < th->numsensors; i++){ +- g_string_append_printf(th->tip, "%s%s:\t%2d°C", separator, th->sensor_array[i], th->temperature[i]); +- separator = "\n"; +- } +- gtk_widget_set_tooltip_text(th->namew, th->tip->str); +- + RET(TRUE); + } + +- +-static int +-add_sensor(thermal* th, char const* sensor_path) +-{ +- if (th->numsensors + 1 > MAX_NUM_SENSORS){ +- ERR("thermal: Too many sensors (max %d), ignoring '%s'\n", +- MAX_NUM_SENSORS, sensor_path); +- return -1; +- } +- +- th->sensor_array[th->numsensors] = g_strdup(sensor_path); +- th->get_critical[th->numsensors] = get_crit_function(sensor_path); +- th->get_temperature[th->numsensors] = get_temp_function(sensor_path); +- th->numsensors++; +- +- LOG(LOG_ALL, "thermal: Added sensor %s\n", sensor_path); +- +- return 0; +-} +- +-/* find_sensors(): +- * - Get the sensor directory, and store it in '*sensor'. +- * - It is searched for in 'directory'. +- * - Only the subdirectories starting with 'subdir_prefix' are accepted as sensors. +- * - 'subdir_prefix' may be NULL, in which case any subdir is considered a sensor. */ +-static void +-find_sensors(thermal* th, char const* directory, char const* subdir_prefix) +-{ +- GDir *sensorsDirectory; +- const char *sensor_name; +- char sensor_path[100]; +- +- if (! (sensorsDirectory = g_dir_open(directory, 0, NULL))) +- return; +- +- /* Scan the thermal_zone directory for available sensors */ +- while ((sensor_name = g_dir_read_name(sensorsDirectory))) { +- if (sensor_name[0] == '.') +- continue; +- if (subdir_prefix) { +- if (strncmp(sensor_name, subdir_prefix, strlen(subdir_prefix)) != 0) +- continue; +- } +- sprintf(sensor_path,"%s%s/", directory, sensor_name); +- add_sensor(th, sensor_path); +- } +- g_dir_close(sensorsDirectory); +-} +- +-static void +-remove_all_sensors(thermal *th) +-{ +- int i; +- +- LOG(LOG_ALL, "thermal: Removing all sensors (%d)\n", th->numsensors); +- +- for (i = 0; i < th->numsensors; i++) +- g_free(th->sensor_array[i]); +- +- th->numsensors = 0; +-} +- + static void +-check_sensors( thermal *th ) +-{ +- find_sensors(th, PROC_THERMAL_DIRECTORY, NULL); +- find_sensors(th, SYSFS_THERMAL_DIRECTORY, SYSFS_THERMAL_SUBDIR_PREFIX); +- LOG(LOG_INFO, "thermal: Found %d sensors\n", th->numsensors); +-} +- +- +-static void applyConfig(Plugin* p) ++check_sensors( thermal* th ) + { +- thermal *th = p->priv; +- ENTER; +- +- if (th->str_cl_normal) gdk_color_parse(th->str_cl_normal, &th->cl_normal); +- if (th->str_cl_warning1) gdk_color_parse(th->str_cl_warning1, &th->cl_warning1); +- if (th->str_cl_warning2) gdk_color_parse(th->str_cl_warning2, &th->cl_warning2); +- +- remove_all_sensors(th); +- if(th->sensor == NULL) th->auto_sensor = TRUE; +- if(th->auto_sensor) check_sensors(th); +- else add_sensor(th, th->sensor); +- +- th->critical = get_critical(th); +- +- if(th->not_custom_levels){ +- th->warning1 = th->critical - 10; +- th->warning2 = th->critical - 5; +- } +- +- RET(); ++ th->sensor = strdup("tz0"); + } + + static int +@@ -395,12 +132,7 @@ + gtk_container_add(GTK_CONTAINER(p->pwid), th->namew); + + th->main = p->pwid; +- th->tip = g_string_new(NULL); +- +- /* By default, use automatic, that is, "not custom" temperature levels. If +- * we were using custom levels, they would be 0°C at startup, so we would +- * display in warning colors by default. */ +- th->not_custom_levels = TRUE; ++ th->tip = gtk_tooltips_new(); + + g_signal_connect (G_OBJECT (p->pwid), "button_press_event", + G_CALLBACK (plugin_button_press_event), (gpointer) p); +@@ -425,7 +157,7 @@ + }else if (!g_ascii_strcasecmp(s.t[0], "AutomaticSensor")){ + th->auto_sensor= atoi(s.t[1]); + }else if (!g_ascii_strcasecmp(s.t[0], "CustomLevels")){ +- th->not_custom_levels= atoi(s.t[1]); ++ th->custom_levels= atoi(s.t[1]); + }else if (!g_ascii_strcasecmp(s.t[0], "Sensor")){ + th->sensor= g_strdup(s.t[1]); + }else if (!g_ascii_strcasecmp(s.t[0], "Warning1Temp")){ +@@ -441,6 +173,7 @@ + goto error; + } + } ++ + } + + if(!th->str_cl_normal) +@@ -450,12 +183,25 @@ + if(!th->str_cl_warning2) + th->str_cl_warning2 = g_strdup("#ff0000"); + +- applyConfig(p); ++ gdk_color_parse(th->str_cl_normal, &(th->cl_normal)); ++ gdk_color_parse(th->str_cl_warning1, &(th->cl_warning1)); ++ gdk_color_parse(th->str_cl_warning2, &(th->cl_warning2)); ++ ++ ++ if(th->sensor == NULL) th->auto_sensor = TRUE; ++ if(th->auto_sensor) check_sensors(th); ++ ++ th->critical = get_critical(th); ++ ++ if(!th->custom_levels){ ++ th->warning1 = th->critical - 10; ++ th->warning2 = th->critical - 5; ++ } + + gtk_widget_show(th->namew); + + update_display(th); +- th->timer = g_timeout_add_seconds(3, (GSourceFunc) update_display, (gpointer)th); ++ th->timer = g_timeout_add(1000, (GSourceFunc) update_display, (gpointer)th); + + RET(TRUE); + +@@ -463,6 +209,27 @@ + RET(FALSE); + } + ++static void applyConfig(Plugin* p) ++{ ++ ++ thermal *th = (thermal *)p->priv; ++ ++ ENTER; ++ ++ if (th->str_cl_normal) gdk_color_parse(th->str_cl_normal, &th->cl_normal); ++ if (th->str_cl_warning1) gdk_color_parse(th->str_cl_warning1, &th->cl_warning1); ++ if (th->str_cl_warning2) gdk_color_parse(th->str_cl_warning2, &th->cl_warning2); ++ ++ if(th->auto_sensor) check_sensors(th); ++ ++ if(th->custom_levels){ ++ th->warning1 = th->critical - 10; ++ th->warning2 = th->critical - 5; ++ } ++ ++ RET(); ++} ++ + static void config(Plugin *p, GtkWindow* parent) { + ENTER; + +@@ -476,7 +243,7 @@ + _("Warning2"), &th->str_cl_warning2, CONF_TYPE_STR, + _("Automatic sensor location"), &th->auto_sensor, CONF_TYPE_BOOL, + _("Sensor"), &th->sensor, CONF_TYPE_STR, +- _("Automatic temperature levels"), &th->not_custom_levels, CONF_TYPE_BOOL, ++ _("Automatic temperature levels"), &th->custom_levels, CONF_TYPE_BOOL, + _("Warning1 Temperature"), &th->warning1, CONF_TYPE_INT, + _("Warning2 Temperature"), &th->warning2, CONF_TYPE_INT, + NULL); +@@ -492,8 +259,6 @@ + + ENTER; + th = (thermal *) p->priv; +- remove_all_sensors(th); +- g_string_free(th->tip, TRUE); + g_free(th->sensor); + g_free(th->str_cl_normal); + g_free(th->str_cl_warning1); +@@ -510,7 +275,7 @@ + lxpanel_put_str( fp, "NormalColor", th->str_cl_normal ); + lxpanel_put_str( fp, "Warning1Color", th->str_cl_warning1 ); + lxpanel_put_str( fp, "Warning2Color", th->str_cl_warning2 ); +- lxpanel_put_int( fp, "CustomLevels", th->not_custom_levels ); ++ lxpanel_put_int( fp, "CustomLevels", th->custom_levels ); + lxpanel_put_int( fp, "Warning1Temp", th->warning1 ); + lxpanel_put_int( fp, "Warning2Temp", th->warning2 ); + lxpanel_put_int( fp, "AutomaticSensor", th->auto_sensor ); +@@ -532,6 +297,3 @@ + save : save_config, + panel_configuration_changed : NULL + }; +- +- +-/* vim: set sw=4 sts=4 et : */ diff --git a/x11/lxpanel/files/pkg-message.in b/x11/lxpanel/files/pkg-message.in new file mode 100644 index 000000000000..b7a45e458486 --- /dev/null +++ b/x11/lxpanel/files/pkg-message.in @@ -0,0 +1,24 @@ +=============================================================================== + +LXPanel has been installed. + +Additional features require devd and HAL: + + echo devd_enable=\"YES\" >> /etc/rc.conf + service devd start + + cd /usr/ports/sysutils/hal/ && make install clean + echo hald_enable=\"YES\" >> /etc/rc.conf + service hald start + +Some plugins require linprocfs and linsysfs: + + mkdir -p /mnt/compat/linux/proc + echo "linproc /compat/linux/proc linprocfs rw 0 0" >> /etc/fstab + mount -t linprocfs linproc /compat/linux/proc + + mkdir -p /mnt/compat/linux/sys + echo "linsys /compat/linux/sys linsysfs rw 0 0" >> /etc/fstab + mount -t linsysfs linsys /compat/linux/sys + +=============================================================================== diff --git a/x11/lxpanel/pkg-plist b/x11/lxpanel/pkg-plist index 510ccdcff272..1d89b52ff97b 100644 --- a/x11/lxpanel/pkg-plist +++ b/x11/lxpanel/pkg-plist @@ -2,10 +2,17 @@ bin/lxpanel bin/lxpanelctl include/lxpanel/plugin.h lib/lxpanel/plugins/batt.so +lib/lxpanel/plugins/cpu.so +lib/lxpanel/plugins/cpufreq.so lib/lxpanel/plugins/deskno.so lib/lxpanel/plugins/kbled.so -lib/lxpanel/plugins/volume.so +lib/lxpanel/plugins/monitors.so +lib/lxpanel/plugins/netstatus.so +lib/lxpanel/plugins/thermal.so +%%VOLUME%%lib/lxpanel/plugins/volume.so +%%ALSA%%lib/lxpanel/plugins/volumealsa.so lib/lxpanel/plugins/xkb.so +lib/lxpanel/plugins/wnckpager.so libdata/pkgconfig/lxpanel.pc man/man1/lxpanel.1.gz man/man1/lxpanelctl.1.gz |