Import
authorThomas Thurman <tthurman@gnome.org>
Tue, 26 May 2009 17:42:05 +0000 (13:42 -0400)
committerThomas Thurman <tthurman@gnome.org>
Tue, 26 May 2009 17:42:05 +0000 (13:42 -0400)
47 files changed:
Makefile [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/cron.d.ex [new file with mode: 0644]
debian/dirs [new file with mode: 0644]
debian/emacsen-install.ex [new file with mode: 0644]
debian/emacsen-remove.ex [new file with mode: 0644]
debian/emacsen-startup.ex [new file with mode: 0644]
debian/files [new file with mode: 0644]
debian/init.d.ex [new file with mode: 0644]
debian/manpage.1.ex [new file with mode: 0644]
debian/manpage.sgml.ex [new file with mode: 0644]
debian/manpage.xml.ex [new file with mode: 0644]
debian/menu.ex [new file with mode: 0644]
debian/postinst.ex [new file with mode: 0644]
debian/postrm.ex [new file with mode: 0644]
debian/preinst.ex [new file with mode: 0644]
debian/prerm.ex [new file with mode: 0644]
debian/rfk-default.ex [new file with mode: 0644]
debian/rfk.doc-base.EX [new file with mode: 0644]
debian/rfk.substvars [new file with mode: 0644]
debian/rfk/DEBIAN/control [new file with mode: 0644]
debian/rfk/DEBIAN/md5sums [new file with mode: 0644]
debian/rfk/usr/bin/rfk [new file with mode: 0755]
debian/rfk/usr/share/applications/hildon/rfk.desktop [new file with mode: 0755]
debian/rfk/usr/share/doc/rfk/README.Debian [new file with mode: 0644]
debian/rfk/usr/share/doc/rfk/changelog.Debian.gz [new file with mode: 0644]
debian/rfk/usr/share/doc/rfk/copyright [new file with mode: 0644]
debian/rfk/usr/share/icons/64x64/hildon/rfk.png/rfk.png [new file with mode: 0755]
debian/rfk/usr/share/pixmaps/rfk-dimmed.xpm [new file with mode: 0755]
debian/rfk/usr/share/pixmaps/rfk-kitten.png [new file with mode: 0755]
debian/rfk/usr/share/pixmaps/rfk-love.png [new file with mode: 0755]
debian/rfk/usr/share/pixmaps/rfk-robot.png [new file with mode: 0755]
debian/rfk/usr/share/pixmaps/rfk.xpm [new file with mode: 0755]
debian/rules [new file with mode: 0755]
debian/watch.ex [new file with mode: 0644]
rfk-dimmed.xpm [new file with mode: 0644]
rfk-kitten.png [new file with mode: 0644]
rfk-love.png [new file with mode: 0644]
rfk-robot.png [new file with mode: 0644]
rfk.c [new file with mode: 0644]
rfk.desktop [new file with mode: 0644]
rfk.png [new file with mode: 0644]
rfk.xpm [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..45ec877
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,24 @@
+# yes, handwritten makefile
+
+all: rfk
+
+rfk: rfk.c
+       gcc -Wall -g rfk.c -o rfk `pkg-config --cflags --libs gtk+-2.0` `pkg-config hildon-1 --cflags --libs`
+
+clean:
+       rm -f rfk
+
+# some of these are not needed, or are possibly in the wrong place
+install: rfk rfk.xpm rfk.desktop
+       install -d ${DESTDIR}/usr/bin
+       install rfk ${DESTDIR}/usr/bin
+       install -d ${DESTDIR}/usr/share/applications/hildon
+       install rfk.desktop ${DESTDIR}/usr/share/applications/hildon
+       install -d ${DESTDIR}/usr/share/pixmaps
+       install rfk.xpm ${DESTDIR}/usr/share/pixmaps
+       install rfk-dimmed.xpm ${DESTDIR}/usr/share/pixmaps
+       install rfk-robot.png ${DESTDIR}/usr/share/pixmaps
+       install rfk-love.png ${DESTDIR}/usr/share/pixmaps
+       install rfk-kitten.png ${DESTDIR}/usr/share/pixmaps
+       install -d ${DESTDIR}/usr/share/icons/64x64/hildon/rfk.png
+       install rfk.png ${DESTDIR}/usr/share/icons/64x64/hildon/rfk.png
\ No newline at end of file
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..bf64b94
--- /dev/null
@@ -0,0 +1,8 @@
+rfk for Debian
+--------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- 
+
+ <<tthurman@gnome.org>>  Thu, 19 Mar 2009 21:33:32 -0400
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..422f307
--- /dev/null
@@ -0,0 +1,13 @@
+rfk (1.10-1) unstable; urgency=low
+
+  * Add keypresses
+  * Add closing animation
+
+ -- Thomas Thurman <tthurman@gnome.org>  Sun, 24 May 2009 21:33:32 -0400
+
+rfk (0.02-1) unstable; urgency=low
+
+  * Initial release
+
+ -- Thomas Thurman <tthurman@gnome.org>  Thu, 19 Mar 2009 21:33:32 -0400
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..e3c1911
--- /dev/null
@@ -0,0 +1,14 @@
+Source: rfk
+Section: unknown
+Priority: extra
+Maintainer: Thomas Thurman <tthurman@gnome.org>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.2
+
+Package: rfk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: robot finds kitten for maemo
+  robotfindskitten is a "Zen simulation," originally written
+  by Leonard Richardson for DOS.  The user must find a kitten
+  in a field of random entities.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..210831a
--- /dev/null
@@ -0,0 +1,39 @@
+This package was debianized by 
+
+ <<tthurman@gnome.org>> on
+Thu, 19 Mar 2009 21:33:32 -0400.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+   This package 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 2 of the License, or
+   (at your option) any later version.
+
+   This package 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 package; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is (C) 2009, 
+
+ <<tthurman@gnome.org>> and
+is licensed under the GPL, see above.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/debian/cron.d.ex b/debian/cron.d.ex
new file mode 100644 (file)
index 0000000..b37c9ec
--- /dev/null
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the rfk package
+#
+0 4    * * *   root    rfk_maintenance
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..ca882bb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/debian/emacsen-install.ex b/debian/emacsen-install.ex
new file mode 100644 (file)
index 0000000..a127d40
--- /dev/null
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/rfk
+
+# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=rfk
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+#FLAVORTEST=`echo $FLAVOR | cut -c-6`
+#if [ ${FLAVORTEST} = xemacs ] ; then
+#    SITEFLAG="-no-site-file"
+#else
+#    SITEFLAG="--no-site-file"
+#fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist. 
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+    echo install/${PACKAGE}: install Info links for ${FLAVOR}
+    install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+FILES=`echo *.el`
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
diff --git a/debian/emacsen-remove.ex b/debian/emacsen-remove.ex
new file mode 100644 (file)
index 0000000..c233d14
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/rfk
+
+FLAVOR=$1
+PACKAGE=rfk
+
+if [ ${FLAVOR} != emacs ]; then
+    if test -x /usr/sbin/install-info-altdir; then
+        echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+        install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/rfk.info.gz
+    fi
+
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
diff --git a/debian/emacsen-startup.ex b/debian/emacsen-startup.ex
new file mode 100644 (file)
index 0000000..4944050
--- /dev/null
@@ -0,0 +1,25 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50rfk.el
+;; for the Debian rfk package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
+
+;; The rfk package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...).  The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+                           (symbol-name flavor)
+                           "/site-lisp/rfk")))
+;; If package-dir does not exist, the rfk package must have
+;; removed but not purged, and we should skip the setup.
+  (when (file-directory-p package-dir)
+        (setq load-path (cons package-dir load-path))
+       (autoload 'rfk-mode "rfk-mode"
+         "Major mode for editing rfk files." t)
+       (add-to-list 'auto-mode-alist '("\\.rfk$" . rfk-mode))))
+
diff --git a/debian/files b/debian/files
new file mode 100644 (file)
index 0000000..99874a6
--- /dev/null
@@ -0,0 +1 @@
+rfk_1.10-1_armel.deb unknown extra
diff --git a/debian/init.d.ex b/debian/init.d.ex
new file mode 100644 (file)
index 0000000..4bad193
--- /dev/null
@@ -0,0 +1,81 @@
+#! /bin/sh
+#
+# skeleton     example file to build /etc/init.d/ scripts.
+#              This file should be used to construct scripts for /etc/init.d.
+#
+#              Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+#              Modified for Debian 
+#              by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version:     @(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/rfk
+NAME=rfk
+DESC=rfk
+
+test -x $DAEMON || exit 0
+
+# Include rfk defaults if available
+if [ -f /etc/default/rfk ] ; then
+       . /etc/default/rfk
+fi
+
+set -e
+
+case "$1" in
+  start)
+       echo -n "Starting $DESC: "
+       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+               --exec $DAEMON -- $DAEMON_OPTS
+       echo "$NAME."
+       ;;
+  stop)
+       echo -n "Stopping $DESC: "
+       start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+               --exec $DAEMON
+       echo "$NAME."
+       ;;
+  #reload)
+       #
+       #       If the daemon can reload its config files on the fly
+       #       for example by sending it SIGHUP, do it here.
+       #
+       #       If the daemon responds to changes in its config file
+       #       directly anyway, make this a do-nothing entry.
+       #
+       # echo "Reloading $DESC configuration files."
+       # start-stop-daemon --stop --signal 1 --quiet --pidfile \
+       #       /var/run/$NAME.pid --exec $DAEMON
+  #;;
+  force-reload)
+       #
+       #       If the "reload" option is implemented, move the "force-reload"
+       #       option to the "reload" entry above. If not, "force-reload" is
+       #       just the same as "restart" except that it does nothing if the
+       #   daemon isn't already running.
+       # check wether $DAEMON is running. If so, restart
+       start-stop-daemon --stop --test --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON \
+       && $0 restart \
+       || exit 0
+       ;;
+  restart)
+    echo -n "Restarting $DESC: "
+       start-stop-daemon --stop --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON
+       sleep 1
+       start-stop-daemon --start --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+       echo "$NAME."
+       ;;
+  *)
+       N=/etc/init.d/$NAME
+       # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+       echo "Usage: $N {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex
new file mode 100644 (file)
index 0000000..af81236
--- /dev/null
@@ -0,0 +1,61 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH RFK SECTION "March 19, 2009"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+rfk \- program to do something
+.SH SYNOPSIS
+.B rfk
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B rfk
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
+.\" respectively.
+\fBrfk\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+rfk was written by <upstream author>.
+.PP
+This manual page was written by 
+
+ <<tthurman@gnome.org>>,
+for the Debian project (but may be used by others).
diff --git a/debian/manpage.sgml.ex b/debian/manpage.sgml.ex
new file mode 100644 (file)
index 0000000..f23c437
--- /dev/null
@@ -0,0 +1,158 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+       docbook-to-man $< > $@
+
+    
+       The docbook-to-man binary is found in the docbook-to-man package.
+       Please remember that if you create the nroff version in one of the
+       debian/rules file targets (such as build), you will need to include
+       docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>March 19, 2009</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email><tthurman@gnome.org></email>">
+  <!ENTITY dhusername  "
+
+">
+  <!ENTITY dhucpackage "<refentrytitle>RFK</refentrytitle>">
+  <!ENTITY dhpackage   "rfk">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+         later version published by the Free Software Foundation.
+    </para>
+       <para>
+         On Debian systems, the complete text of the GNU General Public
+         License can be found in /usr/share/common-licenses/GPL.
+       </para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
diff --git a/debian/manpage.xml.ex b/debian/manpage.xml.ex
new file mode 100644 (file)
index 0000000..5fa32cd
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'.  A manual page
+<package>.<section> will be generated.  You may view the
+manual page with: nroff -man <package>.<section> | less'.  A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+        $(XP) $(DB2MAN) $<
+    
+The xsltproc binary is found in the xsltproc package.  The
+XSL files are in docbook-xsl.  Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>March 19, 2009</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email><tthurman@gnome.org></email>">
+  <!ENTITY dhusername  "
+
+">
+  <!ENTITY dhucpackage "<refentrytitle>RFK</refentrytitle>">
+  <!ENTITY dhpackage   "rfk">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+         later version published by the Free Software Foundation.
+    </para>
+       <para>
+         On Debian systems, the complete text of the GNU General Public
+         License can be found in /usr/share/common-licenses/GPL.
+       </para>
+
+  </refsect1>
+</refentry>
+
diff --git a/debian/menu.ex b/debian/menu.ex
new file mode 100644 (file)
index 0000000..98e6dcc
--- /dev/null
@@ -0,0 +1,2 @@
+?package(rfk):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
+  title="rfk" command="/usr/bin/rfk"
diff --git a/debian/postinst.ex b/debian/postinst.ex
new file mode 100644 (file)
index 0000000..498bd5c
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+# postinst script for rfk
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/postrm.ex b/debian/postrm.ex
new file mode 100644 (file)
index 0000000..fc02378
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+# postrm script for rfk
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/preinst.ex b/debian/preinst.ex
new file mode 100644 (file)
index 0000000..6461592
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+# preinst script for rfk
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/prerm.ex b/debian/prerm.ex
new file mode 100644 (file)
index 0000000..1674579
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+# prerm script for rfk
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/rfk-default.ex b/debian/rfk-default.ex
new file mode 100644 (file)
index 0000000..153aa38
--- /dev/null
@@ -0,0 +1,10 @@
+# Defaults for rfk initscript
+# sourced by /etc/init.d/rfk
+# installed at /etc/default/rfk by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
diff --git a/debian/rfk.doc-base.EX b/debian/rfk.doc-base.EX
new file mode 100644 (file)
index 0000000..f8de53c
--- /dev/null
@@ -0,0 +1,22 @@
+Document: rfk
+Title: Debian rfk Manual
+Author: <insert document author here>
+Abstract: This manual describes what rfk is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/rfk/rfk.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/rfk/rfk.ps.gz
+
+Format: text
+Files: /usr/share/doc/rfk/rfk.text.gz
+
+Format: HTML
+Index: /usr/share/doc/rfk/html/index.html
+Files: /usr/share/doc/rfk/html/*.html
+
+  
diff --git a/debian/rfk.substvars b/debian/rfk.substvars
new file mode 100644 (file)
index 0000000..4df3fbd
--- /dev/null
@@ -0,0 +1 @@
+shlibs:Depends=libatk1.0-0 (>= 1.24.0), libc6 (>= 2.5.0-1), libcairo2, libglib2.0-0 (>= 2.14.6-1osso1), libgtk2.0-0 (>= 2:2.12.9-0osso1), libhildon1, libpango1.0-0
diff --git a/debian/rfk/DEBIAN/control b/debian/rfk/DEBIAN/control
new file mode 100644 (file)
index 0000000..c795508
--- /dev/null
@@ -0,0 +1,12 @@
+Package: rfk
+Version: 1.10-1
+Architecture: armel
+Maintainer: Thomas Thurman <tthurman@gnome.org>
+Installed-Size: 136
+Depends: libatk1.0-0 (>= 1.24.0), libc6 (>= 2.5.0-1), libcairo2, libglib2.0-0 (>= 2.14.6-1osso1), libgtk2.0-0 (>= 2:2.12.9-0osso1), libhildon1, libpango1.0-0
+Section: unknown
+Priority: extra
+Description: robot finds kitten for maemo
+  robotfindskitten is a "Zen simulation," originally written
+  by Leonard Richardson for DOS.  The user must find a kitten
+  in a field of random entities.
diff --git a/debian/rfk/DEBIAN/md5sums b/debian/rfk/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..249e000
--- /dev/null
@@ -0,0 +1,11 @@
+ae49e00df16627f86b7422d08b95546e  usr/bin/rfk
+dfacf4bd6c9d172806bceb7429c3f048  usr/share/applications/hildon/rfk.desktop
+6a2c985bb5e7c7baee6b7aea59753f62  usr/share/doc/rfk/README.Debian
+6590e0e7968e1524f2620bb21b87a00c  usr/share/doc/rfk/copyright
+d8b365a9ec92209ed203432b592c58f7  usr/share/doc/rfk/changelog.Debian.gz
+8099b288f87bab7b4d65e7991f21b0f9  usr/share/icons/64x64/hildon/rfk.png/rfk.png
+a5801d6fdc65f61729492d46c9e93c53  usr/share/pixmaps/rfk-love.png
+c62dd0fd8f1f201bd77201b810efbd4b  usr/share/pixmaps/rfk.xpm
+c3c0256b5f2ec5c27752704c8387804c  usr/share/pixmaps/rfk-dimmed.xpm
+16d6cf6483896425691a0fd3965d4258  usr/share/pixmaps/rfk-robot.png
+67b9dc8e9e620bb2478f633c5cf57bcc  usr/share/pixmaps/rfk-kitten.png
diff --git a/debian/rfk/usr/bin/rfk b/debian/rfk/usr/bin/rfk
new file mode 100755 (executable)
index 0000000..1b77126
Binary files /dev/null and b/debian/rfk/usr/bin/rfk differ
diff --git a/debian/rfk/usr/share/applications/hildon/rfk.desktop b/debian/rfk/usr/share/applications/hildon/rfk.desktop
new file mode 100755 (executable)
index 0000000..26c7beb
--- /dev/null
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.10
+Type=Application
+Name=robotfindskitten
+Comment=robot finds kitten
+Exec=/usr/bin/rfk
+Icon=rfk
+X-Icon-path=/usr/share/pixmaps/
+
+
diff --git a/debian/rfk/usr/share/doc/rfk/README.Debian b/debian/rfk/usr/share/doc/rfk/README.Debian
new file mode 100644 (file)
index 0000000..bf64b94
--- /dev/null
@@ -0,0 +1,8 @@
+rfk for Debian
+--------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- 
+
+ <<tthurman@gnome.org>>  Thu, 19 Mar 2009 21:33:32 -0400
diff --git a/debian/rfk/usr/share/doc/rfk/changelog.Debian.gz b/debian/rfk/usr/share/doc/rfk/changelog.Debian.gz
new file mode 100644 (file)
index 0000000..39b58b7
Binary files /dev/null and b/debian/rfk/usr/share/doc/rfk/changelog.Debian.gz differ
diff --git a/debian/rfk/usr/share/doc/rfk/copyright b/debian/rfk/usr/share/doc/rfk/copyright
new file mode 100644 (file)
index 0000000..210831a
--- /dev/null
@@ -0,0 +1,39 @@
+This package was debianized by 
+
+ <<tthurman@gnome.org>> on
+Thu, 19 Mar 2009 21:33:32 -0400.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+   This package 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 2 of the License, or
+   (at your option) any later version.
+
+   This package 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 package; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is (C) 2009, 
+
+ <<tthurman@gnome.org>> and
+is licensed under the GPL, see above.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/debian/rfk/usr/share/icons/64x64/hildon/rfk.png/rfk.png b/debian/rfk/usr/share/icons/64x64/hildon/rfk.png/rfk.png
new file mode 100755 (executable)
index 0000000..96b71fa
Binary files /dev/null and b/debian/rfk/usr/share/icons/64x64/hildon/rfk.png/rfk.png differ
diff --git a/debian/rfk/usr/share/pixmaps/rfk-dimmed.xpm b/debian/rfk/usr/share/pixmaps/rfk-dimmed.xpm
new file mode 100755 (executable)
index 0000000..651f467
--- /dev/null
@@ -0,0 +1,169 @@
+/* XPM */
+static char * rfk_dimmed_xpm[] = {
+"32 26 140 2",
+"      c None",
+".     c #0B0B0B",
+"+     c #121212",
+"@     c #191919",
+"#     c #232323",
+"$     c #2D2D2D",
+"%     c #373737",
+"&     c #3C3C3C",
+"*     c #363636",
+"=     c #2C2C2C",
+"-     c #1F1F1F",
+";     c #242424",
+">     c #333333",
+",     c #2F2F2F",
+"'     c #272727",
+")     c #1C1C1C",
+"!     c #131313",
+"~     c #060606",
+"{     c #030303",
+"]     c #020202",
+"^     c #010101",
+"/     c #080808",
+"(     c #0D0D0D",
+"_     c #161616",
+":     c #545454",
+"<     c #535353",
+"[     c #656565",
+"}     c #4A4A4A",
+"|     c #393939",
+"1     c #2A2A2A",
+"2     c #212121",
+"3     c #434343",
+"4     c #494949",
+"5     c #4C4C4C",
+"6     c #404040",
+"7     c #313131",
+"8     c #1E1E1E",
+"9     c #111111",
+"0     c #000000",
+"a     c #040404",
+"b     c #090909",
+"c     c #353535",
+"d     c #797979",
+"e     c #6C6C6C",
+"f     c #464646",
+"g     c #292929",
+"h     c #2B2B2B",
+"i     c #4E4E4E",
+"j     c #7A7A7A",
+"k     c #6B6B6B",
+"l     c #686868",
+"m     c #3A3A3A",
+"n     c #0F0F0F",
+"o     c #808080",
+"p     c #5C5C5C",
+"q     c #6D6D6D",
+"r     c #777777",
+"s     c #555555",
+"t     c #444444",
+"u     c #3D3D3D",
+"v     c #767676",
+"w     c #696969",
+"x     c #252525",
+"y     c #101010",
+"z     c #050505",
+"A     c #FF0000",
+"B     c #0E0E0E",
+"C     c #202020",
+"D     c #585858",
+"E     c #626262",
+"F     c #787878",
+"G     c #575757",
+"H     c #505050",
+"I     c #5F5F5F",
+"J     c #6F6F6F",
+"K     c #7C7C7C",
+"L     c #262626",
+"M     c #323232",
+"N     c #4F4F4F",
+"O     c #747474",
+"P     c #454545",
+"Q     c #7D7D7D",
+"R     c #727272",
+"S     c #303030",
+"T     c #7B7B7B",
+"U     c #7E7E7E",
+"V     c #757575",
+"W     c #666666",
+"X     c #3E3E3E",
+"Y     c #222222",
+"Z     c #343434",
+"`     c #4B4B4B",
+" .    c #515151",
+"..    c #5E5E5E",
+"+.    c #606060",
+"@.    c #525252",
+"#.    c #4D4D4D",
+"$.    c #565656",
+"%.    c #5A5A5A",
+"&.    c #6E6E6E",
+"*.    c #595959",
+"=.    c #818181",
+"-.    c #828282",
+";.    c #737373",
+">.    c #0C0C0C",
+",.    c #383838",
+"'.    c #5B5B5B",
+").    c #878787",
+"!.    c #717171",
+"~.    c #939393",
+"{.    c #676767",
+"].    c #8C8C8C",
+"^.    c #3F3F3F",
+"/.    c #1B1B1B",
+"(.    c #151515",
+"_.    c #858585",
+":.    c #707070",
+"<.    c #898989",
+"[.    c #616161",
+"}.    c #484848",
+"|.    c #3B3B3B",
+"1.    c #424242",
+"2.    c #6A6A6A",
+"3.    c #7F7F7F",
+"4.    c #2E2E2E",
+"5.    c #1A1A1A",
+"6.    c #414141",
+"7.    c #141414",
+"8.    c #8B8B8B",
+"9.    c #848484",
+"0.    c #888888",
+"a.    c #5D5D5D",
+"b.    c #474747",
+"c.    c #1D1D1D",
+"d.    c #646464",
+"e.    c #838383",
+"f.    c #636363",
+"g.    c #909090",
+"h.    c #9D9D9D",
+"i.    c #A0A0A0",
+". + @ # $ % & & * = # - - ; = > % * , ' ) ! . ~ { ] ] ] ] ] ^ ^ ",
+"/ ( _ ; * : < [ } | 1 2 # $ & 3 4 5 6 7 8 9 / { ^ 0 0 0 0 0 0 0 ",
+"a b + # c d : d e f > g h | i j k l l m 2 n ~ ] 0 0 0 0 0 0 0 0 ",
+"^ ~ n 2 * o p q r s t | u 5 [ j v w w 3 x y z A A 0 A A 0 0 0 0 ",
+"^ z B C c o D E F f G H : I r J K w w f L n A A A A A A A 0 0 0 ",
+"0 a B - M o N p O j s P s 5 Q l R w w 3 ; B a A A A A A 0 0 0 0 ",
+"0 a B 8 S d 4 < : K d Q T U V [ W l l X Y B a 0 A A A 0 0 0 0 0 ",
+"0 a B 8 Z w 5 N < ` < : D  ...+.E ..@.u 2 B a ^ 0 A 0 0 0 0 0 0 ",
+"0 a B - > V N G < s  .#.N $.%.W &.W W 3 ' + b z { ] ^ 0 0 0 0 0 ",
+"0 a B C * o *.O =.o < #.N W o -.;.w w H 7 ) + B >.b ~ { ^ 0 0 0 ",
+"0 a B 2 ,.o '.).!.~.{. .< K ;.].V w w p ^.= Y 8 /.(.B / { ^ 0 0 ",
+"0 a B - c o D _.:.].:  .@.T :.<.!.w w [.}.|.M , 1 # /.y / { 0 0 ",
+"0 a ( ) S K < w V V : #.5 1.r v !.w w 2.Q U U 3.U V ; /.B ~ ] 0 ",
+"0 a ( ) 4.{.` H  . .i 5 } ` #.< G  .i } & * * Z * * Z g 5.( a ^ ",
+"^ z B 8 M 6.4 ` } 5 i l t } f }.5 i 5 P m M , 7 ,.| !.% ' 7./ ] ",
+"] / 7.g u N : s @.@.q 8.d t 5 N s G $.#.X 7 h $ ,.3 Q k c 8 B a ",
+"{ . ) S O 3.v k R : < -.r f @.:.k Q U 2.< 1.| | 1.N &.T ^.g 7.b ",
+"a B - * T <.K l q l t u m u e e &.9.0.e e a.< H : *.D v 1.Z 8 y ",
+"/ + Y ,.X +.4 G ` u M h 1 4.m #.%.i : w v F v F F :.$.R F 6 4.C ",
+"+ ) 1 % 1.b.}.f X > L ) @ ) L ,. .2.j k l w l w l W H ` k ` f & ",
+"L M |.^.u |.u 6.6 ,.g ) ! ! ) $ f I O +.[ %.@.5 f 6 X t #.e q E ",
+"P 4 J w 4 3 f i :.q m g c.) Y Z 5 d K d.D 4 6 |.% Z c ^.: e =.%.",
+"{.9.=.2.E '.+.Q ).:.$.P ,.* |.` p 0.+.:.a.#.t 6 X u 6.5 E Q K 2.",
+"q 8.D 0.e.K T _.:.e.j e f.[.d.:.r 0.H ).r k d.E E E d.q Q g.Q e ",
+": K =.!.&.:.&.r =.V !.&.J :.&.:.: F O w J :.&.&.J :.J &.e W o s ",
+"l e.@.< J :.J h.Q [ e !.:.:.:.:.: i.F !.!.:.R !.!.!.J !.:.J !.8."};
diff --git a/debian/rfk/usr/share/pixmaps/rfk-kitten.png b/debian/rfk/usr/share/pixmaps/rfk-kitten.png
new file mode 100755 (executable)
index 0000000..82538e9
Binary files /dev/null and b/debian/rfk/usr/share/pixmaps/rfk-kitten.png differ
diff --git a/debian/rfk/usr/share/pixmaps/rfk-love.png b/debian/rfk/usr/share/pixmaps/rfk-love.png
new file mode 100755 (executable)
index 0000000..8057dac
Binary files /dev/null and b/debian/rfk/usr/share/pixmaps/rfk-love.png differ
diff --git a/debian/rfk/usr/share/pixmaps/rfk-robot.png b/debian/rfk/usr/share/pixmaps/rfk-robot.png
new file mode 100755 (executable)
index 0000000..cab9b0b
Binary files /dev/null and b/debian/rfk/usr/share/pixmaps/rfk-robot.png differ
diff --git a/debian/rfk/usr/share/pixmaps/rfk.xpm b/debian/rfk/usr/share/pixmaps/rfk.xpm
new file mode 100755 (executable)
index 0000000..962ce4f
--- /dev/null
@@ -0,0 +1,91 @@
+/* XPM */
+static char * rfk_xpm[] = {
+"32 26 62 1",
+"      c None",
+".     c #050505",
+"+     c #0A0A0A",
+"@     c #0B0B0B",
+"#     c #020202",
+"$     c #000000",
+"%     c #545454",
+"&     c #656565",
+"*     c #090909",
+"=     c #030303",
+"-     c #797979",
+";     c #6C6C6C",
+">     c #7A7A7A",
+",     c #6B6B6B",
+"'     c #686868",
+")     c #808080",
+"!     c #6D6D6D",
+"~     c #777777",
+"{     c #010101",
+"]     c #696969",
+"^     c #FF0000",
+"/     c #787878",
+"(     c #272727",
+"_     c #6F6F6F",
+":     c #747474",
+"<     c #0D0D0D",
+"[     c #323232",
+"}     c #0E0E0E",
+"|     c #494949",
+"1     c #7D7D7D",
+"2     c #070707",
+"3     c #7C7C7C",
+"4     c #7B7B7B",
+"5     c #7E7E7E",
+"6     c #757575",
+"7     c #0C0C0C",
+"8     c #040404",
+"9     c #666666",
+"0     c #818181",
+"a     c #828282",
+"b     c #878787",
+"c     c #939393",
+"d     c #676767",
+"e     c #8C8C8C",
+"f     c #858585",
+"g     c #898989",
+"h     c #717171",
+"i     c #1B1B1B",
+"j     c #767676",
+"k     c #6A6A6A",
+"l     c #7F7F7F",
+"m     c #080808",
+"n     c #0F0F0F",
+"o     c #8B8B8B",
+"p     c #727272",
+"q     c #707070",
+"r     c #6E6E6E",
+"s     c #060606",
+"t     c #848484",
+"u     c #888888",
+"v     c #606060",
+"w     c #3E3E3E",
+".+@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#",
+"$$$$$%$&$$$$$$$*+==$$$$$$$$$$$$$",
+"$$$$.-+-;$$$$$$>,''$$$$$$$$$$$$$",
+"$$$$.).!~$$$$$&>{]]$$$$^^$^^$$$$",
+"$$$$.).=/($$$$~_$]]$$$^^^^^^^$$$",
+"$$$$.).$:><[}|12$]]$$$$^^^^^$$$$",
+"$$$$.-.$.3-1456$$''$$$$$^^^$$$$$",
+"$$$$$]$$$<=#$7$$$88$$$$$$^$$$$$$",
+"$$$$.6.$8$$$$$8{$99$$$$$$$$$$$$$",
+"$$$$.).:0){$$9)a+]]$$$$$$$$$$$$$",
+"$$$$.)+b$cd$$3$e6]]$$$$$$$$$$$$$",
+"$$$$.)@f$e%$$4$gh]]{.#8888$$$$$$",
+"$$$$.3.]66$$$i~j$]]k155l56@$$$$$",
+"$$$$$d$$$$$$$${$$mm8@727+m#$$$$$",
+"$$$$$$$$$$#'n$$$$$$$$$$$$7h#$$$$",
+"$$$$={=$$$!o-}$$$={$$$$$$=1,$$$$",
+"$$$2:lj,p$$a~7$q,15k$$$$$$r4#$$$",
+"$$$24g3'!'{s+*;;rtu;$$$$$$.j@$$$",
+"$$$$[vi$$$$$$$$$*[%]j/j//qsp/$$$",
+"$$$$$$$$$$$$$$$$$$$<']']'9$.,#$$",
+"$$$$$$$$$$$$$$$$${:v$$$$$$$$=;!$",
+"$7_]$$$#q!$$$$$$$-3=$$$$$$$$$;0(",
+"$t0k$$$1bq{$$$$$.uv$$$$$$$$$$$3k",
+"!o[8$$#fq=$$$$$$su|$$$$$$$$$$$1;",
+"%30hrqr~06hr_qrq%/:(_qrr_q_r;9)w",
+"##||_q_si[;hqqqq|7/hhqphhh_hq_h$"};
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..362376f
--- /dev/null
@@ -0,0 +1,98 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0
+else
+       CFLAGS += -O2
+endif
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp 
+       dh_testdir
+
+       # Add here commands to compile the package.
+       $(MAKE)
+       #docbook-to-man debian/rfk.sgml > rfk.1
+
+       touch $@
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+       -$(MAKE) clean
+
+       dh_clean 
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/rfk.
+       $(MAKE) DESTDIR=$(CURDIR)/debian/rfk install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+#      dh_install
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_makeshlibs
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/debian/watch.ex b/debian/watch.ex
new file mode 100644 (file)
index 0000000..da9ee37
--- /dev/null
@@ -0,0 +1,22 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage 
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php rfk-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/rfk-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/rfk-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for debscripts >= 2.9
+# http://sf.net/rfk/rfk-(.*)\.tar\.gz
+
+
diff --git a/rfk-dimmed.xpm b/rfk-dimmed.xpm
new file mode 100644 (file)
index 0000000..651f467
--- /dev/null
@@ -0,0 +1,169 @@
+/* XPM */
+static char * rfk_dimmed_xpm[] = {
+"32 26 140 2",
+"      c None",
+".     c #0B0B0B",
+"+     c #121212",
+"@     c #191919",
+"#     c #232323",
+"$     c #2D2D2D",
+"%     c #373737",
+"&     c #3C3C3C",
+"*     c #363636",
+"=     c #2C2C2C",
+"-     c #1F1F1F",
+";     c #242424",
+">     c #333333",
+",     c #2F2F2F",
+"'     c #272727",
+")     c #1C1C1C",
+"!     c #131313",
+"~     c #060606",
+"{     c #030303",
+"]     c #020202",
+"^     c #010101",
+"/     c #080808",
+"(     c #0D0D0D",
+"_     c #161616",
+":     c #545454",
+"<     c #535353",
+"[     c #656565",
+"}     c #4A4A4A",
+"|     c #393939",
+"1     c #2A2A2A",
+"2     c #212121",
+"3     c #434343",
+"4     c #494949",
+"5     c #4C4C4C",
+"6     c #404040",
+"7     c #313131",
+"8     c #1E1E1E",
+"9     c #111111",
+"0     c #000000",
+"a     c #040404",
+"b     c #090909",
+"c     c #353535",
+"d     c #797979",
+"e     c #6C6C6C",
+"f     c #464646",
+"g     c #292929",
+"h     c #2B2B2B",
+"i     c #4E4E4E",
+"j     c #7A7A7A",
+"k     c #6B6B6B",
+"l     c #686868",
+"m     c #3A3A3A",
+"n     c #0F0F0F",
+"o     c #808080",
+"p     c #5C5C5C",
+"q     c #6D6D6D",
+"r     c #777777",
+"s     c #555555",
+"t     c #444444",
+"u     c #3D3D3D",
+"v     c #767676",
+"w     c #696969",
+"x     c #252525",
+"y     c #101010",
+"z     c #050505",
+"A     c #FF0000",
+"B     c #0E0E0E",
+"C     c #202020",
+"D     c #585858",
+"E     c #626262",
+"F     c #787878",
+"G     c #575757",
+"H     c #505050",
+"I     c #5F5F5F",
+"J     c #6F6F6F",
+"K     c #7C7C7C",
+"L     c #262626",
+"M     c #323232",
+"N     c #4F4F4F",
+"O     c #747474",
+"P     c #454545",
+"Q     c #7D7D7D",
+"R     c #727272",
+"S     c #303030",
+"T     c #7B7B7B",
+"U     c #7E7E7E",
+"V     c #757575",
+"W     c #666666",
+"X     c #3E3E3E",
+"Y     c #222222",
+"Z     c #343434",
+"`     c #4B4B4B",
+" .    c #515151",
+"..    c #5E5E5E",
+"+.    c #606060",
+"@.    c #525252",
+"#.    c #4D4D4D",
+"$.    c #565656",
+"%.    c #5A5A5A",
+"&.    c #6E6E6E",
+"*.    c #595959",
+"=.    c #818181",
+"-.    c #828282",
+";.    c #737373",
+">.    c #0C0C0C",
+",.    c #383838",
+"'.    c #5B5B5B",
+").    c #878787",
+"!.    c #717171",
+"~.    c #939393",
+"{.    c #676767",
+"].    c #8C8C8C",
+"^.    c #3F3F3F",
+"/.    c #1B1B1B",
+"(.    c #151515",
+"_.    c #858585",
+":.    c #707070",
+"<.    c #898989",
+"[.    c #616161",
+"}.    c #484848",
+"|.    c #3B3B3B",
+"1.    c #424242",
+"2.    c #6A6A6A",
+"3.    c #7F7F7F",
+"4.    c #2E2E2E",
+"5.    c #1A1A1A",
+"6.    c #414141",
+"7.    c #141414",
+"8.    c #8B8B8B",
+"9.    c #848484",
+"0.    c #888888",
+"a.    c #5D5D5D",
+"b.    c #474747",
+"c.    c #1D1D1D",
+"d.    c #646464",
+"e.    c #838383",
+"f.    c #636363",
+"g.    c #909090",
+"h.    c #9D9D9D",
+"i.    c #A0A0A0",
+". + @ # $ % & & * = # - - ; = > % * , ' ) ! . ~ { ] ] ] ] ] ^ ^ ",
+"/ ( _ ; * : < [ } | 1 2 # $ & 3 4 5 6 7 8 9 / { ^ 0 0 0 0 0 0 0 ",
+"a b + # c d : d e f > g h | i j k l l m 2 n ~ ] 0 0 0 0 0 0 0 0 ",
+"^ ~ n 2 * o p q r s t | u 5 [ j v w w 3 x y z A A 0 A A 0 0 0 0 ",
+"^ z B C c o D E F f G H : I r J K w w f L n A A A A A A A 0 0 0 ",
+"0 a B - M o N p O j s P s 5 Q l R w w 3 ; B a A A A A A 0 0 0 0 ",
+"0 a B 8 S d 4 < : K d Q T U V [ W l l X Y B a 0 A A A 0 0 0 0 0 ",
+"0 a B 8 Z w 5 N < ` < : D  ...+.E ..@.u 2 B a ^ 0 A 0 0 0 0 0 0 ",
+"0 a B - > V N G < s  .#.N $.%.W &.W W 3 ' + b z { ] ^ 0 0 0 0 0 ",
+"0 a B C * o *.O =.o < #.N W o -.;.w w H 7 ) + B >.b ~ { ^ 0 0 0 ",
+"0 a B 2 ,.o '.).!.~.{. .< K ;.].V w w p ^.= Y 8 /.(.B / { ^ 0 0 ",
+"0 a B - c o D _.:.].:  .@.T :.<.!.w w [.}.|.M , 1 # /.y / { 0 0 ",
+"0 a ( ) S K < w V V : #.5 1.r v !.w w 2.Q U U 3.U V ; /.B ~ ] 0 ",
+"0 a ( ) 4.{.` H  . .i 5 } ` #.< G  .i } & * * Z * * Z g 5.( a ^ ",
+"^ z B 8 M 6.4 ` } 5 i l t } f }.5 i 5 P m M , 7 ,.| !.% ' 7./ ] ",
+"] / 7.g u N : s @.@.q 8.d t 5 N s G $.#.X 7 h $ ,.3 Q k c 8 B a ",
+"{ . ) S O 3.v k R : < -.r f @.:.k Q U 2.< 1.| | 1.N &.T ^.g 7.b ",
+"a B - * T <.K l q l t u m u e e &.9.0.e e a.< H : *.D v 1.Z 8 y ",
+"/ + Y ,.X +.4 G ` u M h 1 4.m #.%.i : w v F v F F :.$.R F 6 4.C ",
+"+ ) 1 % 1.b.}.f X > L ) @ ) L ,. .2.j k l w l w l W H ` k ` f & ",
+"L M |.^.u |.u 6.6 ,.g ) ! ! ) $ f I O +.[ %.@.5 f 6 X t #.e q E ",
+"P 4 J w 4 3 f i :.q m g c.) Y Z 5 d K d.D 4 6 |.% Z c ^.: e =.%.",
+"{.9.=.2.E '.+.Q ).:.$.P ,.* |.` p 0.+.:.a.#.t 6 X u 6.5 E Q K 2.",
+"q 8.D 0.e.K T _.:.e.j e f.[.d.:.r 0.H ).r k d.E E E d.q Q g.Q e ",
+": K =.!.&.:.&.r =.V !.&.J :.&.:.: F O w J :.&.&.J :.J &.e W o s ",
+"l e.@.< J :.J h.Q [ e !.:.:.:.:.: i.F !.!.:.R !.!.!.J !.:.J !.8."};
diff --git a/rfk-kitten.png b/rfk-kitten.png
new file mode 100644 (file)
index 0000000..82538e9
Binary files /dev/null and b/rfk-kitten.png differ
diff --git a/rfk-love.png b/rfk-love.png
new file mode 100644 (file)
index 0000000..8057dac
Binary files /dev/null and b/rfk-love.png differ
diff --git a/rfk-robot.png b/rfk-robot.png
new file mode 100644 (file)
index 0000000..cab9b0b
Binary files /dev/null and b/rfk-robot.png differ
diff --git a/rfk.c b/rfk.c
new file mode 100644 (file)
index 0000000..b93ac34
--- /dev/null
+++ b/rfk.c
@@ -0,0 +1,637 @@
+/*  robotfindskitten for maemo
+ *  original by Leonard Richardson, 1997
+ *  ported to maemo by Thomas Thurman, 2009
+ *  suggestions welcome
+ *  Compile with:
+ *  gcc -Wall -g rfk.c -o rfk `pkg-config --cflags --libs gtk+-2.0 hildon-1`
+ */
+
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <glib.h>
+#include <hildon/hildon.h>
+
+#define ARENA_WIDTH 25
+#define ARENA_HEIGHT 12
+
+const int amount_of_random_stuff = 15;
+
+const char *explanation =
+  "In this game, you are robot (#). "
+  "Your job is to find kitten. This task is complicated "
+  "by the existence of various things which are not kitten. "
+  "Robot must touch items to determine if they are kitten or "
+  "not. The game ends when robotfindskitten. You may move "
+  "robot about by tapping on any side of robot, or with the "
+  "cursor keys.";
+
+static char* messages[] =
+  {
+    "\"I pity the fool who mistakes me for kitten!\", sez Mr. T.",
+    "That's just an old tin can.",
+    "It's an altar to the horse god.",
+    "A box of dancing mechanical pencils. They dance! They sing!",
+    "It's an old Duke Ellington record.",
+    "A box of fumigation pellets.",
+    "A digital clock. It's stuck at 2:17 PM.",
+    "That's just a charred human corpse.",
+    "I don't know what that is, but it's not kitten.",
+    "An empty shopping bag. Paper or plastic?",
+    "Could it be... a big ugly bowling trophy?",
+    "A coat hanger hovers in thin air. Odd.",
+    "Not kitten, just a packet of Kool-Aid(tm).",
+    "A freshly-baked pumpkin pie.",
+    "A lone, forgotten comma, sits here, sobbing.",
+    "ONE HUNDRED THOUSAND CARPET FIBERS!!!!!",
+    "It's Richard Nixon's nose!",
+    "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says.",
+    "You stumble upon Bill Gates' stand-up act.",
+    "Just an autographed copy of the Kama Sutra.",
+    "It's the Will Rogers Highway. Who was Will Rogers, anyway?",
+    "It's another robot, more advanced in design than you but strangely immobile.",
+    "Leonard Richardson is here, asking people to lick him.",
+    "It's a stupid mask, fashioned after a beagle.",
+    "Your State Farm Insurance(tm) representative!",
+    "It's the local draft board.",
+    "Seven 1/4\" screws and a piece of plastic.",
+    "An 80286 machine.",
+    "One of those stupid \"Homes of the Stars\" maps.",
+    "A signpost saying \"TO KITTEN\". It points in no particular direction.",
+    "A hammock stretched between a tree and a volleyball pole.",
+    "A Texas Instruments of Destruction calculator.",
+    "It's a dark, amphorous blob of matter.",
+    "Just a pincushion.",
+    "It's a mighty zombie talking about some love and prosperity.",
+    "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"",
+    "It's just an object.",
+    "A mere collection of pixels.",
+    "A badly dented high-hat cymbal lies on its side here.",
+    "A marijuana brownie.",
+    "A plush Chewbacca.",
+    "Daily hunger conditioner from Australasia",
+    "Just some stuff.",
+    "Why are you touching this when you should be finding kitten?",
+    "A glorious fan of peacock feathers.",
+    "It's some compromising photos of Babar the Elephant.",
+    "A copy of the Weekly World News. Watch out for the chambered nautilus!",
+    "It's the proverbial wet blanket.",
+    "A \"Get Out of Jail Free\" card.",
+    "An incredibly expensive \"Mad About You\" collector plate.",
+    "Paul Moyer's necktie.",
+    "A haircut and a real job. Now you know where to get one!",
+    "An automated robot-hater. It frowns disapprovingly at you.",
+    "An automated robot-liker. It smiles at you.",
+    "It's a black hole. Don't fall in!",
+    "Just a big brick wall.",
+    "You found kitten! No, just kidding.",
+    "Heart of Darkness brand pistachio nuts.",
+    "A smoking branding iron shaped like a 24-pin connector.",
+    "It's a Java applet.",
+    "An abandoned used-car lot.",
+    "A shameless plug for Maemo.",
+    "A shameless plug for the UCLA Linux Users Group: http://linux.ucla.edu/",
+    "A can of Spam Lite.",
+    "This is another fine mess you've gotten us into, Stanley.",
+    "It's scenery for \"Waiting for Godot\".",
+    "This grain elevator towers high above you.",
+    "A Mentos wrapper.",
+    "It's the constellation Pisces.",
+    "It's a fly on the wall. Hi, fly!",
+    "This kind of looks like kitten, but it's not.",
+    "It's a banana! Oh, joy!",
+    "A helicopter has crashed here.",
+    "Carlos Tarango stands here, doing his best impression of Pat Smear.",
+    "A patch of mushrooms grows here.",
+    "A patch of grape jelly grows here.",
+    "A spindle, and a grindle, and a bucka-wacka-woom!",
+    "A geyser sprays water high into the air.",
+    "A toenail? What good is a toenail?",
+    "You've found the fish! Not that it does you much good in this game.",
+    "A Buttertonsils bar.",
+    "One of the few remaining discoes.",
+    "Ah, the uniform of a Revolutionary-era minuteman.",
+    "A punch bowl, filled with punch and lemon slices.",
+    "It's nothing but a G-thang, baby.",
+    "IT'S ALIVE! AH HA HA HA HA!",
+    "This was no boating accident!",
+    "Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!",
+    "A livery stable! Get your livery!",
+    "It's a perpetual immobility machine.",
+    "\"On this spot in 1962, Henry Winkler was sick.\"",
+    "There's nothing here; it's just an optical illusion.",
+    "The World's Biggest Motzah Ball!",
+    "A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you know.",
+    "This appears to be a rather large stack of trashy romance novels.",
+    "Look out! Exclamation points!",
+    "A herd of wild coffee mugs slumbers here.",
+    "It's a limbo bar! How low can you go?",
+    "It's the horizon. Now THAT'S weird.",
+    "A vase full of artificial flowers is stuck to the floor here.",
+    "A large snake bars your way.",
+    "A pair of saloon-style doors swing slowly back and forth here.",
+    "It's an ordinary bust of Beethoven... but why is it painted green?",
+    "It's TV's lovable wisecracking Crow! \"Bite me!\", he says.",
+    "Hey, look, it's war. What is it good for? Absolutely nothing. Say it again.",
+    "It's the amazing self-referential thing that's not kitten.",
+    "A flamboyant feather boa. Now you can dress up like Carol Channing!",
+    "\"Sure hope we get some rain soon,\" says Farmer Joe.",
+    "\"How in heck can I wash my neck if it ain't gonna rain no more?\" asks Farmer Al.",
+    "\"Topsoil's all gone, ma,\" weeps Lil' Greg.",
+    "This is a large brown bear. Oddly enough, it's currently peeing in the woods.",
+    "A team of arctic explorers is camped here.",
+    "This object here appears to be Louis Farrakhan's bow tie.",
+    "This is the world-famous Chain of Jockstraps.",
+    "A trash compactor, compacting away.",
+    "This toaster strudel is riddled with bullet holes!",
+    "It's a hologram of a crashed helicopter.",
+    "This is a television. On screen you see a robot strangely similar to yourself.",
+    "This balogna has a first name, it's R-A-N-C-I-D.",
+    "A salmon hatchery? Look again. It's merely a single salmon.",
+    "It's a rim shot. Ba-da-boom!",
+    "It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky.",
+    "This is an anagram.",
+    "This object is like an analogy.",
+    "It's a symbol. You see in it a model for all symbols everywhere.",
+    "The object pushes back at you.",
+    "A traffic signal. It appears to have been recently vandalized.",
+    "\"There is no kitten!\" cackles the old crone. You are shocked by her blasphemy.",
+    "This is a Lagrange point. Don't come too close now.",
+    "The dirty old tramp bemoans the loss of his harmonica.",
+    "Look, it's Fanny the Irishman!",
+    "What in blazes is this?",
+    "It's the instruction manual for a previous version of this game.",
+    "A brain cell. Oddly enough, it seems to be functioning.",
+    "Tea and/or crumpets.",
+    "This jukebox has nothing but Cliff Richards albums in it.",
+    "It's a Quaker Oatmeal tube, converted into a drum.",
+    "This is a remote control. Being a robot, you keep a wide berth.",
+    "It's a roll of industrial-strength copper wire.",
+    "Oh boy! Grub! Er, grubs.",
+    "A puddle of mud, where the mudskippers play.",
+    "Plenty of nothing.",
+    "Look at that, it's the Crudmobile.",
+    "Just Walter Mattheau and Jack Lemmon.",
+    "Two crepes, two crepes in a box.",
+    "An autographed copy of \"Primary Colors\", by Anonymous.",
+    "Another rabbit? That's three today!",
+    "It's a segmentation fault. Core dumped, by the way.",
+    "A historical marker showing the actual location of /dev/null.",
+    "Thar's Mobius Dick, the convoluted whale. Arrr!",
+    "It's a charcoal briquette, smoking away.",
+    "A pizza, melting in the sun.",
+    "It's a \"HOME ALONE 2: Lost in New York\" novelty cup.",
+    "A stack of 7 inch floppies wobbles precariously.",
+    "It's nothing but a corrupted floppy. Coaster anyone?",
+    "A section of glowing phosphor cells sings a song of radiation to you.",
+    "This TRS-80 III is eerily silent.",
+    "A toilet bowl occupies this space.",
+    "This peg-leg is stuck in a knothole!",
+    "It's a solitary vaccuum tube.",
+    "This corroded robot is clutching a mitten.",
+    "\"Hi, I'm Anson Williams, TV's 'Potsy'.\"",
+    "This subwoofer was blown out in 1974.",
+    "Three half-pennies and a wooden nickel.",
+    "It's the missing chapter to \"A Clockwork Orange\".",
+    "It's a burrito stand flyer. \"Taqueria El Ranchito\".",
+    "This smiling family is happy because they eat LARD.",
+    "Roger Avery, persona un famoso de los Estados Unidos.",
+    "Ne'er but a potted plant.",
+    "A parrot, kipping on its back.",
+    "A forgotten telephone switchboard.",
+    "A forgotten telephone switchboard operator.",
+    "It's an automated robot-disdainer. It pretends you're not there.",
+    "It's a portable hole. A sign reads: \"Closed for the winter\".",
+    "Just a moldy loaf of bread.",
+    "A little glass tub of Carmex. ($.89) Too bad you have no lips.",
+    "A Swiss-Army knife. All of its appendages are out. (toothpick lost)",
+    "It's a zen simulation, trapped within an ASCII character.",
+    "It's a copy of \"The Rubaiyat of Spike Schudy\".",
+    "It's \"War and Peace\" (unabridged, very small print).",
+    "A willing, ripe tomato bemoans your inability to digest fruit.",
+    "A robot comedian. You feel amused.",
+    "It's KITT, the talking car.",
+    "Here's Pete Peterson. His batteries seem to have long gone dead.",
+    "\"Blup, blup, blup\", says the mud pot.",
+    "More grist for the mill.",
+    "Grind 'em up, spit 'em out, they're twigs.",
+    "The boom box cranks out an old Ethel Merman tune.",
+    "It's \"Finding kitten\", published by O'Reilly and Associates.",
+    "Pumpkin pie spice.",
+    "It's the Bass-Matic '76! Mmm, that's good bass!",
+    "\"Lend us a fiver 'til Thursday\", pleas Andy Capp.",
+    "It's a tape of '70s rock. All original hits! All original artists!",
+    "You've found the fabled America Online disk graveyard!",
+    "Empty jewelboxes litter the landscape.",
+    "It's the astounding meta-object.",
+    "Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES SIR!\"",
+    "...thingy???",
+    "It's 1000 secrets the government doesn't want you to know!",
+    "The letters O and R.",
+    "A magical... magic thing.",
+    "It's a moment of silence.",
+    "It's Sirhan-Sirhan, looking guilty.",
+    "It's \"Chicken Soup for the Kitten-seeking Soulless Robot.\"",
+    "It is a set of wind-up chatter teeth.",
+    "It is a cloud shaped like an ox.",
+    "You see a snowflake here, melting slowly.",
+    "It's a big block of ice. Something seems to be frozen inside it.",
+    "Vladimir Lenin's casket rests here.",
+    "It's a copy of \"Zen and The Art of Robot Maintenance\".",
+    "This invisible box contains a pantomime horse.",
+    "A mason jar lies here open. It's label reads: \"do not open!\".",
+    "A train of thought chugs through here.",
+    "This jar of pickles expired in 1957.",
+    "Someone's identity disk lies here.",
+    "\"Yes!\" says the bit.",
+    "\"No!\" says the bit.",
+    "A dodecahedron bars your way.",
+    "Mr. Hooper is here, surfing.",
+    "It's a big smoking fish.",
+    "You have new mail in /var/spool/robot",
+    "Just a monitor with the blue element burnt out.",
+    "A pile of coaxial plumbing lies here.",
+    "It's a rotten old shoe.",
+    "It's a hundred-dollar bill.",
+    "It's a Dvorak keyboard.",
+    "It's a cardboard box full of 8-tracks.",
+    "Just a broken hard drive containg the archives of Nerth Pork.",
+    "A broken metronome sits here, it's needle off to one side.",
+    "A sign reads: \"Go home!\"",
+    "A sign reads: \"No robots allowed!\"",
+    "It's the handheld robotfindskitten game, by Tiger.",
+    "This particular monstrosity appears to be ENIAC.",
+    "This is a tasty-looking banana creme pie.",
+    "A wireframe model of a hot dog rotates in space here.",
+    "Just the empty husk of a locust.",
+    "You disturb a murder of crows.",
+    "It's a copy of the robotfindskitten EULA.",
+    "It's Death.",
+    "It's an autographed copy of \"Secondary Colors,\" by Bob Ross.",
+    "It is a marzipan dreadnought that appears to have melted and stuck.",
+    "It's a DVD of \"Crouching Monkey, Hidden Kitten\", region encoded for the moon.",
+    "It's Kieran Hervold.  Damn dyslexia!"
+    "A non-descript box of crackers.",
+    "Carbonated Water, High Fructose Corn Syrup, Color, Phosphoric Acid, Flavors, Caffeine.",
+    "\"Move along! Nothing to see here!\"",
+    "It's the embalmed corpse of Vladimir Lenin.",
+    "A coupon for one free steak-fish at your local family diner.",
+    "A set of keys to a 2001 Rolls Royce. Worthless."
+  };
+
+GtkWidget *arena[ARENA_WIDTH][ARENA_HEIGHT];
+GtkWidget *table, *window, *robot, *kitten;
+int robot_x, robot_y;
+gboolean used[G_N_ELEMENTS (messages)] = { 0, };
+
+GdkPixbuf *robot_pic, *love_pic, *kitten_pic;
+GtkWidget *animation_area;
+
+const GdkColor black = { 0, };
+
+/****************************************************************/
+/* Random object descriptions.                                  */
+/****************************************************************/
+
+char *
+description (void)
+{
+  int r;
+   
+  do
+    {
+      r = random() % G_N_ELEMENTS (messages);
+    }
+  while (used[r]);
+
+  used[r] = TRUE;
+  return messages[r];
+       
+}
+
+/****************************************************************/
+/* Placing objects.                                             */
+/****************************************************************/
+
+void
+place_in_arena_at_xy (GtkWidget *item, int x, int y)
+{
+  arena[x][y] = item;
+
+  gtk_table_attach_defaults (GTK_TABLE (table),
+                            item,
+                            x, x+1,
+                            y, y+1);
+
+  if (item==robot)
+    {
+      robot_x = x;
+      robot_y = y;
+    }
+}
+
+void
+place_in_arena_randomly (GtkWidget *item)
+{
+  int x, y;
+   
+  do
+    {
+      x = random() % ARENA_WIDTH;
+      y = random() % ARENA_HEIGHT;
+    }
+  while (arena[x][y]);
+
+  place_in_arena_at_xy (item, x, y);
+}
+
+/****************************************************************/
+/* Labels representing things the robot might find.             */
+/****************************************************************/
+
+GtkWidget *
+random_character (gchar *description)
+{
+  gchar character[2] = { random() % ('~'-'!') + '!', 0 };
+  gchar *escaped_character = g_markup_escape_text (character, -1);
+  gchar *markup = g_strdup_printf ("<span color=\"#%02x%02x%02x\">%s</span>",
+                                  (int) (random() % 0x7F)+0x80,
+                                  (int) (random() % 0x7F)+0x80,
+                                  (int) (random() % 0x7F)+0x80,
+                                  escaped_character);
+  GtkWidget *result = gtk_label_new (NULL);
+  gtk_label_set_markup (GTK_LABEL (result), markup);
+  g_free (markup);
+  g_free (escaped_character);
+
+  g_object_set_data (G_OBJECT (result), "examine", description);
+
+  return result;
+}
+
+/****************************************************************/
+/* Talking back to the user.                                    */
+/****************************************************************/
+
+void
+show_message (const char *message)
+{
+  HildonNote* note = HILDON_NOTE
+    (hildon_note_new_information (GTK_WINDOW (window),
+                                 message));
+  gtk_dialog_run (GTK_DIALOG (note));
+  gtk_widget_destroy (GTK_WIDGET (note));
+}
+
+/****************************************************************/
+/* The ending animation.                                        */
+/****************************************************************/
+
+static gboolean
+ending_animation_quit (gpointer data)
+{
+  gtk_main_quit ();
+  return FALSE;
+}
+
+static gboolean
+ending_animation_draw (GtkWidget *widget, GdkEventExpose *event, gpointer data)
+{
+  /* We only run through once, so just make it static. */
+  static int cycle_count = 0;
+
+  static int robot_x = 0;
+  static int robot_stop = 0;
+  static int kitten_x = 0;
+  static int all_y = 0;
+
+  const int stepsize = 3;
+
+  if (!kitten_x)
+    {
+      all_y = (event->area.height - gdk_pixbuf_get_height (love_pic)) / 2;
+
+      robot_stop = gdk_pixbuf_get_width (robot_pic) + gdk_pixbuf_get_width (love_pic);
+      kitten_x = event->area.width - (cycle_count*stepsize + gdk_pixbuf_get_width (kitten_pic));
+    }
+
+  gdk_gc_set_foreground (widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                        &black);
+
+  gdk_draw_rectangle (GDK_DRAWABLE(widget->window),
+                     widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                     TRUE,
+                     0, 0, event->area.width, event->area.height);
+
+  gdk_draw_pixbuf (GDK_DRAWABLE(widget->window),
+                  widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                  robot_pic, 0, 0,
+                  robot_x, all_y,
+                  -1, -1,
+                  GDK_RGB_DITHER_NONE, 0, 0);
+
+  gdk_draw_pixbuf (GDK_DRAWABLE(widget->window),
+                  widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                  kitten_pic, 0, 0,
+                  kitten_x, all_y,
+                  -1, -1,
+                  GDK_RGB_DITHER_NONE, 0, 0);
+
+  cycle_count++;
+  robot_x += stepsize;
+  kitten_x -= stepsize;
+
+  if (robot_x+robot_stop >= kitten_x)
+    {
+      gdk_draw_pixbuf (GDK_DRAWABLE(widget->window),
+                      widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
+                      love_pic, 0, 0,
+                      robot_x + gdk_pixbuf_get_width (robot_pic), all_y,
+                      -1, -1,
+                      GDK_RGB_DITHER_NONE, 0, 0);
+
+      g_object_unref (love_pic);
+      love_pic = NULL;
+
+      g_timeout_add (2000, ending_animation_quit, NULL);
+    }
+
+  return TRUE;
+}
+
+static gboolean
+ending_animation_step (gpointer data)
+{
+  if (love_pic)
+    {
+      gdk_window_invalidate_rect (animation_area->window,
+                                 NULL, TRUE);
+
+      return TRUE;
+    }
+  else
+    return FALSE;
+}
+
+static void
+ending_animation ()
+{
+  robot_pic = gdk_pixbuf_new_from_file ("/usr/share/pixmaps/rfk-robot.png", NULL);
+  love_pic = gdk_pixbuf_new_from_file ("/usr/share/pixmaps/rfk-love.png", NULL);
+  kitten_pic = gdk_pixbuf_new_from_file ("/usr/share/pixmaps/rfk-kitten.png", NULL);
+  animation_area =  gtk_drawing_area_new ();
+
+  gtk_container_remove (GTK_CONTAINER (window), GTK_WIDGET (table));
+  gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (animation_area));
+  gtk_widget_show_all (window);
+
+  g_signal_connect (G_OBJECT (animation_area),
+                   "expose_event", G_CALLBACK (ending_animation_draw), NULL);
+  g_timeout_add (10, ending_animation_step, NULL);
+}
+
+/****************************************************************/
+/* Moving the robot.  Way to go, robot!                         */
+/****************************************************************/
+
+void
+move_robot (int dx, int dy)
+{
+  GtkWidget *new_space;
+  const char *found;
+
+  if (robot_x+dx<0 ||
+      robot_y+dy<0 ||
+      robot_x+dx>=ARENA_WIDTH ||
+      robot_y+dy>=ARENA_HEIGHT)
+    return;
+
+  new_space = arena[robot_x+dx][robot_y+dy];
+  found = g_object_get_data (G_OBJECT (new_space), "examine");
+
+  if (found && *found)
+    {
+      show_message (found);
+
+      if (new_space == kitten)
+       {
+         ending_animation ();
+       }
+    }
+  else
+    {
+      g_object_ref (new_space);
+
+      gtk_container_remove (GTK_CONTAINER (table), robot);
+      gtk_container_remove (GTK_CONTAINER (table), new_space);
+
+      place_in_arena_at_xy (new_space, robot_x, robot_y);
+      place_in_arena_at_xy (robot, robot_x+dx, robot_y+dy);
+
+      g_object_unref (new_space);
+    }
+}
+
+/****************************************************************/
+/* Event handlers.                                              */
+/****************************************************************/
+
+gboolean
+on_window_clicked (GtkWidget      *widget,
+                  GdkEventButton *event,
+                  gpointer        user_data)
+{
+  int rx, ry;
+  gboolean w1, w2;
+
+  rx = (robot->allocation.x+robot->allocation.width/2);
+  ry = (robot->allocation.y+robot->allocation.height/2);
+
+  w1 = (event->x - rx) > (event->y - ry);
+  w2 = (rx - event->x) > (event->y - ry);
+       
+  if (w1)
+    {
+      if (w2)
+       move_robot (0, -1);
+      else
+       move_robot (1, 0);
+    }
+  else
+    {
+      if (w2)
+       move_robot (-1, 0);
+      else
+       move_robot (0, 1);
+    }
+
+  return TRUE;
+}
+
+gboolean
+on_key_pressed (GtkWidget      *widget,
+               GdkEventKey    *event,
+               gpointer        user_data)
+{
+
+  switch (event->keyval) {
+
+  case GDK_Up:    case 'k': move_robot ( 0, -1); break;
+  case GDK_Down:  case 'j': move_robot ( 0,  1); break;
+  case GDK_Left:  case 'h': move_robot (-1,  0); break;
+  case GDK_Right: case 'l': move_robot ( 1,  0); break;
+
+  }
+
+  return FALSE;
+}
+
+/****************************************************************/
+/* Let's kick the whole thing off...                            */
+/****************************************************************/
+
+int
+main (gint argc,
+      gchar **argv)
+{
+  int x, y;
+
+  gtk_init (&argc, &argv);
+  srandom (time(0));
+
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_window_set_title (GTK_WINDOW (window), "robot finds kitten");
+  gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &black);
+  g_signal_connect (G_OBJECT (window), "button-press-event", G_CALLBACK (on_window_clicked), NULL);
+  g_signal_connect (G_OBJECT (window), "key-press-event", G_CALLBACK (on_key_pressed), NULL);
+  g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
+       
+  table = gtk_table_new (ARENA_HEIGHT, ARENA_WIDTH, TRUE);
+  gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (table));
+
+  robot = gtk_label_new ("#");
+  g_object_ref (robot);
+  kitten = random_character ("You found kitten!  Way to go, robot!");
+
+  place_in_arena_randomly (robot);
+  place_in_arena_randomly (kitten);
+
+  for (x=0; x < amount_of_random_stuff; x++)
+    place_in_arena_randomly (random_character (description ()));
+
+  for (x=0; x < ARENA_WIDTH; x++)
+    for (y=0; y < ARENA_HEIGHT; y++)
+      if (!arena[x][y])
+       place_in_arena_at_xy (gtk_label_new (NULL), x, y);
+
+  gtk_widget_show_all (window);
+
+  gdk_window_set_events (GTK_WIDGET (window)->window,
+                        gdk_window_get_events(GTK_WIDGET (window)->window) | GDK_BUTTON_PRESS_MASK);
+
+       
+  show_message (explanation);
+
+  gtk_main ();
+
+  return 0;
+}
diff --git a/rfk.desktop b/rfk.desktop
new file mode 100644 (file)
index 0000000..26c7beb
--- /dev/null
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.10
+Type=Application
+Name=robotfindskitten
+Comment=robot finds kitten
+Exec=/usr/bin/rfk
+Icon=rfk
+X-Icon-path=/usr/share/pixmaps/
+
+
diff --git a/rfk.png b/rfk.png
new file mode 100644 (file)
index 0000000..96b71fa
Binary files /dev/null and b/rfk.png differ
diff --git a/rfk.xpm b/rfk.xpm
new file mode 100644 (file)
index 0000000..962ce4f
--- /dev/null
+++ b/rfk.xpm
@@ -0,0 +1,91 @@
+/* XPM */
+static char * rfk_xpm[] = {
+"32 26 62 1",
+"      c None",
+".     c #050505",
+"+     c #0A0A0A",
+"@     c #0B0B0B",
+"#     c #020202",
+"$     c #000000",
+"%     c #545454",
+"&     c #656565",
+"*     c #090909",
+"=     c #030303",
+"-     c #797979",
+";     c #6C6C6C",
+">     c #7A7A7A",
+",     c #6B6B6B",
+"'     c #686868",
+")     c #808080",
+"!     c #6D6D6D",
+"~     c #777777",
+"{     c #010101",
+"]     c #696969",
+"^     c #FF0000",
+"/     c #787878",
+"(     c #272727",
+"_     c #6F6F6F",
+":     c #747474",
+"<     c #0D0D0D",
+"[     c #323232",
+"}     c #0E0E0E",
+"|     c #494949",
+"1     c #7D7D7D",
+"2     c #070707",
+"3     c #7C7C7C",
+"4     c #7B7B7B",
+"5     c #7E7E7E",
+"6     c #757575",
+"7     c #0C0C0C",
+"8     c #040404",
+"9     c #666666",
+"0     c #818181",
+"a     c #828282",
+"b     c #878787",
+"c     c #939393",
+"d     c #676767",
+"e     c #8C8C8C",
+"f     c #858585",
+"g     c #898989",
+"h     c #717171",
+"i     c #1B1B1B",
+"j     c #767676",
+"k     c #6A6A6A",
+"l     c #7F7F7F",
+"m     c #080808",
+"n     c #0F0F0F",
+"o     c #8B8B8B",
+"p     c #727272",
+"q     c #707070",
+"r     c #6E6E6E",
+"s     c #060606",
+"t     c #848484",
+"u     c #888888",
+"v     c #606060",
+"w     c #3E3E3E",
+".+@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#",
+"$$$$$%$&$$$$$$$*+==$$$$$$$$$$$$$",
+"$$$$.-+-;$$$$$$>,''$$$$$$$$$$$$$",
+"$$$$.).!~$$$$$&>{]]$$$$^^$^^$$$$",
+"$$$$.).=/($$$$~_$]]$$$^^^^^^^$$$",
+"$$$$.).$:><[}|12$]]$$$$^^^^^$$$$",
+"$$$$.-.$.3-1456$$''$$$$$^^^$$$$$",
+"$$$$$]$$$<=#$7$$$88$$$$$$^$$$$$$",
+"$$$$.6.$8$$$$$8{$99$$$$$$$$$$$$$",
+"$$$$.).:0){$$9)a+]]$$$$$$$$$$$$$",
+"$$$$.)+b$cd$$3$e6]]$$$$$$$$$$$$$",
+"$$$$.)@f$e%$$4$gh]]{.#8888$$$$$$",
+"$$$$.3.]66$$$i~j$]]k155l56@$$$$$",
+"$$$$$d$$$$$$$${$$mm8@727+m#$$$$$",
+"$$$$$$$$$$#'n$$$$$$$$$$$$7h#$$$$",
+"$$$$={=$$$!o-}$$$={$$$$$$=1,$$$$",
+"$$$2:lj,p$$a~7$q,15k$$$$$$r4#$$$",
+"$$$24g3'!'{s+*;;rtu;$$$$$$.j@$$$",
+"$$$$[vi$$$$$$$$$*[%]j/j//qsp/$$$",
+"$$$$$$$$$$$$$$$$$$$<']']'9$.,#$$",
+"$$$$$$$$$$$$$$$$${:v$$$$$$$$=;!$",
+"$7_]$$$#q!$$$$$$$-3=$$$$$$$$$;0(",
+"$t0k$$$1bq{$$$$$.uv$$$$$$$$$$$3k",
+"!o[8$$#fq=$$$$$$su|$$$$$$$$$$$1;",
+"%30hrqr~06hr_qrq%/:(_qrr_q_r;9)w",
+"##||_q_si[;hqqqq|7/hhqphhh_hq_h$"};