GnomeCam Home Page

Description

GnomeCam is a gnome applet I wrote to display a webcam image in my gnome toolbar. It will grab any image type supported by gdk-pixbuf through HTTP, scale it down and display it. I use it to monitor my home webcam from work without keeping a browser window open all the time. You may use it to monitor your baby, your favorite beach, your stock's daily chart, or even the traffic on your local freeway. Note your freeway map might be illegible after scaling down. ;-)

GnomeCam honors HTTP "expires" headers, so if you point it at a well-behaved cam (I know of none other than my own ;-) it will retrieve the document only when it expires. Otherwise it simply waits for "Max timeout" seconds to retrieve the image. "Min timeout" is used to prevent GnomeCam from making many silly requests in a row when the server's expires header is too soon.

I wrote just enough for my needs. A lot of the fun was getting my first useful gnome app up and running. Feel free to drop a line at [email protected] if you have suggestions or comments.

Screenshots

Image window in gnome toolbar:
gnomecam display

Properties window:
gnomecam properties dialog

Download

Changelog

View the gnomecam changelog.

Bugs/To-Do

Track down memory leaks. memprof indicates there are leaks, but mem_test gives it a clean bill of health.

GnomeCam (or, rather, my gnome libs) sporadically outputs various errors to stdout/stderr. I haven't ever noticed a functional problem resulting from the errors, but they are ugly. Some errors output: "Gdk-WARNING **: shmget failed!", ...

An optional GTK-drawn border round the image. With my panel background and GTK theme it sticks out a bit. (Tim Bannister)

HTTP Basic and Digest authentication would be nice, as would proxy support (which it might already have, but I've not spotted it). (Tim Bannister and Rebecca Boyer)

I'd like to be able to use Eye Of Gnome or something to pop up the image rather than loading the URL into another browser, but I have to admit that just using the GNOME http URL handler works well. (Tim Bannister) [it would also mean one less connection to the web server if GnomeCam passed EOG the original (unscaled) image]

Follow the instructions on The Art of Applet Writing about letting a single gnomecam process manage multiple applet instances.

proxy support (seems to be in gnome-http - just needs to be hooked up) [Sven Wagner]

2. I could hover the mouse over a particular picture and a tooltip would appear saying something like "Shot of Sacramento, facing West." 3a. On the bottom corner (user-chosable :) ) it could say on my radar map "2:15pm" or "14:15" or "7m ago" or "426s ago." 3b. On the bottom corner, or maybe have it appear in the image only when the mouse is hovering over, have a little analog clock or pie chart(!) which visually counts down how long until the image is updated again. 3c. Mix and match! Two analog clocks? (One showing what time the image was updated, the other when it will be. They could be little 15x15 icons on different corners of the image.) One analog and one pie chart? A timestamp for when it was updated, and a pie chart? [Bill Kendrick]

Support pasting a URL into the gnomecam window with the middle button, just like Netscape.

Tooltip indicating next reload could be colored or something to indicate whether it is due to expiration or maxtimeout (or mintimeout?)

gnomecam_applet should be able to follow a temporary HTTP redirect to get at the image, or indeed a permanent one. If the applet gets a permanent redirect it should change the URL stored in the configuration file (this is allowed and even recommended by the HTTP spec). [Tim Bannister]

I have a suggestion too: a good option might be to specify a referer line - some webcams CGIs might check the referer line before giving up an image. Specifying it in the configuration would allow this to be bypassed. [Matthew Mastracci] Maybe I would make it even more general - allowing the user to specify arbitrary HTTP headers to be sent along with the request...

change aspect ratio of gnomecam blue screen to 3x4

Does gnomecam crash when it starts and cannot find its cam?

Make gnomecam's website address clickable. [Bill Kendrick]

Figure out how to get gnomecam included in Debian distro

Let people specify HTML URLs to gnomecam and then gnomecam would try to find an image in the URL that looks like a cam.

Why not allow multiple name-able URLs. I can click the applet to get one main URL (the large version of the gnomecam'd map), or right-click and select from "Radar Page" and "Weather Page", each of which would go to the latter two URLs, respectively. [Bill Kendrick]

Fix the GTK+ bug 15891. The applet_widget_set_widget_tooltip() function erroneously hides the tooltip if it is visible when applet_widget_set_widget_tooltip() is called. [Bill Kendrick]

Visually display that the applet is in the process of loading a new version of the image. [Bill Kendrick]

BTW, it's also good to name the tar'd directory with a version number.. so if one does a "tar -xzf gnomecam-0.3.1.tgz" followed by a "tar -xzf gnomecam-0.4.tgz", they end up with two unique directories (gnomecam-0.3.1 and gnomecam-0.4), rather than clobbered files. ;) [Bill Kendrick]

Handle progressive loading and animations