51

The scripts display a single letter using a font I created. There are 51 characters: a-z, A-Y. They represent increments of 2% with a=0% and Y=100%.

Overlay the geeklets and fiddle with the font opacity to get the best layout.

Font can be downloaded here.


Comments

User Avatar
rorykane 977 days ago
ive tried all of them, none of these work.
User Avatar
JimmyBollox 977 days ago
Did you download and install the font?
User Avatar
mrbeast87 975 days ago
JimmyBollox, you are a genius! The most elegant geeklet I've saw.

Cheers
User Avatar
glad2814 975 days ago
Can you please tell me where can I get this grey wallpaper in the first shot.

Thanks

S
User Avatar
JimmyBollox 974 days ago
I got it from here:

http://xn--80aqafcrtq.cc/img/2/2/6/226349.jpg
User Avatar
mrbeast87 974 days ago
Is the cpu meter working for you? My system CPU meter always show over 80% usage...
User Avatar
JimmyBollox 974 days ago
Hey Mrbeast,

The geeklets are designed to be on top of each other. So the cpu user value is actually user PLUS cpu system.

Type top into your terminal and check your CPU usage if you want to double check
User Avatar
mrbeast87 972 days ago
Yup, I got it working for RAM and it's great!

My problem is with the CPU. I read about the subject and found out that the problem is, when I run the command with one sample (-l1), I get a screwed up CPU usage:

top -l1 | grep "CPU usage"

CPU usage: 11.11% user, 44.44% sys, 44.44% idle

However, if I use two samples (-l2), the second one is correct:

top -l2 | grep "CPU usage"

CPU usage: 11.11% user, 44.44% sys, 44.44% idle

CPU usage: 2.32% user, 4.18% sys, 93.48% idle

I don't know enough about commands to consider only the second sample. Do you know how can I achieve this Jimmy?
User Avatar
alexwasserman 907 days ago
@mrbeast87

Use this to show only the last line:

top -l2 | grep "CPU usage" | tail -1
User Avatar
Jora 974 days ago
Thanks JimmyBollox,

I love Criterion and now I have their logo perpetually spinning on my desktop !

http://www.youtube.com/watch?v=yOdE0j40cWc
User Avatar
roboboo 964 days ago
looks cool

can you make one for the battery status please?
User Avatar
nobutter 962 days ago
could you do one for a volume indicator as well?

that would be sweet.

thanks
User Avatar
bfg67 909 days ago
my CPU also appears to be wrong - in the same way as mrbeast87... when i place the two geeklets on top of one another, they often show 100% CPU used - i have been checking it against terminal, activity monitor and the CPU history in activity monitor. The three i have checked it against match, but the geeklets show high. I wonder if there is a delay in displaying them or the refresh rate is wrong or something?

I really love the geeklets by the way - a very elegant solution.
User Avatar
MonkeyKong 904 days ago
JimmyBollox, this seems to be the only way to reach you but would have really preferred email or such.

I love these circles and got them to work well with your ARCfont. I have a request, I hope you don't mind.

Is there any chance that you would like to create a progress bar for the CPU and Memory as I see one user have done using Rainmeter for Windows in this awesome Portal 2 test chamber setup - http://i.imgur.com/KLric.png

Should you want to I'd gladly help out with the rest of the setup, but the progress bar is really to difficult for me.

/Andreas
User Avatar
MonkeyKong 903 days ago
By the way, I've just created the progress bar font in Illustrator, with 51 characters just like you did. So, the material is here but I'm having no luck with any of the Mac font creator software such as Font Lab.

Anyone out there who would like to take existing vector graphics and turn them into a font is very welcome to message me. My email is linked from my user profile.
User Avatar
JeremyLC 899 days ago
So, I'm late to the party here, but, I think this is a more elegant way to do the character conversion rather than a looooong string of sed substitutions (using the disk script as an example)

#!/bin/bash

DISK=`df -H -l|grep G|awk '{print int($5/2)}' | sed 's/\%//'`

SUBS=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y)

echo -n " "

for i in `echo $DISK | tr ' ' '\n'`

do

echo -n ${SUBS[$i]} " "

done

User Avatar
JimmyBollox 895 days ago
You've got a much nicer solution there Jeremy!

My programming knowledge is pretty limited and I was sure there must be a simpler way to do it - thanks for finding it for me
User Avatar
jxpx777 729 days ago
A simpler conversion would be possible if the "logical" order of the glyphs were A-Za-y. This would allow simple character code conversions from the percentage values to the character, printing out with printf() in awk:

df -H -l | grep G | grep -v MobileBackups | tr -d '%' | awk '{printf "%c", int($5/2)+65}'

Again, this would require the glyphs in the font to be reassigned so that A was the lowest visual value for the purposes of scripting, so don't think my script above will work. My point is that it would be more elegant this way. :)
User Avatar
jxpx777 729 days ago
Also, in 10.8, echo -n was actually echoing -n in my output. I had to change this to echo "${SUBS[$i]}\c"
User Avatar
ipmonger 674 days ago
Following up on jxpx777's comment, here is a one-liner that prints out the User CPU in the right order for the circular font:

top -l1 -n0 | grep "CPU usage" | tr -d '%' | awk '{CPU=int($3/2); if (CPU < 26) {printf "%c", CPU+97} else {printf "%c", CPU+39}}'

And for System CPU you can use:

top -l1 -n0 | grep "CPU usage" | tr -d '%' | awk '{CPU=int(($3+$5)/2); if (CPU < 26) {printf "%c", CPU+97} else {printf "%c", CPU+39}}'
User Avatar
JimmyBollox 895 days ago
Thanks for all the feedback everyone!

As far as making other geeklets using this font (battery, volume, etc), it should be easy enough for you to adapt other geeklets from this site.
User Avatar
Crobran 838 days ago
I know nothing of scripting for geeklets. Everything seems to be working fine except that I'm getting two circles for the disk useage geeklet though I only have one hard drive.

Also, I don't understand the need for both active RAM and inactive RAM. Wouldn't one just be the inverse of the other? I also don't understand what mem wired is.

Could you shed some light on this?

Thanks!
User Avatar
astro_righteous 816 days ago
the font idea is pretty creative for a graphic representation of info. makes me wonder what else is possible for other info.
User Avatar
dissidenzz 751 days ago
The link for the font no longer works... post it somewhere else? Thanks....
User Avatar
JimmyBollox 749 days ago
Not sure why that's happening - here's the URL anyway:

http://www.mediafire.com/?9ki3sa8ca0y22pl
User Avatar
c45p31 735 days ago
Cool font and idea, I'm using them in another glet.
User Avatar
shadow321337 733 days ago
Just wanted to share my implementation of this. I'm very happy with it.

http://i.imgur.com/7dVl9.jpg
User Avatar
jxpx777 729 days ago
For the disk usage geeklet, I added `grep -v 'MobileBackups'` after the grep G portion to exclude the MobileBackups disk. My guess is that's what some of you were seeing when two meters appeared.
User Avatar
andreabreu 625 days ago
Hi, tanks for this nice script, great work! Recently I make this for calculate AirPort TX rate ... enjoy!

Before run this script please execute this command: sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

Create one file like /Users/andreabreu/Dropbox/Scripts/get_txrate.sh past follow script

Script: http://cl.ly/code/0C1Y141f2d1I

My Desk: http://cl.ly/image/351v001G223N

I work on same netstats scripts but are stay in testing!!!

Sorry my bad english!
User Avatar
jshake 596 days ago
I am very new to all of this, and was wondering why the text "CPU," "men," etc. are not showing up on my desktop.

As I said, very new to this, so its probably something I did wrong, but any help would be appreciated.

Thx
User Avatar
netherzap 545 days ago
awesome job! super user friendly using a font instead of images, thanks!
User Avatar
solomani 534 days ago
Think it may need updating. "CPU" "men" etc dont appear. Though easy to add using another applet.
User Avatar
ejleon 449 days ago
Can this be used to show TM's back up progress that shows in system preferences?

Can some help do so with Time Machine Loading, Battery, and Sound?

The "ARC mem active" and "ARC mem inactive" don't work for me. It's printing numbers along with the circular images.
User Avatar
joneskind 342 days ago
Unfortunately, the RAM script seems not to work anymore in Mavericks, since

> `top -l1 | grep "PhysMem"|awk '{print $4}'`

returns something like this

> '(868M'

There must be a solution that do not know yet. If any could help.

[Edit] Do markdown work or is it one of the new 10.9 feature ?
User Avatar
cooperred 328 days ago
This doesn't seem to work on 10.9 mavericks. Anybody have a solution?
User Avatar
shawkinsl 327 days ago
Hi all,

I've come up with _a_ solution to the Mavericks problem. It looks like the output of top has changed, and does not include the total memory anymore. Also, I had to sed out some parentheses.

I only bothered rewriting Active and Wired (because those are the only two I use) although it would likely be trivial to figure out inactive as well (just reorder the args again).

I'm not sure if they behavior will be exactly like it was before, but this is what I replaced the scripts with to restore functionality:

WIRED=`top -l1 | grep "PhysMem" | sed 's/[\()]//g' | awk '{print "X"int($2/($4+$2+$6)*50)"X"}'`

echo $WIRED | sed "s/X0X/a/;s/X1X/b/;s/X2X/c/;s/X3X/d/;s/X4X/e/;s/X5X/f/;s/X6X/g/;s/X7X/h/;s/X8X/i/;s/X9X/j/;s/X10X/k/;s/X11X/l/;s/X12X/m/;s/X13X/n/;s/X14X/o/;s/X15X/p/;s/X16X/q/;s/X17X/r/;s/X18X/s/;s/X19X/t/;s/X20X/u/;s/X21X/v/;s/X22X/w/;s/X23X/x/;s/X24X/y/;s/X25X/z/;s/X26X/A/;s/X27X/B/;s/X28X/C/;s/X29X/D/;s/X30X/E/;s/X31X/F/;s/X32X/G/;s/X33X/H/;s/X34X/I/;s/X35X/J/;s/X36X/K/;s/X37X/L/;s/X38X/M/;s/X39X/N/;s/X40X/O/;s/X41X/P/;s/X42X/Q/;s/X43X/R/;s/X44X/S/;s/X45X/T/;s/X46X/U/;s/X47X/V/;s/X48X/W/;s/X49X/X/;s/X50X/Y/"

------------------------------------------------------------------------

ACTIVE=`top -l1 | grep "PhysMem" | sed 's/[\()]//g' | awk '{print "X"int(($2+$4)/($4+$2+$6)*50)"X"}'`

echo $ACTIVE | sed "s/X0X/a/;s/X1X/b/;s/X2X/c/;s/X3X/d/;s/X4X/e/;s/X5X/f/;s/X6X/g/;s/X7X/h/;s/X8X/i/;s/X9X/j/;s/X10X/k/;s/X11X/l/;s/X12X/m/;s/X13X/n/;s/X14X/o/;s/X15X/p/;s/X16X/q/;s/X17X/r/;s/X18X/s/;s/X19X/t/;s/X20X/u/;s/X21X/v/;s/X22X/w/;s/X23X/x/;s/X24X/y/;s/X25X/z/;s/X26X/A/;s/X27X/B/;s/X28X/C/;s/X29X/D/;s/X30X/E/;s/X31X/F/;s/X32X/G/;s/X33X/H/;s/X34X/I/;s/X35X/J/;s/X36X/K/;s/X37X/L/;s/X38X/M/;s/X39X/N/;s/X40X/O/;s/X41X/P/;s/X42X/Q/;s/X43X/R/;s/X44X/S/;s/X45X/T/;s/X46X/U/;s/X47X/V/;s/X48X/W/;s/X49X/X/;s/X50X/Y/"
User Avatar
zndr 313 days ago
This hasn't fixed it for me sadly. neither active nor wired come up. 10.9 MBA Haswell

- scratch that, you were actually just missing the end of your script and I didn't notice.
User Avatar
cooperred 312 days ago
this hasn't fixed it for me either. zndr what did you mean by the end of the script?
User Avatar
mikejmcfarlane 312 days ago
I had problems under ML and Mavericks with memory as I have 16GB in my MBP and sometimes top reports in MB and sometimes in GB! I use the following script and it seems to reflect what I see in Activity Monitor:

nb this forum doesn't show all off echo "s/X0X/a/;s/X1X/b/;s/X2X/c/; ..... it cuts off the end. You can get this final part from the original script.

FREE_BLOCKS=$(vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//')

SPECULATIVE_BLOCKS=$(vm_stat | grep speculative | awk '{ print $3 }' | sed 's/\.//')

USED=$(((16384-(($FREE_BLOCKS+SPECULATIVE_BLOCKS)*4096/1048576))))

USED_PERCENT=$((($USED*100/16384)/2))

ACTIVE="X"$USED_PERCENT"X"

echo $ACTIVE | sed "s/X0X/a/;s/X1X/b/;s/X2X/c/;s/X3X/d/;

get the final part of this sed substitution from the original script
User Avatar
mikejmcfarlane 312 days ago
Problem with disk used: Until today my disk used geeklet showed two arcs, one for my internal disk, the other my time machine. I booted my machine now and I get an arc, and some text.

I use:

DISK=`df -H -l|grep G|awk '{print "X"int($5/2)"X"}' | sed 's/\%//'`

With the normal sed substitutions after.

If I run this at the terminal I get, for example 'n X12X' ie the sed part is not working as it should give, for example 'n n'.

It's like sed is not working, has changed.

Any ideas?
User Avatar
mikejmcfarlane 312 days ago
I have a problem with disk used. Until today my disk used geeklet showed two arcs, one for my internal disk, the other my time machine. I booted my machine now and I get an arc, and some text.

I use

DISK=`df -H -l|grep G|awk '{print "X"int($5/2)"X"}' | sed 's/\%//'`

With the normal sed substitutions after.

If I run this at the terminal I get, for example 'n X12X' ie the sed part is not working as it should give, for example 'n n'.

It's like sed is not working, has changed.

Any ideas?
User Avatar
mikejmcfarlane 312 days ago
My disk capacity has stopped working today.

DISK=`df -H -l|grep G|awk '{print "X"int($5/2)"X"}' | sed 's/\%//'`

If I run this at the terminal I get 'n X12X'. It looks like the sed part is not working as it should give 'n n'.

Any ideas?
User Avatar
mikejmcfarlane 312 days ago
Solved my own problem:-) Using the solutions proposed by JeremyLC and jxpx777, thanks guys/gals! My disk usage for my internal drive and time machines not shows correctly using:

DISK=`df -H -l|grep G|awk '{print int($5/2)}' | sed 's/\%//'`

SUBS=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y)

for i in `echo $DISK | tr ' ' ' '`

do

echo "${SUBS[$i]} \c"

done
User Avatar
mikejmcfarlane 312 days ago
I got really excited then about the new substitutions and rewrote all my ARC geeklets to use it, and with all but one running in a single scripts. So for CPU user, RAM, SSD and TimeMachine I use:

USER=`top -l1 | grep "CPU usage"|awk '{print int($3/2)}' | sed 's/\%//'`

FREE_BLOCKS=$(vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//')

SPECULATIVE_BLOCKS=$(vm_stat | grep speculative | awk '{ print $3 }' | sed 's/\.//')

USED=$(((16384-(($FREE_BLOCKS+SPECULATIVE_BLOCKS)*4096/1048576))))

USED_PERCENT=$((($USED*100/16384)/2))

ACTIVE=$USED_PERCENT

DISK=`df -H -l|grep G|awk '{print int($5/2)}' | sed 's/\%//'`

SUBS=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y)

for i in `echo $USER | tr ' ' ' '`

do

echo "${SUBS[$i]} \c"

done

for i in `echo $ACTIVE | tr ' ' ' '`

do

echo "${SUBS[$i]} \c"

done

for i in `echo $DISK | tr ' ' ' '`

do

echo "${SUBS[$i]} \c"

done

And then for CPU system, which gets it's own geeklet window positioned over the first:

SYSTEM=`top -l1 | grep "CPU usage"|awk '{print int(($3+$5)/2)}' | sed 's/\%//'`

SUBS=(a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y)

for i in `echo $SYSTEM | tr ' ' ' '`

do

echo "${SUBS[$i]} \c"

done

It appears markdown is not working, sigh! Thanks for everyone's comments above which helped me refine my geeklets:-)
User Avatar
cyngen 305 days ago
OK, how do I change the color of the circle?

....never mind, found it. Now I feel stupid :(
User Avatar
ejleon 178 days ago
This is what I put together using code I found here for the battery status.

Can anyone tell me if the output is correct?

(Code goes extends past the margin)

BATTERY=`ioreg -l | grep -i capacity | tr '\n' ' | ' | awk '{print "X"int(($10/$5 * 100)/2)"X"}'`

echo $BATTERY | sed "s/X0X/a/;s/X1X/b/;s/X2X/c/;s/X3X/d/;s/X4X/e/;s/X5X/f/;s/X6X/g/;s/X7X/h/;s/X8X/i/;s/X9X/j/;s/X10X/k/;s/X11X/l/;s/X12X/m/;s/X13X/n/;s/X14X/o/;s/X15X/p/;s/X16X/q/;s/X17X/r/;s/X18X/s/;s/X19X/t/;s/X20X/u/;s/X21X/v/;s/X22X/w/;s/X23X/x/;s/X24X/y/;s/X25X/z/;s/X26X/A/;s/X27X/B/;s/X28X/C/;s/X29X/D/;s/X30X/E/;s/X31X/F/;s/X32X/G/;s/X33X/H/;s/X34X/I/;s/X35X/J/;s/X36X/K/;s/X37X/L/;s/X38X/M/;s/X39X/N/;s/X40X/O/;s/X41X/P/;s/X42X/Q/;s/X43X/R/;s/X44X/S/;s/X45X/T/;s/X46X/U/;s/X47X/V/;s/X48X/W/;s/X49X/X/;s/X50X/Y/"

Also, I would like one for Volume, but I don't know how to code and I can't get anything to work. Can someone please help me?
User Avatar
-cj81499- 164 days ago
Will someone please update this for Mavericks and create a battery script as well? I would really appreciate it.
User Avatar
helioskk 97 days ago
The idea is of using a font for displaying arc meters is just amazing! Great job! Have an up vote!
User Avatar
tlatoani 81 days ago
Could your font be used to display cpu temperature?

Log in to comment or register here.