Main index > About new desklets > EotS System Monitor Development

By DrWoland (Desklet Author), on Sun Mar 20 10:26:41 2005, last edited on Sun Mar 20 16:32:10 2005: EotS System Monitor Development.

I have started coding a system monitor that will somewhat resemble torsmo, but with much more themability (thanks to ZeroWing), much easier ability to run multiple instances (ala adesklets), and significantly larger possibilities for eyecandy. The name "Eye of the Storm" is just a working name for now, unless nothing better is suggested. We are still looking for a name, so all sugestions are welcome.

Here's the current list of features (a modified version of my PM to ZeroDivide):

Quote:

Here's what I'm looking at:
The overarching adesklet:
-Transparency and 2color gradient fill of the background. (image fill to come later)
-border of varying thickness with a posibility of a 3d effect broder.
-"Column" design - the monitors will be split into columns, so one can either have them all in one column vertically, or spread them out into 4-5 columns to have a horizontal layout.

The modules:
-CPU
-RAM
-Swap
-Harddrive space
-Kernel/hostname/hosttype
-Time
-Network activity
-A custom text header/separator (leaving text blank just creates an empty space)
-A custom image separator (just something that would load a picture)
-Bars that can be set to have a different border color and fill color.
-Text with customizeable font, size, color, opacity, and a shadow option.
-An optional icon for each monitor, like acpumon has.

Things I'd like to eventually have done:
-Image background
-Image borders
-Full themeability
-Log reader
-Shell command output
-Port of the weather applet.
-Port of the mail checker applet


I'm fairly sure I'm missing something, but I'll add it later when I remember.

Any and all suggestions are welcome. The initial release should be out within the next couple of weeks, but don't quote me on that or try to hold me to it :P

Edit: Added shell command output to future features.
Edit2: Changed ZeroDivide's name to... well, ZeroDivide...

By CitizenX (Themer / Graphic Artist), on Sun Mar 20 14:08:34 2005.

This sounds sweet....I'm really looking forward to it.
Is there any way you could add optional shell commands to this? IMHO Thats what makes torsmo such a killer app....I can script anything I want into it. Then all those torsmo scripts can be used in adesklets with little to no fuss. It would go a long way towards getting torsmo users to take a look. I know python lets you use shell commands...I just don't know how to display the output in a desklet or how to have the desklet resize itself automatically.

By exilejedi (Core Developer & Desklet Author), on Sun Mar 20 15:10:11 2005.

To have Python get the output from another program, check into the popen family of functions in the os module...

http://www.python.org/doc/2.3.5/lib/os-newstreams.html

Pretty simple, and very, very useful.

As for resizing the desklet, you can determine from one display to the next if the size of the desklet is going to need to change, and resize the window (and your buffer images, etc.) accordingly.

By DrWoland (Desklet Author), on Sun Mar 20 15:15:33 2005.

CitizenX wrote:

This sounds sweet....I'm really looking forward to it.
Is there any way you could add optional shell commands to this? IMHO Thats what makes torsmo such a killer app....I can script anything I want into it. Then all those torsmo scripts can be used in adesklets with little to no fuss. It would go a long way towards getting torsmo users to take a look. I know python lets you use shell commands...I just don't know how to display the output in a desklet or how to have the desklet resize itself automatically.


That's what I meant by "log readers" - we'll allow the output of shell commands. Of course, I don't use any of these so it'd be helpful if you could provide some examples of what kind of commands you want outputted. And yes, Sylvain already pointed me to popen :)

By CitizenX (Themer / Graphic Artist), on Sun Mar 20 17:51:44 2005.

ok perfect...'log readers' sounded a bit vague...there are python functions that will parse a log...but are quite different from ones that invoke shell commands.

What I'm looking for is something to replace all the damned torsmo's on my screen...I dont use nearly as much as I have here, but I still use the portage tracker and the process monitor on the extreme left and right, respectively.

The portage tracker uses genlop and awk to parse /var/log/emerge.log ...I've used a cron job to update lastemerge.log, last unmerge.log, and nextsync.log and now torsmo just cats those logfiles...so that just needs a log parser. I get a few requests for the original script, however, so it would probably be best to use the desklet to parse /var/log/emerge.log directly. It's a big ugly file and genlop parses it well...but genlop usually requires root or at least sudo.

The process tracker is just a modified ps:

Code:

ps gaxo %cpu,%mem,comm,user| sort +0nr| head -n 9


This can obviously be coded into a desklet instead of using it as a config option, but it would appeal to more people if you could specify your own command in the config file instead of rewriting the desklet everytime you wanted something new.

I've been doing some work on a process monitor, but as I have little to no Python experience, its rough work...basically I'm cannibalizing existing desklets and seeing what does what. Once I get myself familiar with the structure, I'll be able to actually speak in python to explain what I'm looking for.

By DrWoland (Desklet Author), on Sun Mar 20 18:11:47 2005.

CitizenX wrote:

ok perfect...'log readers' sounded a bit vague...there are python functions that will parse a log...but are quite different from ones that invoke shell commands.

What I'm looking for is something to replace all the damned torsmo's on my screen...I dont use nearly as much as I have here, but I still use the portage tracker and the process monitor on the extreme left and right, respectively.

The portage tracker uses genlop and awk to parse /var/log/emerge.log ...I've used a cron job to update lastemerge.log, last unmerge.log, and nextsync.log and now torsmo just cats those logfiles...so that just needs a log parser. I get a few requests for the original script, however, so it would probably be best to use the desklet to parse /var/log/emerge.log directly. It's a big ugly file and genlop parses it well...but genlop usually requires root or at least sudo.

The process tracker is just a modified ps:

Code:

ps gaxo %cpu,%mem,comm,user| sort +0nr| head -n 9


This can obviously be coded into a desklet instead of using it as a config option, but it would appeal to more people if you could specify your own command in the config file instead of rewriting the desklet everytime you wanted something new.

I've been doing some work on a process monitor, but as I have little to no Python experience, its rough work...basically I'm cannibalizing existing desklets and seeing what does what. Once I get myself familiar with the structure, I'll be able to actually speak in python to explain what I'm looking for.


I understand now exactly what you're looking for. It was also my intention to have the command specified in the config file. There is also talk of another option you may be interested in, but I don't know how certain it is and how soon it will be available, nor how much at liberty I am to talk about it, since it's not my project.

By nucular (User), on Mon Mar 21 13:56:57 2005.

One thing that I like about torsmo is that it is so simple. I'm sure that many people use it for the same reason.

So I guess my point is that if you also want to "compete" with torsmo, you should also make it possible to leave the desklet configured almost "text only" just like torsmo is now.

So beware of too (mandatory) much eyecandy :wink:

By DrWoland (Desklet Author), on Mon Mar 21 16:39:44 2005.

nucular wrote:

One thing that I like about torsmo is that it is so simple. I'm sure that many people use it for the same reason.

So I guess my point is that if you also want to "compete" with torsmo, you should also make it possible to leave the desklet configured almost "text only" just like torsmo is now.

So beware of too (mandatory) much eyecandy :wink:


Definitely. Right now, even without eyecandy, it's a big resource hog, I'm trying to figure out if I coded something too sloppily or if adesklets just isn't the place to be doing what I'm trying to do and if I should go a bit easier.

By ZeroDivide (Desklet Author), on Mon Mar 21 17:26:00 2005.

DrWoland wrote:

Right now, even without eyecandy, it's a big resource hog

I'm not sure how you have the desklet setup, but i've found that using a macro ( start_recording(), stop_recording(), set(), play() ) for drawing will give you almost a 3x speedup.


adesklets is proud to be hosted on:

SourceForge.net Logo

Back to adesklets.sf.net.