By Forrest Cook
April 9, 2008
The Cursed Menu
project implements a terminal-based menu system via the the
Curses terminal control library:
Cursed Menu aims to create an ncurses based menu system for character based sessions. This menu program could be used to create user, system administration, or utility menus for clients connecting with text based clients such as telnet, ssh, or rlogin.
Version 1.0.3 of Cursed Menu was recently
announced. Despite being unable to find any documentation whatsoever
on the project page, your editor decided to try out the software.
The code was
downloaded as a tar.bz2 file, uncompressed and untared.
The configure script was run on a system running Ubuntu 7.04.
There was one dependency issue that was fairly easily solved by
installing the libncurses5-dev package. After fixing that, the
software configured and made correctly.
The next logical action was to take a look at
the source code in the src/ subdirectory. The source files were mostly
.cc and .hh indicating a C++ project. The cursedmenu binary was run and
a blue curses screen similar to the example
screenshot showed up. Navigating through the menus was simply
a matter of using the arrow keys for movement and the Enter key for
selecting an item. A longer description of the item under the cursor
showed up on the lower left corner of the terminal screen.
A little more digging through the code revealed the configuration
system for Cursed Menu. Each menu has an associated .cmd file,
here's what the default main menu .cmd file looks like:
# default.cmd - The default Cursed Menu definition file
#
# Lines beginning with a pound sign (#) are comments.
# --------------------------------------------------------
#
debug = yes;
pause_after_execution = no;
# Each menu file contain one "MainMenu" which is the
# first menu displayed.
# ---------------------------------------------------
MenuBegin MainMenu
MenuTitle=Default Menu
MenuFore=white
MenuBack=blue
ItemName=Item #1
ItemDesc=This is a very nice 1st item
ItemExec=echo "Item #1"; sleep 5
ItemEnd
ItemName=Item #2
ItemDesc=This is a very nice 2nd item
ItemExec=echo "Item #2"; sleep 5
ItemEnd
ItemName=Sub Menu
ItemDesc=Go to the Sub Menu
ItemExec=MenuSub sub.cmd
ItemEnd
ItemName=Exit
ItemDesc=Exit this menu
ItemExec=MenuExit
ItemEnd
MenuEnd MainMenu
Customizing the .cmd file was fairly intuitive, shell commands
were added to the ItemExec lines and ran when the menu item was
selected. The cursedmenu binary picked up the changes in the .cmd
file without recompilation.
Cursed Menu provides a quick and easy way to control simple shell
scripts and could be useful for many purposes.
The project could really benefit from some basic documentation,
A simple README file with a description of the available commands
would be a good start. Despite this lack, the code seems to
function nicely and can be put to use as-is.
Comments (6 posted)
System Applications
Database Software
Version 2.0.4 rc1 of the Firebird DBMS has been
announced.
"
This sub-release introduces some bug fixes and vulnerability closures backported from V.2.1 development. It does not add any new functionality to the database engine."
Comments (none posted)
Version 4.2 of phpPgAdmin has been
announced.
"
Version 4.2 adds many new features, bug fixes and
updated translations over the previous version, and includes support for
PostgreSQL 8.3."
Comments (none posted)
The April 6, 2008 edition of the Postgres Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Version 2.0 of ZRM for MySQL has been
announced.
"
Zmanda Recovery Manager (ZRM) for MySQL is an easy to use, flexible and robust backup and recovery manager for MySQL. It provides scheduling, reporting, RSS & email notification, backup verification, compression, encryption and supports custom plugins.
Version 2.0 of Zmanda Recovery Manager (ZRM) for MySQL, a robust and
intelligent solution for backup and recovery of MySQL databases is now available.
Significant feature is the support for Solaris platform and backups using ZFS snapshots (in addition to LVM snapshots)".
Comments (none posted)
Networking Tools
Version 2.3.0 of Mandriva Directory Server has been announced.
"
The Mandriva Directory Server (MDS) is a Free Software project that
features:
* user authentication and management thanks to LDAP
* an extensible, nice looking and AJAX powered PHP web interface called
MMC (Mandriva Management Console), provided with 5 modules:
* Users and groups management
* SAMBA accounts and shares management
* DNS/DHCP management
* Email delivery management
* Web proxy blacklist management
* a Python dedicated management API for LDAP, SAMBA, and SQUID (core of
the MDS and the MMC)
* a policy system, that will allow to define users right on network
ressource"
Full Story (comments: 1)
Printing
Version 1.3.7 of CUPS, the Common UNIX Printing System, has been
announced.
"
The new release includes three security fixes and several printing and authentication fixes. We encourage all CUPS users to update to the current release."
Comments (none posted)
Security
Version 5.0 of OpenSSH has been announced, it features a security fix
for a vulnerability involving the hijacking of X11-forwarded connections.
"
OpenSSH is a 100% complete SSH protocol version 1.3, 1.5 and 2.0
implementation and includes sftp client and server support."
Full Story (comments: 49)
Web Site Development
Release 1.3.41 of the Apache-SSL web server has been announced, several
security vulnerabilities have been patched.
"
Apache-SSL provides environment variables that are filled with
(client) certificate data. If the subject of a client certificate
contains special characters, parts of these variables can be overwritten
or be filled with other parts of memory."
Full Story (comments: none)
Desktop Applications
Audio Applications
New releases of jack_capture and Snd-ls have been announced,
the former has some new capabilities added and both include bug fixes.
"
jack_capture is a program for recording soundfiles with jack. Its default
operation is to capture whatever sound is going out to your speakers into
a file."
"Snd-ls is a distribution of Bill Schottstaedt's sound editor SND."
Full Story (comments: none)
Business Applications
Version 0.5 of TPM Manager has been
announced.
"
The goal of this project is the development of a TPM management software providing an easy to use graphical user interface. The TPM Manager will be developed under Linux, but later releases should be usable with all operating systems providing a TSS API.
The new version of TPM Manager is compatible with TPM 1.2 and TrouSerS 3.1. It would be followed by a new version supporting more features of the TPM."
Comments (none posted)
Desktop Environments
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
Version 0.0.4 of xpra has been announced.
"
I'm pleased to announce the second public release of xpra, and the
first that is likely to stand up to real use by people who aren't me.
Xpra is 'screen for X' -- it allows you to run X programs, usually on
a remote host, direct their display to your local machine, and then
to disconnect from these programs and reconnect from the same or
another machine, without losing any state. It is licensed under the
GPLv2+."
Full Story (comments: none)
The following new Xorg software has been announced this week:
More information can be found on the
X.Org Foundation wiki.
Comments (1 posted)
Games
The WorldForge game project has
announced
the release of libwfut 0.2.0.
"
WFUT is a content distribution system initially intended to provide media updates for WorldForge clients. libwfut is a C++ implementation of the client side functionality.
This release contains a swig generated python interface, download mirror selection, improved error reporting, control over the number of simultaneous downloads and numerous other bug fixes and improvements."
Comments (none posted)
Interoperability
Version 0.9.59 of Wine has been
announced.
Changes include:
Improved support for the .NET framework,
Better services handling through a separate services.exe process,
Support for ATI fragment shader, Better support for http proxies,
Window management fixes, Pre-compiled fonts are now available in the sourcetree, and Lots of bug fixes.
Comments (none posted)
Version 0.7.4 of wineasio has been
announced.
"
wineasio provides an ASIO to JACK driver for WINE. ASIO is the most common Windows low-latency driver, so is commonly used in audio workstation programs. (Wine's built-in JACK transport isn't a Windows ASIO driver.) I've just uploaded a new tarball with the latest code from HEAD to make it easier for people who prefer that vs SVN. This version has a number of changes that address possible performance issues. However, can I ask that if you're having xruns with 0.7.x, you try 0.5. If you don't have xrun with 0.5, please let us know."
Comments (none posted)
Music Applications
Version 0.9.3 of Strasheela has been announced, it adds some new features
and includes some bug fixes.
"
Strasheela is a highly expressive constraint-based music composition
system. Users declaratively state a music theory and the computer
generates music which complies with this theory. A theory is
formulated as a constraint satisfaction problem (CSP) by a set of
rules (constraints) applied to a music representation in which some
aspects are expressed by variables (unknowns). Music constraint
programming is style-independent and is well-suited for highly
complex theories (e.g. a fully-fledged theory of harmony). Results
can be output into various formats including MIDI, Lilypond, and Csound."
Full Story (comments: none)
Miscellaneous
Version 0.44 of Duplicate Files Finder has been
announced.
"
Duplicate Files Finder is an application which allows you to easily find and remove duplicate files. Creating hardlinks and symbolic links is also supported. A special algorithm minimizes the disk traffic, so it is very fast. Runs on Windows and Linux.
This release fixes mainly remaining speed issues."
Comments (1 posted)
Version 0.6.0 of pytagsfs, a FUSE filesystem that arranges media files in
a virtual directory structure based on the file tags, has been announced.
"
This release
includes significant enhancements as well as critical bug fixes".
Full Story (comments: none)
Languages and Tools
Caml
The April 1-8, 2008 edition of the Caml Weekly News
is out with new articles about the Caml language.
Full Story (comments: none)
Java
Version 1.5.4 of OpenSwing has been
announced, it includes numerous improvements.
"
OpenSwing is a component library that provides a rich set of advanced graphics components and a framework for developing java applications based on Swing front-end. It can be applied both to rich client applications and Rich Internet Applications."
Comments (none posted)
GCJ,
the GNU Compiler for the Java Programming Language
has added new support for the Eclipse IDE.
"
Keith Seitz and Kyle Galloway have made considerable progress on GCJ's implementation of the JDWP. It is now possible to use eclipse to debug interpreted Java code using libgcj as the VM."
Comments (1 posted)
Perl
Use Perl presents
a report
on the state of Perl 6 on Parrot.
"
This is a long-overdue report on the state of Perl 6 on Parrot (now "Rakudo Perl") development. In late 2007 I had been writing progress reports on a regular basis as as part of a grant from the Mozilla Foundation (MF) and The Perl Foundation (TPF), but in early January I had to pause work on the grant and my reporting to take care of a family emergency. I'm very glad that things have now settled down and that I can focus energy back on Perl again.
In spite of my distractions, a lot of progress has been made on Rakudo since last the last major report I wrote in December 2007."
Comments (none posted)
The March 23-29, 2008 edition of
This Week on perl5-porters is out with the latest Perl 5 news.
Comments (none posted)
Python
Two alpha releases of the Python language have been announced.
"
Please note that these are alpha releases, and as such are not
suitable for production environments. We continue to strive for a
high degree of quality, but there are still some known problems and
the feature sets have not been finalized. These alphas are being
released to solicit feedback and hopefully discover bugs, as well as
allowing you to determine how changes in 2.6 and 3.0 might impact
you."
Full Story (comments: none)
The April 7, 2008 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
The April 3, 2008 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Build Tools
The Dolt project has been created to address build time issues
with Libtool.
"
Many packages use GNU autotools (automake and autoconf) to build, to
the point that "./configure && make" represents one of the most common
build procedures for Free Software packages. Libraries using
autotools typically use GNU Libtool, partly because it works on almost
any system and partly because autotools makes it difficult to do
otherwise. Packages which use these libraries sometimes use libtool
as well.
Yet for many of these libraries and other packages, more than half of
the build time goes into running the libtool shell script."
Full Story (comments: 2)
Libraries
Version 0.9.1 of libfishsound has been announced, this is a maintenance
release.
"
libfishsound provides a simple programming interface for decoding and
encoding audio data using Xiph.Org codecs (FLAC, Speex and Vorbis)."
Full Story (comments: none)
Stable version 1.6.1 of MathGL has been
announced.
"
MathGL library makes wide spectrum of mathematical graphics (plots, surfaces, contours, isosurfaces and so on) in platform independent way. Graphics may be exported to EPS, SVG, PNG, JPEG or TIFF formats.
Front-end for library is based on FLTK and GLUT libraries. Also it is possible to draw plot in console regime directly to the file (bitmap, PostScript or SVG) without using X-server. Output graphics is adopted to use with wxWidgets, Qt and other libraries. New features: support of named columns, new plots and many other improvements."
Comments (none posted)
Test Suites
Version 0.0115 of Test-Run, a modular and improved harness
for automated test scripts based the Test Anything Protocol, has been announced.
"
The highlights of this release are:
* The core Test-Run core code was fully re-written as a BSD-style licence (the
MIT X11 Licence). Some perl5-style (GPL+Artistic) code remains as old (and
possibly out-of-date) documentation and in the test harness, and is
explicitly marked as such in the POD.
* Due to this licence-induced rewrite and due to other unrelated work, there
has been a lot of refactoring and factoring out of the code of Test-Run and
its quality has been improved."
Full Story (comments: none)
Version Control
Version 1.5.5 of the GIT distributed version control system
has been announced, this release includes several new features and bug fixes.
"
We kept this cycle just slightly over two months, as the
previous 1.5.4 cycle was painfully tooooo long."
Full Story (comments: none)
Miscellaneous
The other half of the "hard to misuse" list is now
available on kernel hacker Rusty Russell's weblog. "
Here begins our descent into hell; if an interface manages to achieve negative scores on the Hard To Misuse List, your users may detect the dull red glow of malignancy rather than incompetence." We linked to the
the positive half of his list earlier in the week.
Comments (45 posted)
Page editor: Forrest Cook
Next page: Linux in the news>>