From owner-freebsd-gnome@FreeBSD.ORG Sat Sep 6 12:06:36 2003 Return-Path: Delivered-To: freebsd-gnome@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A48CB16A4BF for ; Sat, 6 Sep 2003 12:06:36 -0700 (PDT) Received: from lakemtao06.cox.net (lakemtao06.cox.net [68.1.17.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B78643FE3 for ; Sat, 6 Sep 2003 12:06:35 -0700 (PDT) (envelope-from mezz7@cox.net) Received: from mezz.mezzweb.com ([68.103.32.11]) by lakemtao06.cox.net (InterMail vM.5.01.06.04 201-253-122-130-104-20030726) with ESMTP id <20030906190634.TRUA7895.lakemtao06.cox.net@mezz.mezzweb.com>; Sat, 6 Sep 2003 15:06:34 -0400 Date: Sat, 06 Sep 2003 14:05:33 -0500 To: Alexander Leidinger References: <20030906164808.3cd86d76.Alexander@Leidinger.net> From: Jeremy Messenger Content-Type: multipart/mixed; boundary=----------FDDgy6OMJbNs09d1IoUn4M MIME-Version: 1.0 Message-ID: In-Reply-To: <20030906164808.3cd86d76.Alexander@Leidinger.net> User-Agent: Opera7.20/Linux M2 build 459 cc: gnome@freebsd.org Subject: Re: I've played around with gdesklets (patch included for interested parties) X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Sep 2003 19:06:36 -0000 ------------FDDgy6OMJbNs09d1IoUn4M Content-Type: text/plain; format=flowed; charset=utf-8 Content-Transfer-Encoding: 8bit On Sat, 6 Sep 2003 16:48:08 +0200, Alexander Leidinger wrote: > Hi, > > I've played a little bit around, but I have no time to proceed > further... What's version of FreeBSD do you have? Here on 5.1-CURRENT, a day before ATAng went in the tree. I am having the problem with the refresh here, I had to do it manual. Your patch works great, but I have to refresh weather, network and others by manual. Strange, the clock is only one that doesn't has the refresh problem. I can't figure how I can get them fix. > Here's a patch for those which want to get useful numbers out of Psi's > Network-0.1.4 tarball... at least it should spit out useful numbers, the > Font desklet is missing, so I wasn't able to fully test it. I have found two very small typo.. > ---snip--- > --- /home/netchild/.gdesklets/Sensors/Network/__init__.py.orig Sat Sep > 6 16:03:47 2003 > +++ /home/netchild/.gdesklets/Sensors/Network/__init__.py Sat Sep 6 > 16:45:26 2003 > @@ -60,7 +60,7 @@ > continue > > def __get_net_ip(self,device) : > - fd = open("/proc/net/arp", "r") > + fd = popen("ifconfig " + device, "r") Should be os.popen.. > @@ -69,24 +69,22 @@ > l = l.strip() > fields = l.split() > > - if fields[5]==device: > - return fields[0] > + if fields[0]=="inet": > + return fields[1] > > return "(no ip for this interface)" > > def __get_net_in_out(self,device) : > - fd = open("/proc/net/dev", "r") > + fd = popen("netstat -b -I " + device + " | grep Link", "r") Should be os.popen.. Here are two attaches of FontSelector and Network port in case if you want to play with it. I have over 7 applets port here in my local. :-) Thanks for create the patch! Cheers, Mezz > Bye, > Alexander. -- bsdforums.org 's moderator, mezz. ------------FDDgy6OMJbNs09d1IoUn4M Content-Disposition: attachment; filename=gdesklets-fontselector.shar Content-Type: text/plain; name=gdesklets-fontselector.shar Content-Transfer-Encoding: 8bit # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # gdesklets-fontselector # gdesklets-fontselector/distinfo # gdesklets-fontselector/Makefile # gdesklets-fontselector/pkg-message # gdesklets-fontselector/pkg-plist # gdesklets-fontselector/pkg-descr # gdesklets-fontselector/files # gdesklets-fontselector/files/patch-Install_FontSelector_Sensor.bin # echo c - gdesklets-fontselector mkdir -p gdesklets-fontselector > /dev/null 2>&1 echo x - gdesklets-fontselector/distinfo sed 's/^X//' >gdesklets-fontselector/distinfo << 'END-of-gdesklets-fontselector/distinfo' XMD5 (FontSelector-0.1.5.tar.bz2) = 9b21bfd0b135187416b0a88adb62553d END-of-gdesklets-fontselector/distinfo echo x - gdesklets-fontselector/Makefile sed 's/^X//' >gdesklets-fontselector/Makefile << 'END-of-gdesklets-fontselector/Makefile' X# New ports collection makefile for: gdesklets-fontselector X# Date created: 02 September 2003 X# Whom: Mezz X# X# $FreeBSD$ X# X XPORTNAME= gdesklets-fontselector XPORTVERSION= 0.1.5 XCATEGORIES= x11-fonts gnome XMASTER_SITES= http://gdesklets.gnomedesktop.org/files/ XDISTNAME= FontSelector-${PORTVERSION} X XMAINTAINER= mezz7@cox.net XCOMMENT= Add font groups in a display (for instance, titles/data) X XBUILD_DEPENDS= ${X11BASE}/libdata/pkgconfig/gdesklets-core.pc:${PORTSDIR}/deskutils/gdesklets XRUN_DEPENDS= ${X11BASE}/libdata/pkgconfig/gdesklets-core.pc:${PORTSDIR}/deskutils/gdesklets X XUSE_BZIP2= yes XUSE_X_PREFIX= yes XNO_BUILD= yes XNAME= FontSelector X Xpost-extract: X @${PATCH} ${WRKSRC}/Install_${NAME}_Sensor.bin < ${FILESDIR}/patch-Install_${NAME}_Sensor.bin X @${WRKSRC}/Install_${NAME}_Sensor.bin --nomsg ${WRKSRC} X Xdo-patch: X @${FIND} ${WRKSRC} -name '*.orig' -delete X Xdo-install: X @${CP} -Rp ${WRKSRC}/${NAME} ${PREFIX}/share/gnome/gdesklets/Sensors/ X @${CP} ${WRKSRC}/README ${PREFIX}/share/gnome/gdesklets/Sensors/${NAME}/ X Xpost-install: X @${CAT} ${PKGMESSAGE} X X.include END-of-gdesklets-fontselector/Makefile echo x - gdesklets-fontselector/pkg-message sed 's/^X//' >gdesklets-fontselector/pkg-message << 'END-of-gdesklets-fontselector/pkg-message' X## XTo view the README, do the command following: X X cat ${PREFIX}/share/gnome/gdesklets/Sensors/${name}/README X XThis is just a sensor, just same idea as a library. This will be function when Xone of display depends on this sensor. X## END-of-gdesklets-fontselector/pkg-message echo x - gdesklets-fontselector/pkg-plist sed 's/^X//' >gdesklets-fontselector/pkg-plist << 'END-of-gdesklets-fontselector/pkg-plist' Xshare/gnome/gdesklets/Sensors/FontSelector/README Xshare/gnome/gdesklets/Sensors/FontSelector/__init__.py X@dirrm share/gnome/gdesklets/Sensors/FontSelector END-of-gdesklets-fontselector/pkg-plist echo x - gdesklets-fontselector/pkg-descr sed 's/^X//' >gdesklets-fontselector/pkg-descr << 'END-of-gdesklets-fontselector/pkg-descr' XAdds any number of 'font groups' in a display (for instance, titles/data). Then Xthe user can change the font and its color in this display with the Xconfigurator. X XWWW: http://gdesklets.gnomedesktop.org END-of-gdesklets-fontselector/pkg-descr echo c - gdesklets-fontselector/files mkdir -p gdesklets-fontselector/files > /dev/null 2>&1 echo x - gdesklets-fontselector/files/patch-Install_FontSelector_Sensor.bin sed 's/^X//' >gdesklets-fontselector/files/patch-Install_FontSelector_Sensor.bin << 'END-of-gdesklets-fontselector/files/patch-Install_FontSelector_Sensor.bin' X--- Install_FontSelector_Sensor.bin.orig Wed Sep 3 15:14:53 2003 X+++ Install_FontSelector_Sensor.bin Wed Sep 3 15:15:12 2003 X@@ -75,15 +75,9 @@ X else: X cmd = "mkdir -p %(destination)s; cd %(destination)s; " \ X "LANG=C tar -xzvf %(tmp)s 2>&1" X- fail, out = commands.getstatusoutput(cmd % vars()) X+ commands.getstatusoutput(cmd % vars()) X os.unlink(tmp) X X- if (fail): X- if (no_message): print ERROR_TAR + out X- else: message(ERROR_TAR + out, "error") X- sys.exit(1) X- X- print out X if (not list_only): X if (no_message): print SUCCESS X else: message(SUCCESS, "info") END-of-gdesklets-fontselector/files/patch-Install_FontSelector_Sensor.bin exit ------------FDDgy6OMJbNs09d1IoUn4M Content-Disposition: attachment; filename=gdesklets-network.shar Content-Type: text/plain; name=gdesklets-network.shar Content-Transfer-Encoding: 8bit # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # gdesklets-network # gdesklets-network/distinfo # gdesklets-network/Makefile # gdesklets-network/files # gdesklets-network/files/patch-Install_Network_Sensor.bin # gdesklets-network/files/patch-Network::__init__.py # gdesklets-network/pkg-plist # gdesklets-network/pkg-message # gdesklets-network/pkg-descr # echo c - gdesklets-network mkdir -p gdesklets-network > /dev/null 2>&1 echo x - gdesklets-network/distinfo sed 's/^X//' >gdesklets-network/distinfo << 'END-of-gdesklets-network/distinfo' XMD5 (Network-0.1.4.tar.bz2) = d65cc4a3b62d0a29c4635693f62dcb76 END-of-gdesklets-network/distinfo echo x - gdesklets-network/Makefile sed 's/^X//' >gdesklets-network/Makefile << 'END-of-gdesklets-network/Makefile' X# New ports collection makefile for: gdesklets-network X# Date created: 02 September 2003 X# Whom: Mezz X# X# $FreeBSD$ X# X XPORTNAME= gdesklets-network XPORTVERSION= 0.1.4 XCATEGORIES= net gnome XMASTER_SITES= http://gdesklets.gnomedesktop.org/files/ XDISTNAME= Network-${PORTVERSION} X XMAINTAINER= mezz7@cox.net XCOMMENT= The configurator allows to choose the interface to monitor network X XBUILD_DEPENDS= ${X11BASE}/libdata/pkgconfig/gdesklets-core.pc:${PORTSDIR}/deskutils/gdesklets XRUN_DEPENDS= ${X11BASE}/libdata/pkgconfig/gdesklets-core.pc:${PORTSDIR}/deskutils/gdesklets X XUSE_BZIP2= yes XUSE_X_PREFIX= yes XNO_BUILD= yes XNAME= Network X Xpost-extract: X @${PATCH} ${WRKSRC}/Install_${NAME}_Sensor.bin < ${FILESDIR}/patch-Install_${NAME}_Sensor.bin X @${WRKSRC}/Install_${NAME}_Sensor.bin --nomsg ${WRKSRC} X Xdo-patch: X @${PATCH} ${WRKSRC}/${NAME}/__init__.py < ${FILESDIR}/patch-${NAME}::__init__.py X @${FIND} ${WRKSRC} -name '*.orig' -delete X Xdo-install: X @${CP} -Rp ${WRKSRC}/${NAME} ${PREFIX}/share/gnome/gdesklets/Sensors/ X @${CP} ${WRKSRC}/README ${PREFIX}/share/gnome/gdesklets/Sensors/${NAME}/ X Xpost-install: X @${CAT} ${PKGMESSAGE} X X.include END-of-gdesklets-network/Makefile echo c - gdesklets-network/files mkdir -p gdesklets-network/files > /dev/null 2>&1 echo x - gdesklets-network/files/patch-Install_Network_Sensor.bin sed 's/^X//' >gdesklets-network/files/patch-Install_Network_Sensor.bin << 'END-of-gdesklets-network/files/patch-Install_Network_Sensor.bin' X--- Install_Network_Sensor.bin.orig Sat Sep 6 13:07:37 2003 X+++ Install_Network_Sensor.bin Sat Sep 6 13:08:05 2003 X@@ -75,15 +75,9 @@ X else: X cmd = "mkdir -p %(destination)s; cd %(destination)s; " \ X "LANG=C tar -xzvf %(tmp)s 2>&1" X- fail, out = commands.getstatusoutput(cmd % vars()) X+ commands.getstatusoutput(cmd % vars()) X os.unlink(tmp) X X- if (fail): X- if (no_message): print ERROR_TAR + out X- else: message(ERROR_TAR + out, "error") X- sys.exit(1) X- X- print out X if (not list_only): X if (no_message): print SUCCESS X else: message(SUCCESS, "info") END-of-gdesklets-network/files/patch-Install_Network_Sensor.bin echo x - gdesklets-network/files/patch-Network::__init__.py sed 's/^X//' >gdesklets-network/files/patch-Network::__init__.py << 'END-of-gdesklets-network/files/patch-Network::__init__.py' X--- Network/__init__.py.orig Sat Sep 6 13:10:12 2003 X+++ Network/__init__.py Sat Sep 6 13:15:17 2003 X@@ -18,7 +18,7 @@ X X class Network(Sensor): X X- def __init__(self, interface = "eth0", interval = "1000"): X+ def __init__(self, interface = "lo0", interval = "1000"): X X global _; _ = i18n.Translator("memory-sensor") X X@@ -45,7 +45,7 @@ X self._add_thread(self.__command_thread) X X X- fd = open("/proc/net/dev", "r") X+ fd = os.popen("ifconfig -a | grep mtu", "r") X data = fd.read() X fd.close() X data = data.splitlines() X@@ -60,7 +60,7 @@ X continue X X def __get_net_ip(self,device) : X- fd = open("/proc/net/arp", "r") X+ fd = os.popen("ifconfig " + device, "r") X data = fd.read() X fd.close() X lines = data.splitlines() X@@ -69,24 +69,22 @@ X l = l.strip() X fields = l.split() X X- if fields[5]==device: X- return fields[0] X+ if fields[0]=="inet": X+ return fields[1] X X return "(no ip for this interface)" X X def __get_net_in_out(self,device) : X- fd = open("/proc/net/dev", "r") X+ fd = os.popen("netstat -b -I " + device + " | grep Link", "r") X data = fd.read() X fd.close() X lines = data.splitlines() X X for l in lines[:]: X l = l.strip() X- l = l.replace(":"," ") X fields = l.split() X X- if fields[0]==device: X- return int(fields[1]),int(fields[9]) X+ return int(fields[6]),int(fields[8]) X X print "device not found" X return 0,0 END-of-gdesklets-network/files/patch-Network::__init__.py echo x - gdesklets-network/pkg-plist sed 's/^X//' >gdesklets-network/pkg-plist << 'END-of-gdesklets-network/pkg-plist' Xshare/gnome/gdesklets/Sensors/Network/README Xshare/gnome/gdesklets/Sensors/Network/__init__.py X@dirrm share/gnome/gdesklets/Sensors/Network END-of-gdesklets-network/pkg-plist echo x - gdesklets-network/pkg-message sed 's/^X//' >gdesklets-network/pkg-message << 'END-of-gdesklets-network/pkg-message' X## XTo view the README, do the command following: X X cat ${PREFIX}/share/gnome/gdesklets/Sensors/${name}/README X XThis is just a sensor, just same idea as a library. This will be function when Xone of display depends on this sensor. X## END-of-gdesklets-network/pkg-message echo x - gdesklets-network/pkg-descr sed 's/^X//' >gdesklets-network/pkg-descr << 'END-of-gdesklets-network/pkg-descr' XThe configurator allows to choose the interface to monitor, the update Xinterval, and to enable or disable the format change for In/Out. X XAvailable data : 'in', 'out', 'speed_in', 'speed_out', 'speed_in_max', X'speed_out_max', 'speed_in_percent', 'speed_out_percent', 'ip', and X'interface'. X XWWW: http://gdesklets.gnomedesktop.org END-of-gdesklets-network/pkg-descr exit ------------FDDgy6OMJbNs09d1IoUn4M--