This script is run in the root directory of the dockapps repo to generate the
file used by the Window Maker website to store all of the information in the
dockapps section.  Note that this file will then be submitted to the whome repo.
---
 dockapps.db.in     | 364 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 update-dockapps.pl | 112 +++++++++++++++++
 2 files changed, 476 insertions(+)
 create mode 100644 dockapps.db.in
 create mode 100755 update-dockapps.pl

diff --git a/dockapps.db.in b/dockapps.db.in
new file mode 100644
index 0000000..84ba1f6
--- /dev/null
+++ b/dockapps.db.in
@@ -0,0 +1,364 @@
+[AlsaMixer.app]
+image = AlsaMixer.app.png
+description = "AlsaMixer.app is simple mixer application for Linux with ALSA 
drivers (>= 0.9.x)."
+url =
+dockapps = 253
+category = Audio
+
+[Temperature.app]
+image = "Temp-app.png,Temperature.gif"
+description = "Temperature.app is a Window Maker applet which fetches local 
temperature information every 15 minutes from http://weather.noaa.gov and 
displays it (in Celsius or Fahrenheit)."
+url = 
"https://web.archive.org/web/20071020004554/http://www.fukt.hk-r.se/~per/temperature/";
+dockapps = 86
+category = General/Others
+
+[wmMatrix]
+image = wmMatrix.gif
+description = "A DockApp thats runs a slightly modified version of Jamie 
Zawinski's xmatrix screenhack."
+url = 
"https://web.archive.org/web/20040722180350/http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml";
+dockapps = 10
+category = Date/Time
+
+[wmSMPmon]
+image = wmSMPmon-SMP_style1.jpg
+description = "* Current CPU utilization of up to two CPUs
+* On dual CPU systems, three different styles for the utilization graph are 
available.
+* Up to two minutes history of CPU utilization
+* Current memory usage
+* Current swap usage
+* Currently supports Linux kernel 2.2, 2.4 and 2.6"
+url = "http://lancre.ribbrock.org/en/binabit_en/wmsmpmon_en.html";
+dockapps = 299
+category = System Monitoring
+
+[wmacpi]
+image = wmacpi.gif
+description = "This is port of WMApm 1.1 (see below) with ACPI support. Check 
README, and please report success/failure issues to me. Since I can't determine 
"time remaining" from the information provided, its value has been replaced 
with "system power load", which is roughly how much power is being used while 
on-battery. Note, this (for now) only supports laptops with one system battery. 
I am working with kernel acpi people to standartize power reporting interface, 
and when it's usable, WMApm will be updated to support any number of batteries, 
and provide full information about ACPI power sources. Right now, all I can say 
is that it works on my laptop :)"
+url = "http://www.ne.jp/asahi/linux/timecop/";
+dockapps = 32
+category = System Monitoring
+
+[wmacpiload]
+image = wmacpiload1.png
+description = "An app for monitoring CPU temp and battery time from ACPI. In 
the style of wmcpuload and wmapmload"
+url =
+dockapps = 168
+category = System Monitoring
+
+[wmauda]
+image = x1.miff.png
+description = "This is a port of wmxmms to GTK 2.x and Audacious."
+url =
+dockapps = 330
+category = Audio
+
+[wmbatteries]
+image = wmbatteries.gif
+description = "wmbatteries - a dockapp based on wmacpiload.
+monitors up to 2 battery capacities, remaining time, current power consumption 
and cpu temperature.
+requires recent acpi kernel"
+url =
+dockapps = 216
+category = System Monitoring
+
+[wmbiff]
+image = wmbiff.jpg
+description = "WMBiff is an WindowMaker docking utility, that displays the 
number of read
+and unread messages in up to five mailboxes.
+You can also define actions to execute on new mail arrival (for example,
+play a sound file), [auto]fetchmail from a remote server or to execute your
+mail reader with a mouse click. WMBiff also supports notification of
+incoming Licq messages, so you can put Licq in the background.
+.
+At this moment, wmbiff supports unix-style, maildir, pop3, APOP, IMAP
+and IMAPS mailboxes, as well as Licq and GnomeICU history files."
+url = "http://wmbiff.sourceforge.net/";
+dockapps = 97
+category = E-mail
+
+[wmbutton]
+image = wmbutton5.jpg
+description = "Wmbuttons is simple little application that I wrote (and am in 
the process of updating). It is specifically designed to be docked in 
Windowmaker, or 'Swallowed' by wharf in Afterstep. If you're not familiar with 
these windowmanagers, check them out in the links section. Of course, it should 
work in just about any window manager.
+
+
+Wmbutton is a 64x64 pixel application that displays nine buttons. Each of 
these buttons can be configured via a configuration file to run just about any 
application you'd like to. Basically, if you can type it in a shell command, 
wmbutton can run it. The graphics of in each button may, of course, be changed 
as well. "
+url = 
"https://web.archive.org/web/20040417092638/http://members.cox.net/ehf_dockapps/";
+dockapps = 241
+category = General/Others
+
+[wmCalClock]
+image = wmCalClock4.gif
+description = "A Calendar clock with antialiased text."
+url = 
"https://web.archive.org/web/20040722180350/http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml";
+dockapps = 9
+category = Date/Time
+
+[wmcalendar]
+image = wmcalendar.png
+description = "A dockapp calendar with monthly view and interface to iCalendar 
based calendars like Ximian Evolution or Mozilla calendar."
+url = "http://wmcalendar.sourceforge.net/";
+dockapps = 171
+category = Date/Time
+
+[wmckgmail]
+image = "wmckgmail-screenshot.jpg,wmckgmail-screenshot2.jpg"
+description = "wmckgmail is a very simple program used to monitor the number 
of unread mails in a gmail inbox. It uses the wget command to get the gmail 
atom feed and reads the number of new mails from this feed.
+
+This app is based on the wmgeneral code."
+url =
+dockapps = 316
+category = E-mail
+
+[wmcpuload]
+image = "wmcpuload2.png,wmcpuload3.png"
+description = "A simple program to monitor CPU usage."
+url = 
https://web.archive.org/web/20080505022830/http://seiichisato.jp/dockapps/
+dockapps = 36
+category = System Monitoring
+
+
+[wmfemon]
+image = wmfemon.png
+description = "WindowMaker DVB frontend monitor dock applet.
+Tested with skystar2. "
+url =
+dockapps = 338
+category = System Monitoring
+
+[wmfu]
+image = wmfu-1.0.png
+description = "wmfu displays all sorts of information about your Linux 
(laptop) system. It is designed for WindowMaker, but can also be run in other 
window managers. It does not need external custom libraries, but does need a 
recent kernel, since it uses ACPI and proc/sys pseudo-filesystems to read 
system data."
+url =
+dockapps = 329
+category = System Monitoring
+
+[wmifinfo]
+image = led.gif
+description = "wmifinfo is a simple applet showing basic network info for all 
available interfaces. It shows IP address, netmask, gateway and MAC address. A 
bit like ifconfig."
+url = http://zevv.nl/play/code/wmifinfo/
+dockapps = 72
+category = Network
+
+[wmitime]
+image = wmitime1.jpg
+description = "WMitime is yet another clock dock app (and quite overglorified 
at that! :)
+it shows standard time, date, as well as the new internet time (see 
www.swatch.com)"
+url = 
https://web.archive.org/web/20040204094101/http://www.neotokyo.org/illusion/dock_apps.html
+dockapps = 22
+category = Date/Time
+
+[wmix]
+image = "wmix.gif,wmix-3.2.jpg"
+description = "Dockapp mixer for OSS or ALSA. Allows toggling record source, 
muting individual channels, adjusting volume and balance, all in a compact 
dockapp size, with TV-like on-screen-display for volume levels. Supports 
mousewheel to adjust current channel volume, and can be controlled remotely 
with SIGUSR1 / SIGUSR2 to adjust the volume, too. Can use a configuration file 
to control some of the features."
+url = http://www.ne.jp/asahi/linux/timecop/
+dockapps = 58
+category = Audio
+
+[wmkeys]
+image = wmkeys.png
+description = "wmkeys is a Window Maker and AfterStep dock app which allows 
you to quickly switch between different X keymaps, for example QWERTY and 
Dvorak. The source includes QWERTY and Dvorak keymappings. Other keymappings 
can be made with JWZ's xkeycaps."
+url = http://www.goesgens.de/wmkeys.html
+dockapps = 215
+category = General/Others
+
+[wmmixer]
+image = wmmixer.gif
+description = "Mixer application designed for WindowMaker.
+wmmixer displays the mixer status of your computer in a small icon.
+Most common channels are identified with an appropriate icon. Control
+include a stereo (mono where appropriate) volume control and a recording
+source toggle button.
+
+It is possible to change between the different channels using two small
+buttons (previous channel, next channel) and to change the volume of the
+channel.
+
+There's nothing in the program that makes it require WindowMaker, except maybe
+the NeXTStep look and the fact that it properly docks. It can be used with
+other window managers without problems."
+url =
+dockapps = 101
+category = Audio
+
+[wmmixer-alsa]
+image = wmmixer-alsa.gif
+description = "A hack of WMMixer to use the ALSA sound drivers."
+url = 
"https://web.archive.org/web/20050311202958/http://bohemians.org/~iznogood/wmmixer-alsa/";
+dockapps = 63
+category = Audio
+
+[wmmon]
+image = wmmon.gif
+description = "Window Maker dockapp for monitoring system information WMMon 
monitors the realtime CPU load as well as the average system load, and gives 
you some nice additional features too. It is intended for docking in Window 
Maker.
+
+ It currently provides:
+
+   * a realtime CPU stress meter;
+   * an auto-scaled average system load meter, like xload and wmavgload;
+   * a realtime disk I/O stress meter;
+   * auto-scaled disk I/O load meter;
+   * realtime memory and swap usage meters;
+   * a display for system uptime;
+   * three user-defined commands to launch."
+url =
+dockapps =
+category = System Monitoring
+
+[wmmoonclock]
+image = wmMoonClock5.png
+description = "Shows lunar ephemeris to fairly high accuracy."
+url =  
"https://web.archive.org/web/20040722180350/http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml";
+dockapps = 14
+category = General/Others
+
+[wmnet]
+image = wmnet.gif
+description = "WMnet is a little X dock.app network monitor I wrote for Linux. 
It was originally inspired by that funky program 'tleds' that blinks your 
keyboard LED's in response to net traffic, but its a lot more entertaining than 
that nowadays. I wrote this thing with low cpusage, low memory, and efficient 
use of screen real-estate in mind."
+url = 
https://web.archive.org/web/20050403180151/http://www.digitalkaos.net/linux/wmnet/
+dockapps = 77
+category = Network
+
+[wmnotify]
+image = mailbox2.png
+description = "Wmnotify is an E-mail checker for a single POP3 or IMAP4 
mailbox, with optional SSL encryption. Notification of new messages is done 
with a simple graphics animation and/or by playing a sound (WAV or AIFF 
format)."
+url = "http://www.hugovil.com/projet.php?proj=wmnotify&lang=en_US";
+dockapps = 163
+category = E-mail
+
+[wmpager]
+image = wmpager.png
+description = "wmpager is a simple pager docklet for the Window Maker.
+
+wmpager offers the following features:
+
+* convenient workspace switching using the mouse for up to nine workspaces
+* automatic configuration according to the number of workspaces (you may 
however if you like also specify the number of workspaces and the layour of 
wmpager yourself)
+* automagic adjustment to the currently active workspace (if you happen to 
switch workspaces using the keyboard or some other Window Maker means)
+* configurable look and feel to match your Window Maker theme
+* tooltips for the workspace names (if you happen to have to many workspaces 
and can't remember which is which ;-))"
+url = http://wmpager.sourceforge.net/
+dockapps = 109
+category = General/Others
+
+[wmpower]
+image = wmpower.gif
+description = "wmpower is a Window Maker dock application for linux allowing 
the user to graphically see (and set) the power management status of his 
laptop. It supports both APM and ACPI kernels, plus it interfaces directly to 
toshiba hardware (but should work with every laptop)."
+url = http://wmpower.sourceforge.net/
+dockapps = 164
+category = System Monitoring
+
+[wmppp.app]
+image = wmppp.jpg
+description = "PPP dial control and network load monitor with NeXTStep look
+wmppp.app provides a PPP activator and network load monitor on a 64x64 mini 
window. With wmppp you can monitor the total traffic as well as the outbound 
and inbound traffic. It is designed to work with the WindowMaker dock, but will 
work great with other window managers as well."
+url =
+dockapps = 99
+category = Network
+
+[wmsm.app]
+image = wmsm1.png
+description = "WindowMaker System Monitor"
+url =
+dockapps = 208
+category = System Monitoring
+
+[wmsmixer]
+image = ss-wmsmixer2.png
+description = "This is a hack to wmmixer which makes some changes to the 
display and adds a few new features, most notably scrollwheel support."
+url = 
https://web.archive.org/web/20050404084709/http://www.hibernaculum.net/wmsmixer.html
+dockapps = 63
+category = Audio
+
+[wmstickynotes]
+image =
+description = "This program is a Window Maker style dockapp which allows you 
to create note windows.  By default, the notes, along with their position, 
size, and color, are stored in files and will be restored when wmstickynotes is 
run again."
+url = https://sourceforge.net/projects/wmstickynotes/
+dockapps =
+category = General/Others
+
+[wmsupermon]
+image = "wmsupermon1.png,wms122.gif,wmsupermon122.gif"
+description = "Universal Monitoring Dockapp.
+Can be used to monitor
+1. CPU usage
+2. disk i/o
+3. memory
+4. swap
+5. filesystems - space utilization
+6. network traffic
+7. wireless link quality
+8. cpu frequency
+9. CPU temperature, fan speed, voltages (no lm_sensors required!)
+10. battery status (with actual - not guessed - discharge rate!)
+11. traffic from yuor router
+12. anything else :) "
+url =
+dockapps = 320
+category = System Monitoring
+
+[wmtime]
+image = wmtime.png
+description = "WMTime displays the time and date and gives you some nice 
additional features too. It is intended for docking in Window Maker.
+
+It currently provides:
+
+* the time and date;
+
+* a realtime morphing interface (analog <> digital mode);
+
+* auto-scaled and anti-aliased hands;
+
+* localization, displaying the day and date in various languages;
+
+* three user-defined commands to launch."
+url = 
https://web.archive.org/web/19991104043355/http://windowmaker.mezaway.org/dockapps/wmtime.html
+dockapps = 324
+category = Date/Time
+
+[wmtv]
+image = wmtv.png
+description = "Dockable video4linux TV player for WindowMaker"
+url = 
"https://web.archive.org/web/20000831082905/http://www.student.uwa.edu.au/~wliang/";
+dockapps =
+category = General/Others
+
+[wmtz]
+image = wmtz.jpg
+description = "wmtz displays the time in different time zones as defined in 
it's configuration file. It can also display the current Julian Day Number, 
sidereal time and swatch beats."
+url = 
https://web.archive.org/web/20091027110712/http://geocities.com/jl1n/wmtz/wmtz.html
+dockapps = 24
+category = Date/Time
+
+[wmweather+]
+image = "wmweather+.png,wmweather+2.png,wmweather+4.png"
+description = "wmweather+ will download the National Weather Serivce METAR 
bulletins, ANV and MRF forecasts, and any weather map for display in a 
WindowMaker dockapp. Think wmweather with a smaller font, forecasts, a weather 
map, and a sky condition display.
+
+Please see the sourceforge page for the latest version."
+url = https://sourceforge.net/projects/wmweatherplus/
+dockapps = 112
+category = General/Others
+
+[wmWeather]
+image = wmWeather.gif
+description = "Shows local weather conditions."
+url = 
"https://web.archive.org/web/20040722180350/http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml";
+dockapps = 17
+category = General/Others
+
+[wmwifi]
+image = wmwifi-screenshot-0.5.gif
+description = "wmwifi is a wireless network interface monitor dockapp for the 
Window Maker desktop. It is designed to fit well with dockapps like wmcpuload 
and wmnetload.
+wmwifi relys on the Wireless Exntension being enabled in the kernel."
+url = 
"https://web.archive.org/web/20080723160021/http://wmwifi.digitalssg.net/";
+dockapps = 222
+category = Network
+
+[wmwlmon]
+image = wmwlmon.png
+description = "wmwlmon is a wmdockapp which shows the state of a wireless 
network interface. In the title you see the network interface name and a led 
showing if the interface link is active. As next you see the signal strength 
from the conntected access point in dB (decibel). The bar shows the signal 
strength in percents. If the bar is full, it means that you have the full 
throughput of the bandwidth displayed in Mbps. As next you see the channel 
number. A red lock shines if WEP is enabled. The last line shows the network 
id."
+url = http://www.nazgul.ch/dev_wmwlmon.html
+dockapps =
+category = Network
+
+
+
diff --git a/update-dockapps.pl b/update-dockapps.pl
new file mode 100755
index 0000000..53dde71
--- /dev/null
+++ b/update-dockapps.pl
@@ -0,0 +1,112 @@
+#!/usr/bin/perl
+
+# Update http://windowmaker.org/dockapps from git
+#
+# Copyright 2014 Window Maker Developers Team
+#                <wmaker-dev@lists.windowmaker.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# DESCRIPTION
+#
+# After every commit to the dockapps git repository, run this script to
+# update dockapps/dockapps.db, the plain text config file that stores all
+# of the information for the dockapps section of windowmaker.org.
+#
+# The script uses git to determine the version numbers and tarball download
+# urls.  Everything else is pulled in from dockapps.db.in, which is
+# manually updated.
+#
+# The format of each dockapp entry in dockapps.db.in is:
+#
+# [dockapp name]
+# image = (file name of image; in double quotes and comma-separated if more
+#   than one image)
+# description = (description, possibly taken from archive.org copy of
+#   dockapps.windowmaker.org; in double quotes)
+# url = (use archive.org copy if original homepage no longer exists)
+# dockapps = (currently unused; id number from dockapps.windowmaker.org)
+# category = (category from dockapps.windowmaker.org)
+#
+# After generating a new dockapps.db, submit a patch for the whome git repo
+# to wmaker-dev@lists.windowmaker.org.
+
+use warnings;
+use strict;
+use Git::Repository;
+use POSIX;
+
+open DB, "dockapps.db.in" or die $!;
+my $db = do { local $/; <DB> };
+close DB;
+
+my $r = Git::Repository->new();
+my @tags = $r->run("tag");
+my %dockapps;
+
+foreach my $tag (@tags) {
+       $tag =~ /([\w\-+.]+)-([\w.]+)/;
+       my $dockapp = $1;
+       my $version = $2;
+       my $ls = $r->run("ls-tree", $tag, $dockapp);
+#for older tags from before directory renaming
+       if (!$ls) {
+               $ls = $r->run("ls-tree", $tag, $tag);
+       }
+#for wmfemon_1
+       if (!$ls) {
+               $ls = $r->run("ls-tree", $tag, "$dockapp" . "_$version");
+       }
+       my $sha1 = (split(/\s/, $ls))[2];
+       $dockapps{$dockapp}{$version} = $sha1;
+}
+
+foreach my $dockapp (keys %dockapps) {
+       my $latest_version = (sort keys $dockapps{$dockapp})[-1];
+       if ($r->run("diff", "$dockapp-$latest_version", "HEAD", $dockapp)) {
+               my $commit = $r->run("log", "-1",
+                                 "--pretty=format:%H", $dockapp);
+               my $date = strftime("%Y%m%d", localtime($r->run("log", "-1",
+                                 "--pretty=format:%ct", $dockapp)));
+#throw out dockapps whose last commit was stripping version names from dirs
+               unless ($commit eq "eea379d83350ced6166099ebc8f41ff4e3fa1f42") {
+                       my $ls = $r->run("ls-tree", $commit, $dockapp);
+                       if (!$ls) {
+                               $ls = $r->run("ls-tree", $commit,
+                                             "$dockapp-$latest_version");
+                       }
+                       my $sha1 = (split(/\s/, $ls))[2];
+                       $dockapps{$dockapp}{"$latest_version+$date"} = $sha1;
+               }
+       }
+}
+
+
+foreach my $dockapp (keys %dockapps) {
+       my $versions = "";
+       foreach my $version (reverse sort keys $dockapps{$dockapp}) {
+               $versions .= "version-$version = " .
+                   $dockapps{$dockapp}{$version} . "\n";
+       }
+       my $search = quotemeta "[$dockapp]\n";
+       $db =~ s/$search/[$dockapp]\n$versions/;
+}
+
+open DB, ">dockapps.db" or die $!;
+print DB $db;
+close DB;
+
+
+
+
-- 
1.9.1


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to