|Server Status Monitor|
on Jun 24, 2002 at 16:35 UTC
|Just a simple server status monitor written in Perl/Tk. Run as root, or with root priveledges on a *nix system for ICMP ping to work. Works on Win32 as well.
Probably not the cleanest or well thought out code in the world, but that's why I'm posting it. I wouldn't mind getting feedback on ways to clean up parts of it, specifically I'd like to rid myself of $serverCount. I've done some fiddling, but haven't as yet been able to do this.
I've kept all comments in just in case my code is so bad in places as to be difficult to understand (which I don't think it is, but you never know) :)
UPDATE: Added user customizability for color settings and refresh rates on the server list (program has to restart for refresh rate change to take effect). Have yet to add grinder's suggestion to use sockets instead of Net::Ping.
UPDATE: Switched from Net::Ping to IO::Socket to determine if a server is alive or not. Thanks for the idea grinder!
UPDATE: Small fixes including adding a Port listbox, and aesthetic alignment of subwindows.
|GNOME Panel Applet SSH Menu|
on Jun 07, 2002 at 14:26 UTC
|Update: I have since re-implemented this functionality (with configuration dialogs) using Gtk and Ruby. It's available here.
Warning: Don't use this script as an example of how to write Gtk GUI code in Perl - it uses the old 'Gtk' API (which was current in 2002 when I wrote the script) not the more modern Gtk2 API.
This script scratches a particular itch of mine - I'm administering multiple hosts and regularly want to open a new SSH session to a particular host in a new window. This script provides the list of hosts as a drop-down menu.
It's my first attempt at a GNOME panel applet so I'm interested in feedback from Perl-Gtk gurus who spot unduly complex bits. I'm posting this because I didn't find much in the way of sample code on the web.
I'm running RedHat 7.3 and Ximian GNOME so if it doesn't work for you, you may need to upgrade to the latest versions. The only module I needed over and above RH+Ximian was XML::Simple, but I had that already :-)
Ultimately, I want to implement a configuration dialog but
it's functional now so here goes ...
|WxBrowser - a wxPerl HTML Browser|
on May 06, 2002 at 14:42 UTC
|A crude HTML Browser written using wxPerl.
More of a minimalistic demo than anything.
Nice layout IMO (a hint of things to come).
If you want the GOBAR at the bottom, just
## switch these two lines, the wxBOTTOM or wxTOP don't matter
$sizer1->Add( $sizer3, 0, wxGROW|wxTOP, 0 );
$sizer1->Add( $sizer2, 1, wxGROW|wxALIGN_CENTER_VERTICAL, 0 );
on Apr 19, 2002 at 21:13 UTC
|Sticky notes in Perl/Tk. Crude but effective. Hit 'new' to make a new note, 'saved' to show all notes you've written and closed. Saves in ~/.ptknotes
|Perl/Tk Lights Out|
on Dec 03, 2001 at 19:25 UTC
|Not having used the grid geometry manager in Tk, and not having included pod documentation (redundant), I threw together this version of the Tiger Elctronic's Lights Out game to play with both concepts.
I would appreciate any comments on the code (suggestions for improvement would be great). I am also interested in comments on this dumb habbit I picked up -- creating all my GUI objects in a hash array.|
|Tk based game|
on Nov 08, 2001 at 18:08 UTC
|This is a little stress reliever I wrote in mid September 2001.
It is a useful demonstration of basic Perl/Tk programming, including Pixmaps, mouse events, text, and window placement.
May be slightly buggy in windows, I don't remember.
Edit (davorg): Title changed
|The GUI Loft--A Win32::GUI Design Tool|
on Aug 27, 2001 at 22:14 UTC
|The GUI Loft is a powerful and easy-to-use WYSIWYG design tool for designing Win32::GUI Windows.
There is a User Manual, a Programmer's Reference, Demo code, and a support mailing list.
The code is around 300K and changing a lot, so I won't post it here, but you can download the source and binary at the home page:
After designing the window in The GUI Loft, this is what the Perl code looks like to bring it into your program:
my $fileWindow = "fetch.gld"; #You created this using The GU
my $objDesign = Win32::GUI::Loft::Design->newLoad($fileWindow) or
die("Could not open window file ($fileWindow)");
my $win = $objDesign->buildWindow() or
die("Could not build window ($fileWindow)");
I hope you'll like it!
on Aug 14, 2001 at 12:04 UTC
|Tk::Style implements stylesheet support for
Perl/Tk, allowing one to separate presentation
details from one's code and reduce the number
of redundant parameters supplied to methods.
Update - Thu Aug 16 18:24:38 EDT 2001
Version 0.4 uploaded. Merely aesthetic changes
since 0.2, API changes since 0.1; check the POD
on Aug 14, 2001 at 02:46 UTC
Module to allow easy viewing of warnings and errors from a console-less Perl/Tk program.
From the POD:
When Perl programs are run in a GUI environment, it is often desirable
to have them run with no console attached. Unfortunately, this causes
any warnings or errors to be lost. Worse, fatal errors can cause your
program to silently disappear, forcing you to restart the program,
attached to a console, and hope you can reproduce the error.
This module makes it easy to see any errors or warnings your console-less
program might produce by catching any errors and/or warnings and displaying
them in a pop-up dialog box using Tk. It is similar in spirit to CGI::Carp's
fatalsToBrowser and warningsToBrowser special import directives.
Update: Version 1.1; fixed some bugs, added some interface features.
Update: Version 1.2; Added some more features, and changed how the module works with regards to Tk::Error.
on Jun 25, 2001 at 23:35 UTC
|** update **
I fixed a small typo in the thumbnail sub and a small error in my html tags. djw - June 27/01.
Sorry if the code format is off a bit, I was testing out Komodo as an editor.|
You can find the latest and greatest version at my site. You can find win32 binaries of Tk as well as html examples of output.
What it does:
Read in a directory of digital cam pics, scale them to whatever
percentage you want(in multiples of 10), provide an option for
descriptions, and write an html page for viewing pictures.
- removed all hard coded paths/names - added to options
- added html style types - cascade and thumbnails
- added some defaults for the options window
- added clear and cancel buttons to options
- added a help menu (this file) - will include more later
- finished options window
- added a new dir location option
- Added a scale value
- finished html output default
- Added GUI - too much to name, first real version
- Complete keyboard shortcuts and frame focus stuff for speedy use
- No GUI option. eg: "# webpic.pl -nogui -scale 20% -dir /var/www/images
-newdir pr0n" etc
- add the option to not have descriptions (no gui mode only?)
- thinking about a slideshow html style
- Need to add html bg and font colors to the option
|Generic Registry Editor|
on Jun 22, 2001 at 23:19 UTC
|The is a gui driven registry editor for network admins. It allows admins to create standard registry edits for workstation builds, maintenance, etc.|
on Jun 06, 2001 at 01:12 UTC
|A simple system monitor written in Tk, should be|
cross-platfrom, but only tested on Solaris 2.7.
This is my first somewhat large app in Perl/Tk.
Any comments would be helpful.
on May 29, 2001 at 15:13 UTC
|pVoice is a speechapplication for disabled people who
can't speak themselves. By only generating left and right
mousebuttonclicks the whole application can be operated.|
update: pVoice has grown so much that it's not possible to keep the code here updated. You can find the sourcecode of pVoice 2.x at opensource.pvoice.org. Binary releases (packed with ActiveState's PerlApp) can be found on www.pvoice.org.
The current pVoice does no longer use Tk for the GUI, but wxPerl instead
I'll keep the code updated in here, though pVoice 0.01 was
posted in Cool Uses for Perl. For more backgroundinfo, look
This is version 0.02.1
The current version is 2.1
on Feb 24, 2001 at 08:34 UTC
|Assists in rapidly sorting and "threshing" a heap of JPGs. Requires an RDBMS (set to postgreSQL, but easily changed) and Tk.
Images and RDBMS not included. :)
|Module info viewer|
on Feb 19, 2001 at 20:18 UTC
|Show module versions for a running program.|
I wrote this window to help with debugging mysterious failures at customer sites.
We send scripts and modules to our users, who install them locally. They also install
updates from CPAN as recommended, but we sometimes find we are out of sync.
This code can be added to any Perl/Tk program to bring up a window which displays the versions
of all modules loaded by the program to that point. The information is displayed
in a Text widget, which allows the user to cut and paste it easily into a mail message.
The enclosed wrapper program is trivial but serves as an example framework.
I cut and pasted it from one of our apps (and noticed the old-style Frame menu bar along the way, hmmm).
On re-reading I think the code that gets the version data is rather clunky; any suggestions?
on Jan 04, 2001 at 22:05 UTC
|As an exercise to do some Perl/Gtk+ without using Glade, I decided to create a Gtk+ POD viewer, gPOD.
I have been using it for the last few days, and actually kind of like it, so I thought I would share. I have
a growing TODO list for it (adding color text, saving as things other than text, saving prefs, etc...) so
if you happen to use it, and like it let me know so I can give you updates.|
So, use it, abuse it, give me some comments (here or email), suggestions, patches, screenshots, etc.. I plan to continue to
work on this and build a decent app.
So far, I have only tested this with Gtk 1.2.8/Gtk-Perl 0.7004, and Helix Gnome.
on Dec 25, 2000 at 00:30 UTC
|process_killer.pl is a graphical process-management program.
It uses the Tk module for GUI and currently delegates to the system's "ps" and "kill" commands for actual process management.
It supports the signals TERM, STOP, CONT, INT, HUP, and KILL (if your system supports them all.)
In its current configuration, it runs on my Debian GNU/Linux box; others may have to tweak it slightly to get it to work on their machines.
Check the source for more info.
If there is any demand for a more portable version of this program, I'll work on it.
The latest version of this program, along with a screenshot and other information, will always be available at http://www.jenovaproject.org/software/process_killer/.
Update: somehow, the code I had posted here didn't make it to the page; I've re-added the code, so go ahead and take a look at it.
|Gtk+ HTML Tree Viewer|
on Sep 20, 2000 at 21:17 UTC
this is a rewrite of a utility i did for a job where i
was using HTML::TreeBuilder and XML::XPath
to parse and search normal HTML documents using the powerful
this utility uses HTML::TreeBuilder to parse
an HTML document from a URL specified on the command line
or from an internal browser location line and displays it
as a Gtk+ Tree in a window. only subtrees with text nodes
or anchors are expanded.
there are (simple) XPath queries displayed in the status
bar that could be used to extract that node from the
document (for example, by converting it to XHTML with
HTML::TreeBuilder and then using XML::XPath, or by
traversing the TreeBuilder parse tree and programmatically
constructing an XPath parse tree).
it's probably not a bad example of simple Gtk+ GUI
programming. more may be yet to come in the way of
functionality (and comments).
this was written and tested against Gtk 0.7003.
there is support for using GtkHTML as well, if your
installation is functional (mine was partially functional
when i wrote the code, but stopped working after i upgraded
from GtkHTML 0.4 to 0.6.1 and recompiled Gtk::HTML)
most recently updated: 24 Sep 2000
on Jul 08, 2000 at 01:35 UTC
|I created this program when I still lived back in the netherlands. I had a Webcam-II hooked up to my Linux machine and at that time there were not many good programs for webcams, so I created my own.|
This program uses Stamp and vidcat as utilities to capture and textstamp the picture.
My original page for links to the above programs.
on May 31, 2000 at 20:45 UTC
|This cool utility is included as a mini-demonstation of|
what is possible with Perl on Win32 using Win32::GUI.
This code, the associated database and bitmap may be downloaded from here
If anyone can figure out why the "Stop" button does not
work properly or how to read the individual items of each
column based on the index item clicked on then Jonathan would appreciate the input.
Also Jonathan will be happy to answer anybody's questions
about the code if he can.
"It was done on a trial and error basis ... definitely not written off the cuff and then worked properly.
It required some rewrites of course. ;] Anyway, have fun with the code and any experimenting you want to do on it."