g15aiostats is a plugin that displays the current time, date, per core CPU usage, upload and download network rates, disk read, write and usage, memory and swap usage, system uptime, filesystem usage, load average, temperature/fan sensors, and a timer on a user configurable number of virtual screens. I've only tested it on my machine (64 bit Arch with a Core 2 Duo), but it should work in theory on most systems.
As refujee pointed out, the config file from v0.1 is incompatible with any newer release. Delete or rename the old one, and g15aiostats will automatically write a new config file with the default settings. Sorry for any inconvenience.
Suggestions and bug reports are much appreciated.

Required dependencies: boost
Optional dependencies: libgtop (DiskSpace, Mem, Swap, and Net bar types), g15daemon (G15 LCD support), lm_sensors (Sensor bar type)
Default Display:
"cpu:" bar - Contains sub bars that display real time CPU usage for up to four individual cores. The text displays the combined CPU usage percentage for all cores.
"net:" bar - Contains two sub bars that display the selected interface's download (top bar) and upload (bottom bar) rates. The text displays each sub bar's rate in KBps.
"dsk:" bar - Contains three sub bars that display the selected device's read rate (top bar), write rate (bottom bar), and disk activity percentage (middle bar). The activity reading is taken from the "time spent doing I/Os" field in /proc/diskstats, and is independent of the read/write bars. The text displays the disk activity percentage.
"mem:" bar - Displays the amount of physical RAM currently in use (excludes cache and buffers). The text displays the same in MB.
Default Controls:
LCD button 1 - Starts or stops the timer.
LCD button 2 - Resets the timer to zero.
LCD button 3 - Cycles through a list of all available network interfaces to monitor with the network bar.
LCD button 4 - Cycles through a list of all available disk devices to monitor with the disk bar.
See the man page for detailed documentation on configuration.
Changelog:
v0.1:
v0.2:
v0.21:
v0.22:
Комментарий
Комментарий
I ended up finding the author
I ended up finding the author using another method and he was extremely quick to respond. Thanks again, very happy with the fix you provided!
New Forum Layout
I just wanted to let people know that I likely won't notice new posts in this thread anymore. Unless I'm missing something, the new forums don't have an option to send you email notifications of new posts, and I don't check them regularly. The only reason I'm here now is that ravedigger also sent me an email (which also happens to be the reason for the new SVN commit that adds an option to hide borders). Email (kbranch at kbranch dot net) is the best way to get ahold of me now, and I'll do my best to address any questions, bug reports, or suggestions promptly.
Hope people still read this page
I just wanted to post my .g15aiostats.conf file so if anyone else wants to use it they can. It's just a single page display of a few stats that I like to have visible at all times. I do have a question though. After upgrading to Ubuntu 10.04, the bar graphs on the LCD have borders around them which they did not when I was using this plugin on 9.04. I am using the exact same .conf file, so I'm not sure why this is. If anyone has any ideas, I'm all ears.
AutoRotateDelay = "999999999999"
[Screen]
NextScreenButton = "1"
[Bar]
Type = "Sensor"
SensorType = "Temperature"
StringFormat = "%sens1 c"
Label = "temp:"
LabelPosition -= "0, 1"
[Bar]
Type = "Uptime"
Label = "uptime:"
StringFormat = "%dd %Hh %Mm"
StringJustification = "Right"
LabelPosition -= "0, 1"
[Newline]
[Bar]
Type = "Volume"
Label = "vol :"
Height = "4"
Position += "0, 1"
LabelPosition += "0, 0"
StringPosition += "0, 2"
[Newline]
[Bar]
Type = "Mem"
Label = "mem :"
Height = "4"
Position += "0, 1"
LabelPosition += "0, 0"
StringPosition += "0, 1"
[Newline]
[Bar]
Type = "DiskSpace"
Label = "sda1:"
Height = "4"
Position -= "0, 0"
LabelPosition -= "0, 1"
StringPosition += "0, 1"
[Newline]
[Bar]
Type = "Disk"
Label = "disk:"
Button = "4"
HideButton = "4"
Height = "6"
Position += "0, 1"
LabelPosition -= "0, 0"
StringPosition -= "0, 0"
[Newline]
[Bar]
Type = "Net"
Label = "net :"
Height = "6"
Position -= "0, 0"
LabelPosition -= "0, 1"
StringPosition -= "0, 1"
Re: g15aiostats (v0.22 Released 11/04/09)
Oops, I completely forgot to mention what I wanted to about the volume bar. As I understand it, the method I chose should be pretty generic, I expect it to work regardless of what software you're using (OSS vs. ALSA vs Pulse, etc). The problem is that because it's generic, you may not be able to select exactly the mixer you want to track. It works well enough for me, and I hope for most people, but please speak up if it's not good enough. I can look around for a better way to check volume levels.
Re: g15aiostats (v0.22 Released 11/04/09)
Just uploaded v0.22, here's the changelog:
-Added a UserScript bar type. See man page for details. -Added a Volume bar type.
-Added separate Upload and Download bar types in addition to the existing Net type.
-boost_regex is now the only required dependency. The configure script will detect and enable the other libraries if they're available.
-Added network support. See man page for details.
-Added a Manual config option that lets you set an individual bar to manual layout mode. Bars with this option set have no effect on anything else on the screen.
-Added an AutoRotateDelay config option that will automatically switch screens after a specified delay.
I use the plugin full time, and I've tried to test it fairly well, but it's definitely getting to the point where I can't realistically test every case myself. The network code specifically is still a little suspect (although it works perfectly for me), this was my first attempt at any kind of interprocess communication. Don't hesitate to report bugs, I'll do my best to track them down and fix them.
Edit: I've also put up a Google Code project that I'll be using. Link.
[/]Re: g15aiostats (v0.21 Released 10/17/09)
Thanks for your speedy response, and for your work on this project. I'll give this a try tonight.
Re: g15aiostats (v0.21 Released 10/17/09)
You generally need the development versions of packages when installing dependencies for something you're compiling from source. Development packages are usually named just like the normal ones, except they have a "-dev" added in there somewhere (libgtop2-dev instead of libgtop2-common in this case).
Assuming I navigated Debian's package site properly, this should be the package you need to install: http://packages.debian.org/squeeze/libgtop2-dev. You'll also likely need these too: http://packages.debian.org/squeeze/libsensors4-dev, http://packages.debian.org/squeeze/libg15daemon-client-dev, and http://packages.debian.org/squeeze/libg15render-dev.
Good luck, hope that helps. Let me know if you have any other questions.
Re: g15aiostats (v0.21 Released 10/17/09)
Hi,
I just starting using linux today, so sorry for the stupid questions. I'm trying to get g15aiostats to configure, but there is an error in the terminal saying
"configure: error: Unable to find gtop-2.0 library"
I added libgtop2-common_2.28.0-1_all.deb from http://packages.debian.org/squeeze/all/libgtop2-common/download , and then tried to configure g15aiostats again, but the error message is still appearing. Am I missing something?
Thanks in advanced.
Re: g15aiostats (v0.21 Released 10/17/09)
Aranel:
I didn't see your edit until just now, sorry about that. That should be pretty easy to do, I'll add that for the next release.
Jonas:
I used SirReal's plugin when I used Windows, so I know where you're coming from. My personal preference is for the cluttered look of the default settings (as in the screenshot), but g15aiostats is now extremely customizable. It doesn't use windows like SirReal's, but you can do things like add multiple bars to a single line, change the font position/size, and add or remove anything that the plugin knows how to display. If you feed it a config file without anything it knows how to parse, it'll just display a blank screen, nearly everything is customizable. The man page has fairly detailed documentation on all the config options.
There are still features to be added, of course. I wanted to add a volume bar a while ago, but apparently I forgot about it, I'll see if I can add one as an option. I don't have any idea where to start for a POP notification, but I can at least look into it. The new UserScript bar type should help a lot with missing features. If you can find a way to get the information you want with a script, you can display it in g15aiostats.
I'm currently working on network support, which will probably take a few days. The next release should be shortly after that's done, and include the UserScript type, network support, timed screen switches, and probably a volume bar.
Re: g15aiostats (v0.21 Released 10/17/09)
Ideas/suggestions:
At the moment I'm mostly using SirReal on Windows XP with my G15, but I'll make the shift to Ubuntu in a week or so. I also use Ray's Winamp Plugin and Logitech's POP3.
The things I like in SirReal: Standard setting with date and time on top, CPU, mem and net just below, and then four optional "windows". This gives a nice overview without cluttering up the LCD (I haven't tried your plugin yet, but the screen shot from the first post suggests the LCD to be quite crowded...). In the four "windows" I've chosen Winamp (don't know whether I'm gonna use amarok or mpd when changing to ubuntu), so some kind of support that way would be appreciated. However, I've noticed there is a plugin just for mpd, so I'm gonna check that out as well. I also have a volume bar on the LCD all the time. And SirReal also marks when the POP3-plugin receives a message. Generally, I really like SirReal's Panel, so getting inspiration from that will be appreciated in my book ;) But as I said, I haven't tried yours yet, so it's a bit difficult for me to give more specific suggestions - but I'm definitely coming back to this forum as soon as I've gotten installed Ubuntu and tested g15aiostats.
Greetings from Jonas, and thanks for putting work into something I'm quite sure I'm gonna use soon ;)
Btw, about the timer in the bottom left - I'm never gonna use it, but maybe a lot of other people are?
Re: g15aiostats (v0.21 Released 10/17/09)
I've just posted v0.21:
-Switched to a proper automake setup instead of a hand written Makefile. -Fixed a bug where the first sub-bar in a CPU bar was showing total CPU usage instead of just the first core.
-Added more string formats for the Mem and DiskSpace types.
-Added a Swap bar type.
-Added a new section to the man page.
I've decided that I'd rather not add more involved things like screens for the terminal and top that are already available through other plugins. You'd want that kind of thing to take up the whole screen, so you could just as easily change screens to another plugin instead of changing to the screen with my implementation.
I would like to add some kind of support for knotify (and the Gnome equivalent, if there is one), though, that does seem like the perfect kind of thing for a keyboard display. I have plans for a "user script" bar type too that just runs a script and uses its output for a bar and its associated text, so that anybody can easily add their own bars. I'd also like to add network support so you could run g15aiostats on multiple computers, and display information from any or all of them on one keyboard.
Any other ideas/suggestions/comments?
[/]Re: g15aiostats
Here's my conf:
Re: g15aiostats
Now I'm building my own g15 widget. Thanks to you, great plugin =) Hope to see new releases soon.
edit: Timed Screen Switch feature would be cool. Ex: Show Screen 1 > Wait for X Seconds > Show Screen 2 > Wait for X Seconds > Show Screen 3 > Wait for X Seconds > Show Screen 1 Again > Loop..
Re: g15aiostats
Ah, right, that should have occurred to me. Yeah, the old config file probably just gives you a blank screen now, most everything was hard coded before. There should be enough in the current version of the config format to pretty easily maintain backwards compatibility for the future, but I'll be sure to pay attention to that next time.
Re: g15aiostats
Glad to see this being updated, it's an awesome program that I have running constantly now. I found one small problem when updating to the new version though. The old .g15aiostats.conf was keeping the new version from running correctly. Once I removed the old conf file it started working fine. Keep up the good work.
Re: g15aiostats
A few days turned into a couple weeks, but I've finally got a new release ready. The default configuration will look almost identical to the last release, but I've completely redesigned how things work internally, added support for multiple virtual screens, and added a few new bar types. Almost every aspect of the display can now be set in the config file. You can manually set every detail to exactly how you like it, give it some vague information about what you want on the screen and let the plugin handle the details, or anything in between. I think I spent more time documenting this release than I spent actually coding the last one, there are a ton of options (all explained in detail in the new man page). There are now also 'install' and 'uninstall' make targets.
I've done a fair amount of testing, but I'm sure I missed some potential problems since the new auto layout feature allows for an almost infinite number of possibilities. Just let me know if you encounter a bug.
The new bar types include temperature/fan sensors, system uptime, load average, and filesystem usage. More are coming, but the bulk of my time on this release was spent on the new config system.
lm_sensors has also been added to the list of dependencies.
Download link.
Re: g15aiostats
Thanks for the suggestions, most of those should be pretty easy to add. I've got some ideas in my head now for how to make the plugin a lot more flexible and extendable, more along the lines of SirReal's plugin for Windows (although hopefully even more flexible if I actually implement it as I'm envisioning it). I'll probably have an update in a few days.
Re: g15aiostats
Here some ideas:
* Load average and Uptime
* Disk Usage -it'd be cool if it can show different partitions-
* Swap Usage
* Maybe some integration with other GNU/Linux applications, like Firefox,Kopete - or web services like MSN, Twitter or Last.FM
* Terminal
* Top Usage
* Fan & Power Information (can be done with sensors)
* Maybe integration with KDE Notifier.
* Ability to show Processes and kill them. (LCD Miscellany feature)
* Ability to find and kill frozen applications. (SirReal feature)
* POP3 Monitor (SirReal)
I think LCD Miscellany on Windows can give us much more ideas, it was a real good plugin. (I can barely remember its features anyway :/ ) If you want to just add stats, not like SirReals, so Load/Uptime/Swap/Top and Fan/Power information would be cool. Anyway, I'm using g15aiostats full-time now, so its already great =)
Good luck and thanks again,
Re: g15aiostats
What other information would you be interested in seeing? The original intention was to consolidate all the information I wanted to see in one screen so I didn't have to switch between several, but it's easy enough to add a config option.
Re: g15aiostats
Thanks for this plugin, its cool =) Maybe you can use all 4 buttons for 4 screens, you can display 4x more information this way, and It can be a real AIO.
Re: g15aiostats
Great, thanks for the package. Definitely let me know if you run into any issues, still just getting my feet wet with this kind of thing.
Most of this was cobbled together after a lot of googling and sifting through documentation, I didn't realize that boost was a separate package that I happened to already have installed. I'll update the dependencies in the first post to add it.
Re: g15aiostats
Awesome work, thank you! I've created an Arch Linux package for it here:
http://aur.archlinux.org/packages.php?ID=30191