[Pkg-wmaker-commits] [wmbutton] 04/09: Import Debian changes 0.6.1-2

Doug Torrance dtorrance-guest at moszumanska.debian.org
Sun Jul 16 03:13:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to branch master
in repository wmbutton.

commit 045988588f7ddc08345864065c640b49dacd6f52
Merge: 38d05ee a6ddb27
Author: Christian Aichinger <Greek0 at gmx.net>
Date:   Tue Feb 15 00:48:52 2005 +0100

    Import Debian changes 0.6.1-2
    
    wmbutton (0.6.1-2) unstable; urgency=low
    
      * Fixed build problems on several platforms
      * debian/control: Fixed binary package section and priority
    
    wmbutton (0.6.1-1) unstable; urgency=low
    
      * New Maintainer
      * New upstream version 0.6.1 (Closes: #245868)
      * debian/control: Standards-Version to 3.6.1.1
    
    wmbutton (0.4-5) unstable; urgency=low
    
      * Update README.Debian to clarify customization (Closes: #179418)
      * debian/control: Standards-Version to 3.5.8
      * debian/rules: Add support for DEB_BUILD_OPTIONS
      * debian/conffiles: Remove /etc/wmbutton.conf, debhelper
                          adds it automatically
    
    wmbutton (0.4-4) unstable; urgency=low
    
      * Applied patch from Steve Kemp <skx at tardis.ed.ac.uk> to avoid buffer
        overflow (Closes: #167225)

 .wmbutton            |  50 +--
 Makefile             |  20 +-
 README               |  90 ++++--
 debian/README.Debian |  15 +-
 debian/changelog     |  32 ++
 debian/compat        |   1 +
 debian/conffiles     |   1 -
 debian/control       |  10 +-
 debian/copyright     |   1 +
 debian/menu          |   2 +-
 debian/rules         |  25 +-
 debian/wmbutton.1    |  19 +-
 icons/buttons2.xpm   | 854 +++++++++++++++++++++++++++++++++++++++++++++++++++
 readln.c             |  59 ----
 wmb_libs.c           | 695 +++++++++++++++++++++++++++++++++++++++++
 wmbutton.c           | 561 ++++++++++++++++-----------------
 wmbutton.h           | 110 +++++++
 17 files changed, 2107 insertions(+), 438 deletions(-)

diff --cc Makefile
index 2d1db7a,b4b744d..9660725
--- a/Makefile
+++ b/Makefile
@@@ -1,29 -1,29 +1,39 @@@
--INCLUDES =-I/usr/X11R6/include/X11 -I/usr/local/include -I/usr/include/X11R6/X11
++INCLUDES =-I/usr/X11R6/include -I/usr/local/include
  LIBINC =-L/usr/X11R6/lib -L/usr/include/lib
  LIBS = -lX11 -lXpm -lXext
  
  TARGET = wmbutton
- OBJECTS = wmbutton.o readln.o
+ OBJECTS = wmbutton.o wmb_libs.o
 +DESTDIR =
 +PREFIX = /usr/local
 +BINDIR = ${PREFIX}/bin
 +MANDIR = ${PREFIX}/share/man
 +CONF   = /etc
 +INSTALL = /usr/bin/install
 +INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755
 +INSTALL_FILE    = $(INSTALL) -p -o root -g root -m 644
  
 -CFLAGS += -c -Wall -O2
 -
 -all: ${TARGET} tags
++CFLAGS += -Wall -O2
+ 
  .c.o:
- 	gcc -O2 -c -Wall ${INCLUDES} ${FLAGS} $< -o $*.o
 -	gcc ${CFLAGS} ${INCLUDES} $< -o $*.o
++	gcc -c ${CFLAGS} ${INCLUDES} $< -o $*.o
  
  ${TARGET}: ${OBJECTS}
- 	gcc -O2 -o ${TARGET} ${OBJECTS} ${LIBINC} ${LIBS}
+ 	gcc -o ${TARGET} ${OBJECTS} ${LIBINC} ${LIBS}
  
  clean::
  	for i in ${OBJECTS}; do if [ -e $$i ] ; then rm $$i; fi; done 
  	if [ -e ${TARGET} ] ; then rm ${TARGET}; fi
+ 	if [ -e tags ]; then rm tags; fi
+ 	if [ -e core ]; then rm core; fi
  
 +install::
 +	${INSTALL_PROGRAM} wmbutton ${DESTDIR}${BINDIR}
 +	${INSTALL_FILE} wmbutton.conf ${DESTDIR}${CONF}
- #	${INSTALL_FILE} wmbutton.1 ${DESTDIR}${MANDIR}/man1
++
+ wmbutton.o: wmbutton.c wmbutton.h Makefile
+ 
+ wmb_libs.o: wmb_libs.c wmbutton.h Makefile
+ 
+ tags:
+ 	ctags *.[ch]
diff --cc README
index 2d94aee,5da98ae..fe0cb79
--- a/README
+++ b/README
@@@ -41,10 -52,10 +52,10 @@@ helping out, catching bugs in the code
  INSTALLATION:
  -------------
  	Untar the file: 
- 		tar xvzf wmbutton-0.4.tar.gz
 -		tar xvzf wmbutton-0.5.tar.gz
++		tar xvzf wmbutton-0.6.1.tar.gz
  
  	CD to source directory:  
- 		cd wmbutton-0.4
 -		cd wmbutton-0.5
++		cd wmbutton-0.6.1
  
  	Edit background xpm, and buttons.xpm to your preferences
  	There are icon files in ./icons to work from
diff --cc debian/README.Debian
index 3ff5d39,0000000..06ec4b9
mode 100644,000000..100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@@ -1,25 -1,0 +1,22 @@@
 +wmbutton for Debian
 +-------------------
 +
 +/etc/wmbutton.conf is only a very limited configuration as it should also
 +work with a minimal system installed. You will almost definitely want to 
 +have a look at 
 +    /usr/share/doc/wmbutton/sample.wmbutton
 +modify it and copy it to ~/.wmbutton or alter the system wide wmbutton.conf
 +accordingly.
 +
 +
 +Using custom images for the buttons:
 +------------------------------------
 +
- To include other icons wmbutton has to be rebuilt:
++Previously it was required to recompile wmbutton to change the images. Now
++you can use the -b command-line option to change the button images.
 +
- 1) apt-get source wmbutton
- 2) edit buttons.xpm with your favourite imaging tool (e.g. Gimp)
- 3) rebuild (e.g. dpkg-buildpackage)
-    This will require xlibs-dev (as dpkg-buildpackage will tell you
-    if you don't have xlibs-dev installed)
- 4) Install your custom wmbutton package, or copy your binary to an
-    appropriate place.
++Original author:
++ -- Gordon Fraser <gordon at debian.org>, Fri,  7 Feb 2003 19:56:54 +0100
 +
-  -- Gordon Fraser <gordon at debian.org>, Tue, 18 Sep 2001 20:27:46 +0200
++Updated by:
++ -- Christian Aichinger <Greek0 at gmx.net>, Sun, 16 Jan 2005 17:10:45 +0100
diff --cc debian/changelog
index 35edb0e,0000000..2569770
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,26 -1,0 +1,58 @@@
++wmbutton (0.6.1-2) unstable; urgency=low
++
++  * Fixed build problems on several platforms
++  * debian/control: Fixed binary package section and priority
++
++ -- Christian Aichinger <Greek0 at gmx.net>  Tue, 15 Feb 2005 00:48:52 +0100
++
++wmbutton (0.6.1-1) unstable; urgency=low
++
++  * New Maintainer
++  * New upstream version 0.6.1 (Closes: #245868)
++  * debian/control: Standards-Version to 3.6.1.1
++
++ -- Christian Aichinger <Greek0 at gmx.net>  Sun, 16 Jan 2005 16:40:13 +0100
++
++wmbutton (0.4-5) unstable; urgency=low
++
++  * Update README.Debian to clarify customization (Closes: #179418)
++  * debian/control: Standards-Version to 3.5.8
++  * debian/rules: Add support for DEB_BUILD_OPTIONS
++  * debian/conffiles: Remove /etc/wmbutton.conf, debhelper
++                      adds it automatically
++
++ -- Gordon Fraser <gordon at debian.org>  Fri,  7 Feb 2003 19:56:54 +0100
++
++wmbutton (0.4-4) unstable; urgency=low
++
++  * Applied patch from Steve Kemp <skx at tardis.ed.ac.uk> to avoid buffer
++    overflow (Closes: #167225)
++
++ -- Gordon Fraser <gordon at debian.org>  Thu, 31 Oct 2002 15:59:47 +0100
++
 +wmbutton (0.4-3) unstable; urgency=low
 +
 +  * Manpage updates
 +  * Minor code cleanups, documentation updates
 +  * Update package description
 +
 + -- Gordon Fraser <gordon at debian.org>  Mon,  4 Feb 2002 17:50:43 +0100
 +
 +wmbutton (0.4-2) unstable; urgency=low
 +
 +  * Update manpage to credit author
 +  * Fix spelling mistakes (Closes: #125487)
 +  * Add information how to customize
 +  * Update maintainer's email
 +
 + -- Gordon Fraser <gordon at debian.org>  Wed,  5 Dec 2001 09:00:29 +0100
 +
 +wmbutton (0.4-1) unstable; urgency=low
 +
 +  * Initial Release - (Closes: #113946)
 +
 + -- Gordon Fraser <gordon at debian.org>  Tue, 18 Sep 2001 20:27:46 +0200
 +
 +Local variables:
 +mode: debian-changelog
 +End:
diff --cc debian/compat
index 0000000,0000000..b8626c4
new file mode 100644
--- /dev/null
+++ b/debian/compat
@@@ -1,0 -1,0 +1,1 @@@
++4
diff --cc debian/control
index eaef354,0000000..db7ef0d
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,15 -1,0 +1,17 @@@
 +Source: wmbutton
 +Section: x11
 +Priority: optional
- Maintainer: Gordon Fraser <gordon at debian.org>
- Build-Depends: debhelper (>> 3.0.0), xlibs-dev
- Standards-Version: 3.5.2
++Maintainer: Christian Aichinger <Greek0 at gmx.net>
++Build-Depends: debhelper (>= 4), xlibs-dev
++Standards-Version: 3.6.1.1
 +
 +Package: wmbutton
 +Architecture: any
++Section: x11
++Priority: optional
 +Depends: ${shlibs:Depends}
- Description: Dockapp displaying nine configurable buttons
++Description: dockapp displaying nine configurable buttons
 + Wmbutton displays nine buttons which can be configured through a config file.
 + Each button can be assigned up to three commands (one per mouse button).
 + It is intended as a dockapp for X window managers such as Window Maker, 
 + AfterStep, BlackBox, and Enlightenment.
diff --cc debian/copyright
index a767650,0000000..0583d44
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,12 -1,0 +1,13 @@@
 +This package was debianized by Gordon Fraser <gordon at debian.org> on
 +Tue, 18 Sep 2001 20:27:46 +0200.
 +
 +It was downloaded from http://members.access1.net/ehflora/
++An alternative location is:  http://www.dockapps.org/file.php/id/241
 +
 +Upstream Author: Edward H. Flora <ehflora at ksu.edu>
 +
 +Copyright:
 +
 +Wmbutton is released under the GNU General Public License, version 2 or
 +greater, found on Debian GNU/Linux systems in the file
 +/usr/share/common-licenses/GPL
diff --cc debian/menu
index d337a79,0000000..8edc7d1
mode 100644,000000..100644
--- a/debian/menu
+++ b/debian/menu
@@@ -1,2 -1,0 +1,2 @@@
- ?package(wmbutton):needs=X11 section=Apps/Tools hints="Dockapp,Desktop"\
++?package(wmbutton):needs="X11" section="Apps/Tools" hints="Dockapp,Desktop"\
 +  title="wmbutton" command="/usr/bin/wmbutton"
diff --cc debian/rules
index b5d277f,0000000..ee20401
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,56 -1,0 +1,71 @@@
 +#!/usr/bin/make -f
- # GNU copyright 1997 to 1999 by Joey Hess.
 +
- # This is the debhelper compatability version to use.
- export DH_COMPAT=3
++CFLAGS = -W -Wall
++INSTALL = install
++INSTALL_PROGRAM = $(INSTALL) -p -o root -g root -m 755
++
++ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
++        CFLAGS += -g
++endif
++ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
++        INSTALL_PROGRAM += -s
++endif
++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
++	CFLAGS += -O0
++else
++        CFLAGS += -O2
++endif
++
 +
 +configure: configure-stamp
 +configure-stamp:
 +	dh_testdir
 +	touch configure-stamp
 +
 +build: configure-stamp build-stamp
 +build-stamp:
 +	dh_testdir
- 	$(MAKE)
++	$(MAKE) CFLAGS="$(CFLAGS)" INSTALL_PROGRAM="$(INSTALL_PROGRAM)"
 +	touch build-stamp
 +
 +clean:
++	echo "BLA2"
 +	dh_testdir
 +	dh_testroot
 +	rm -f build-stamp configure-stamp
++	echo "BLA2"
 +	-$(MAKE) clean
 +	dh_clean
 +
 +install: build
 +	dh_testdir
 +	dh_testroot
 +	dh_clean -k
 +	dh_installdirs
 +	$(MAKE) install DESTDIR=$(CURDIR)/debian/wmbutton PREFIX=/usr
 +
 +
 +# 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_installdocs
 +	dh_installmenu
 +	dh_installman
 +	dh_installchangelogs 
 +	dh_link
 +	dh_strip
 +	dh_compress
 +	dh_fixperms
 +	dh_installdeb
 +	dh_shlibdeps
 +	dh_gencontrol
 +	dh_md5sums
- 	dh_builddeb
++	dh_builddeb -v
 +
 +binary: binary-indep binary-arch
 +.PHONY: build clean binary-indep binary-arch binary install configure
diff --cc debian/wmbutton.1
index df70d11,0000000..37f696e
mode 100644,000000..100644
--- a/debian/wmbutton.1
+++ b/debian/wmbutton.1
@@@ -1,104 -1,0 +1,117 @@@
 +.\"                                      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 WMBUTTON 1 "September 18, 2001"
 +.\" 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
 +wmbutton \- dockable launcher application
 +.SH SYNOPSIS
 +.B wmbutton
- [-g \fIgeometry\fP] [-d \fIdisplay\fP] [-v] [-f \fIconfigfile\fP] [-h]
++.\"[-g \fIgeometry\fP] [-d \fIdisplay\fP] [-v] [-f \fIconfigfile\fP] [-h]
++[\fIOPTIONS\fP]
 +
 +.SH DESCRIPTION
 +This manual page documents briefly the
 +.B wmbutton
 +command.
 +This manual page was written for the Debian GNU/Linux distribution
 +because the original program does not have a manual page.
 +.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.
 +\fBwmbutton\fP is a 64x64 pixel application that displays nine buttons and can be used as dockapp for X window managers such as Window Maker, AfterStep, BlackBox, and Enlightenment. Each of these buttons can be configured via a configuration file to run just about any application you would like to. Basically, if you can type it in a shell command, wmbutton can run it.
 +
 +.PP
 +\fBwmbutton\fP is configured using a configuration file, ~/.wmbutton (or /etc/wmbutton.conf). Its format is documented in the "Configuration" section below.
 +.SH OPTIONS
 +.TP
 +.B \-g <geometry>
 +Window Geometry - ie: 64x64+10+10
 +.TP
 +.B \-d  <display>
 +Display -  ie: 127.0.0.1:0.0
 +.TP
 +.B \-f  <filename>
 +Full path to configuration file.
 +.TP
++.B \-b  <filename>
++Full path to button xpm.
++.TP
++.B \-F  <font>
++Custom tooltip font (e.g. -b\&h-lucidatypewriter-medium-*-*-*-12-*)
++.TP
 +.B \-v
 +Verbose Mode, gives extra debug output.
 +.TP
 +.B \-h
 +Quick overview of available options.
 +.TP
 +.B \-m
- Enable Middle Mouse functionality (disabled by default).
++Disable Middle Mouse functionality.
++.TP
++.B \-s
++Swap tooltip colors.
++.TP
++.B \-n
++Turn off tooltips.
 +
 +.SH CONFIGURATION
 +.TP
 +The configuration file is case sensitive. A # starts a comment, and lines consisting entirely of whitespace are ignored. The syntax is simply:
 +.TP
 +.B <buttonnumber> <command>
 +.TP
 +\fBcommand\fP can be anything you can type in as a shell command.
 +.TP
 +Buttons are numbered as follows:
 +.TP
 +.B Left button
 +.nf
 + 	1 2 3
 +	4 5 6
 +	7 8 9
 +.fi
 +.TP
 +.B Middle button
 +.nf
 +	11 12 13
 +	14 15 16
 +	17 18 19
 +.fi
 +.TP
 +.B Right button
 +.nf
 +	21 22 23
 +	24 25 26
 +	27 28 29
 +.fi
 +
 +.TP
 +To use other icons, wmbutton has to be rebuilt. View /usr/share/doc/wmbutton/README.Debian for further information.
 +
 +.SH FILES
 +.TP
 +.I /etc/wmbutton.conf
 +system wide wmbutton configuration file.
 +.TP
 +.I ~/.wmbutton
 +peruser wmbutton configuration file. If it doesn't exist, the system wide wmbutton configuration file will be used.
 +
 +
 +.SH AUTHOR
 +wmbutton was written by Edward H. Flora <ehflora at access1.net>, and is licensed under the terms of the GNU  General Public License.
 +.TP
- This manual page was written by Gordon Fraser <gordon at debian.org>, for the Debian GNU/Linux system (but may be used by others).
++This manual page was written by Gordon Fraser <gordon at debian.org>, for the Debian GNU/Linux system (but may be used by others). It was updated by Christian Aichinger <Greek0 at gmx.net>
diff --cc wmb_libs.c
index 0000000,c9ea4c8..0d8daad
mode 000000,100644..100644
--- a/wmb_libs.c
+++ b/wmb_libs.c
@@@ -1,0 -1,692 +1,695 @@@
+ /* wmb_libs.c - Edward H. Flora - ehf_dockapps at cox.net */
+ /* Last Modified: 4/3/04 */
+ /* 
+  * These functions are designed to work with wmbutton.
+  */
+ 
+ /* PORTABILITY:
+ ******************
+ * Coded in ANSI C, using ANSI prototypes.
+ */
+ 
+ /******  Include Files  *************************************************/
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "wmbutton.h"
+ 
+ 
+ /******  ToolTip Globals  ***********************************************/
+ 
+ static struct timeval _tStart;
+ 
+ extern struct Config_t Config;
+ int _bTooltip = 0;
+ XFontStruct* _fTooltip;
+ int _nFontHeight, _nFontY;
+ int _nScreenWidth, _nScreenHeight;
+ GC _gcMono= 0;
+ Window _wTooltip;
+ 
+ /******  Parse Command Line  ********************************************/
+ void parseargs(int argc, char **argv) {
+   int current;
+   char *Home = getenv("HOME");
+ 
+   while (-1 != (current = getopt(argc, argv, "vhnmsF:b:g:d:f:"))) {
+     switch (current) {
+     case 'v': 
+       Config.Verbose = 1;
+       break;
+     case '?':
+     case 'h':
+       show_usage();
+       break;
+     case 'm':
+       Config.mmouse = 1;
+       break;
+     case 'n':
+       Config.bTooltipDisable = 1;
+       break;
+     case 's':
+       Config.bTooltipSwapColors = 1;
+       break;
+     case 'g':
+       Config.Geometry_str = strdup(optarg);
+       break;
+     case 'd':
+       Config.Display_str = strdup(optarg);
+       break;
+     case 'f':
+       Config.configfile = strdup(optarg);
+       break;
+     case 'F':
+       Config.szTooltipFont = strdup(optarg);
+       break;
+     case 'b':
+       Config.buttonfile = strdup(optarg);
+       break;
+     }
+   }
+ 
+   if (!Config.configfile) {
+     if (Home != NULL) {
+       Config.configfile = malloc(
+           strlen(Home) + strlen(CONFFILENAME) + 1);
+       sprintf(Config.configfile, "%s%s", Home, CONFFILENAME);
+     }
+   }
+ 
+   if (!Config.buttonfile) {
+     if (Home != NULL) {
+       Config.buttonfile = malloc(
+           strlen(Home) + strlen(BUTTONFILENAME) + 1);
+       sprintf(Config.buttonfile, "%s%s", Home, BUTTONFILENAME);
+     }
+   }
+ 
+   if (!Config.Geometry_str)
+     Config.Geometry_str = "64x64+0+0";
+ 
+   if (!Config.Display_str)
+     Config.Display_str = "";
+ 
+   if (!Config.szTooltipFont)
+     Config.szTooltipFont = TOOLTIP_FONT;
+ 
+   if (!Config.bTooltipDisable)
+     Config.bTooltipDisable = !TOOLTIP_SUPPORT;
+ 
+ }
+ 
+ /******  Show Usage Information  ****************************************/
+ void show_usage() {
+   extern char *app_name;
+ 
+   fprintf(stderr,"\n");
+   fprintf(stderr,"usage: %s [-g geom] [-d dpy] [-f cfgfile] [-b btnfile] "\
+ 	  "[-F <font>] [-v] [-s] [-n]\n",app_name);
+   fprintf(stderr,"\n");
 -  fprintf(stderr," wmbutton Ver %d Rel %d\n",VER,REL);
++  fprintf(stderr," wmbutton version %s\n", VER_STR);
+   fprintf(stderr,"\n");
+   fprintf(stderr,"-g <geometry>  Window Geometry - ie: 64x64+10+10\n");
+   fprintf(stderr,"-d <display>   Display -  ie: 127.0.0.1:0.0\n"); 
+   fprintf(stderr,"-f <filename>  Full path to configuration file.\n");
+   fprintf(stderr,"-b <filename>  Full path to button xpm.\n");
+   fprintf(stderr,"-F <font>      Custom tooltip font (e.g. -b\\&h-lucidatypewriter-medium-*-*-*-12-*)\n");
+   fprintf(stderr,"-v             Verbose Mode.\n");
+   fprintf(stderr,"-h             Help. This message.\n");
+ #if MIDMOUSE
+   fprintf(stderr,"-m             Disable Middle Mouse functionality.\n");
+ #else
+   fprintf(stderr,"-m             Enable Middle Mouse functionality.\n");
+ #endif
+   fprintf(stderr,"-s             Swap tooltip colors.\n");
+   fprintf(stderr,"-n             Turn off tooltips.\n");
+   fprintf(stderr,"\n");
+   exit(0);
+ }/***********************************************************************/
+ 
+ 
+ /******  Error Handler Routine  *****************************************/
+ void err_mess(int err, char *str) {
+ 
+   switch (err) {
+   case FAILDISP:
+     fprintf(stderr,"Fail: XOpenDisplay for %s\n", str);	
+     exit(err);
+   case FAILSWIN:
+     fprintf(stderr,"Fail: XCreateSimpleWindow\n");	
+     exit(err);
+   case FAILICON: 
+     fprintf(stderr,"Fail: XCreateSimpleWindow\n");	
+     exit(err);
+   case FAILXPM:
+     fprintf(stderr,"Fail: XCreateBitmapFromData\n");
+     break;
+   case FAILWNAM:
+     fprintf(stderr,"%s: Can't set up window name\n", str);
+     exit(err);
+   case FAILGC:
+     fprintf(stderr,"Fail: XCreateGC\n");	
+     exit(err);
+   case FAILCONF:
 -    fprintf(stderr, "Fail: Can't Find configuration file %s\n",str);
++    fprintf(stderr, "Fail: Can't Find user or system configuration file.\n");
++    fprintf(stderr, "Fail: User Config: '%s'\n", str);
++    fprintf(stderr, "Fail: System Config: '%s'\n", CONFIGGLOBAL);
+     exit(err);
+   case FAILTMPL:
+     fprintf(stderr, "Fail: Can't Create 'template' Pixmap\n");
+     exit(err);
+   case FAILVIS:
+     fprintf(stderr, "Fail: Can't Create 'visible' Pixmap\n");
+     exit(err);
+   case FAILBUT:
+     fprintf(stderr, "Fail: Can't Create 'buttons' Pixmap\n");
+     exit(err);
+   default:
+     fprintf(stderr, "Fail:  UnSpecified Error: %d\n",err);
+     fprintf(stderr, "Fail:  %s\n",str);
+     exit(err);
+   }
+ 
+ }/***********************************************************************/
+ 
+ /***********************************************************************
+  * RunAppN(int app)
+  *
+  * Run the command given in the configuration file 'configfile'
+  ***********************************************************************/
+ void RunAppN( int app ) {
+   char *cmndstr;
+   extern struct Config_t Config;
+ 
+   cmndstr = Parse(app);                  // Get command to pass to system
+ 
+   if (Config.Verbose) fprintf(stderr, "Command String: %s", cmndstr);
+ 
+   if (cmndstr != NULL) {
+     system(cmndstr);  // if there's a command, run it
+     free(cmndstr);
+   }
+ }/***********************************************************************/
+ 
+ /***********************************************************************
+  * Parse(int app)
+  *
+  * Parses the file 'configfile' for command to execute.
+  ***********************************************************************/
+ char *Parse(int app) {
+   FILE *fp;
+   char Buf[BUFFER_SIZE];
+   char *Ptr;
+ 
+   if ((fp = fopen(Config.configfile, "r")) == NULL)
 -    err_mess(FAILCONF,Config.configfile);
++    if ((fp = fopen(CONFIGGLOBAL, "r")) == NULL)
++      err_mess(FAILCONF,Config.configfile);
+ 
+   while ((Ptr = fgets(Buf, BUFFER_SIZE, fp))) {
+     if (atoi(Buf) == app)
+     break;
+   }
+ 
+   fclose(fp);
+   
+   if (!Ptr)
+     return Ptr;
+ 
+   Ptr = strchr(Buf, '\t');                      // find first tab
+   if (Ptr == NULL) Ptr = strchr(Buf, ' ');      // or space charater
+   if (Ptr == NULL) return(NULL);
+   Ptr++;
+ 
+   Ptr = strdup(Ptr);
+ 
+   return(Ptr);
+ }/**********************************************************************/
+ 
+ /***********************************************************************
+  *   initTime
+  *
+  *     Copyright (c) 2001 Bruno Essmann <essmann at users.sourceforge.net>
+  ***********************************************************************/
+ 
+ void initTime () {
+   extern struct Config_t Config;
+ 
+   if (Config.Verbose) {
+     fprintf(stdout, "[        ] initializing time\n");
+   }
+ 
+   gettimeofday(&_tStart, NULL);
+ }/**********************************************************************/
+ 
+ long currentTimeMillis () {
+   struct timeval tNow;
+   struct timeval tElapsed;
+   
+   gettimeofday(&tNow, NULL);
+   
+   if (_tStart.tv_usec > tNow.tv_usec) {
+     tNow.tv_usec+= 1000000;
+     tNow.tv_sec--;
+   }
+   tElapsed.tv_sec= tNow.tv_sec - _tStart.tv_sec;
+   tElapsed.tv_usec= tNow.tv_usec - _tStart.tv_usec;
+   return (tElapsed.tv_sec * 1000) + (tElapsed.tv_usec / 1000);
+ }/**********************************************************************/
+ 
+ 
+ void getWindowOrigin (Window w, int* nX, int* nY) {
+   extern Display *display;
+   Window wWindow, wParent, wRoot;
+   Window* wChildren;
+   unsigned int nChildren;
+   unsigned int ww, wh, wb, wd;
+   int wx, wy;
+ 
+   wParent= w;
+   do {
+     wWindow= wParent;
+     if (!XQueryTree(display, wParent, &wRoot, &wParent, &wChildren, &nChildren))
+       return;
+ 
+     if (wChildren)
+       XFree(wChildren);
+ 
+   } while (wParent != wRoot);
+ 
+   if (XGetGeometry(display, wWindow, &wRoot, &wx, &wy, &ww, &wh, &wb, &wd)) {
+     if (nX) {
+       *nX= wx;
+     }
+     if (nY) {
+       *nY= wy;
+     }
+   }
+ }/**********************************************************************/
+ 
+ /***********************************************************************
+  *  getButtonLocation
+  *
+  *  compute location for each button's tooltip (not perfect)
+  ***********************************************************************/
+ void getButtonLocation (int nButton, int* nLocationX, int* nLocationY) {
+   *nLocationX = 0;
+   *nLocationY = 8;
+   while (nButton > BUTTON_COLS) {
+     *nLocationY += BUTTON_SIZE;
+     nButton -= BUTTON_COLS;
+   }
+   while (nButton > 0) {
+     *nLocationX += BUTTON_SIZE - 1;
+     nButton--;
+   }
+ }/**********************************************************************/
+ 
+ /* SkipWord & SkipSpaces: utility functions for getNicenedString */
+ char *SkipWord(char *Text) {
+   char *Result = Text;
+ 
+   while ((*Result != ' ')&&(*Result != '\t')&&
+          (*Result != '\n')&&(*Result != 0x00))
+     Result++;
+   return Result;
+ }
+ 
+ char *SkipSpaces(char *Text) {
+   char *Result = Text;
+ 
+   while ((*Result == ' ')||(*Result == '\t')||(*Result == '\n'))
+     Result++;
+   return Result;
+ }
+ 
+ /***********************************************************************
+  *  getNicenedString
+  *
+  *  nicen the parsed command from the .wmbutton config file
+  *    - cut if too long
+  *    - remove parameters, whitespace and the '&'...
+  ***********************************************************************/
+ char* getNicenedString (char *old, int andAddSeparator) {
+   char *WorkStr;
+   char *WorkStrEnd;
+   char *StartPtr;
+   char *EndPtr;
+ 
+   char *RetStr;
+ 
+   if (!old) {
+     if (andAddSeparator)
+       return strdup("-- | ");
+     else
+       return strdup("--");
+   }
+ 
+   RetStr = malloc(strlen(old) + 3 + 1); // 3 for Seperator
+   *RetStr = 0x00;
+ 
+   WorkStr = strdup(old);
+   WorkStrEnd = strchr(WorkStr, 0x00);
+   StartPtr = WorkStr;
+ 
+   while(StartPtr < WorkStrEnd) {
+     StartPtr = SkipSpaces(StartPtr);
+     EndPtr = SkipWord(StartPtr);
+     *EndPtr = 0x00;
+ 
+     if ((*StartPtr == '&')||(*StartPtr == '-'))
+       break;
+ 
+     strcat(RetStr, StartPtr);
+     strcat(RetStr, " ");
+     StartPtr = EndPtr+1;
+   }
+ 
+   free(WorkStr);
+ 
+   if (andAddSeparator) {
+     strcat(RetStr, "| ");
+   }
+   
+   return RetStr;
+ }
+ 
+ /***********************************************************************
+  *  getButtonAppNames
+  *
+  *  returns the 1..3 application names / commands to be shown in tooltip
+  ***********************************************************************/
+ char* getButtonAppNames (int nButton) {
+   char *str = NULL;
+   char *tmp1,*tmp2;
+     
+   if (!( nButton < 0 || nButton > 9 )) {
+ 
+     // FIXME: _Might_ overflow, but it's unlikely.
+     // Perhaps one should fix this sometime ;)
+     str = (char*) calloc (sizeof(char), BUFFER_SIZE);
+     
+     tmp1 = Parse(nButton + LMASK);
+     tmp2 = getNicenedString(tmp1, 1);
+     strcat(str, tmp2);
+     free(tmp1);
+     free(tmp2);
+     
+     tmp1 = Parse(nButton + MMASK);
+     tmp2 = getNicenedString(tmp1, 1);
+     strcat(str, tmp2);
+     free(tmp1);
+     free(tmp2);
+     
+     tmp1 = Parse(nButton + RMASK);
+     tmp2 = getNicenedString(tmp1, 0);
+     strcat(str, tmp2);
+     free(tmp1);
+     free(tmp2);
+   }
+ 
+   return(str);
+ }/**********************************************************************/
+ 
+ 
+ int hasTooltipSupport () {
+   return !Config.bTooltipDisable;
+ }/**********************************************************************/
+ 
+ void showTooltip (int nButton, int nMouseX, int nMouseY) {
+   Pixmap pixmap, mask;
+   int nMainWinX, nMainWinY;
+   int nButtonX = 0, nButtonY = 0, nButtonWidth = 0, nButtonHeight = 0;
+   int nTextY, nX, nY, nWidth, nHeight, nSide;
+   char* szText;
+   extern struct Config_t Config;
+   extern Window iconwin;
+   extern Pixel bg_pixel, fg_pixel;
+   extern Display *display;
+   extern GC gc;
+ 
+   if (Config.bTooltipDisable ||  nButton == -1) {
+     return;
+   }
+   if (_bTooltip) {
+     hideTooltip();
+   }
+ 
+ 
+   if (Config.Verbose) { 
+     fprintf(stdout, "[%8ld] showing tooltip for button %d at %d, %d\n", 
+ 	    currentTimeMillis(),
+ 	    nButton, nMouseX, nMouseY);
+   } 
+ 
+   szText = getButtonAppNames(nButton);
+   if(!szText)
+     return;
+ 
+   _bTooltip= 1;
+ 
+   nWidth= XTextWidth(_fTooltip, szText, strlen(szText)) + 16;
+   nHeight= _nFontHeight + 4;
+   if (nHeight < 16) {
+     nHeight= 16;
+   }
+   if (nWidth < nHeight) {
+     nWidth= nHeight;
+   }
+   if (Config.Verbose) { 
+     fprintf(stdout, "[%8ld] tooltip size: %d, %d\n", 
+ 	    currentTimeMillis(), nWidth, nHeight);
+   }
+ 	
+   getWindowOrigin(iconwin, &nMainWinX, &nMainWinY);
+   getButtonLocation(nButton, &nButtonX, &nButtonY);
+   nButtonX+= nMainWinX;
+   nButtonY+= nMainWinY;
+   nButtonWidth  = BUTTON_SIZE;
+   nButtonHeight = BUTTON_SIZE;
+ 	
+   if (nButtonX + nWidth > _nScreenWidth) {
+     nSide= TOOLTIP_RIGHT;
+     nX= nButtonX - nWidth + nButtonWidth / 2;
+     if (nX < 0) {
+       nX= 0;
+     }
+   } else {
+     nSide= TOOLTIP_LEFT;
+     nX= nButtonX + nButtonWidth / 2;
+   }
+   if (nX + nWidth > _nScreenWidth) {
+     nX= _nScreenWidth - nWidth;
+   }
+ 
+   if (nButtonY - (nHeight + TOOLTIP_SPACE) < 0) {
+     nSide|= TOOLTIP_TOP;
+     nY= nButtonY + nButtonHeight - 1;
+     nTextY= TOOLTIP_SPACE;
+   } else {
+     nSide|= TOOLTIP_BOTTOM;
+     nY= nButtonY - (nHeight + TOOLTIP_SPACE);
+     nTextY= 0;
+   }
+ 	
+   pixmap= createTooltipPixmap(nWidth, nHeight, nSide, &mask);
+ 
+   XSetForeground(display, gc, Config.bTooltipSwapColors ? fg_pixel : bg_pixel);
+   XSetFont(display, gc, _fTooltip->fid);
+   XDrawString(display, pixmap, gc, 
+ 	      8, nTextY + (nHeight - _nFontHeight) / 2 + _nFontY, 
+ 	      szText, strlen(szText));
+ 		
+   XSetWindowBackgroundPixmap(display, _wTooltip, pixmap);
+ 
+   XResizeWindow(display, _wTooltip, nWidth, nHeight + TOOLTIP_SPACE);
+   XShapeCombineMask(display, _wTooltip, ShapeBounding, 0, 0, mask, ShapeSet);
+   XFreePixmap(display, mask);
+   XMoveWindow(display, _wTooltip, nX, nY);
+   XMapRaised(display, _wTooltip);
+   XFreePixmap(display, pixmap);
+ 
+   free(szText);
+ }/**********************************************************************/
+ 
+ void hideTooltip () {
+   extern struct Config_t Config;
+   extern Display *display;
+ 
+   if (Config.bTooltipDisable) {
+     return;
+   }
+   if (_bTooltip) {
+     if (Config.Verbose) {
+       fprintf(stdout, "[%8ld] hiding tooltip\n", currentTimeMillis());
+     }
+     XUnmapWindow(display, _wTooltip);
+     _bTooltip= 0;
+   }
+ }/**********************************************************************/
+ 
+ int hasTooltip () {
+   if (Config.bTooltipDisable) {
+     return 0;
+   }
+   return _bTooltip;
+ }/**********************************************************************/
+ 
+ void initTooltip () {
+   XSetWindowAttributes attribs;
+   unsigned long vmask;
+   extern Display *display;
+   extern char *app_name;
+   extern int screen;
+   extern Window rootwin, win;
+ 
+   if (Config.bTooltipDisable) {
+     if (Config.Verbose) {
+       fprintf(stdout, "[%8ld] initializing tooltips (disabled)\n", 
+ 	      currentTimeMillis());
+     }
+ 
+     return;
+   }
+   if (Config.Verbose) {
+     fprintf(stdout, "[%8ld] initializing tooltips\n", currentTimeMillis());
+   }
+   _fTooltip= XLoadQueryFont(display, Config.szTooltipFont);
+   if (!_fTooltip) {
+     fprintf(stderr, "%s: couldn't allocate font '%s'.\n", app_name, Config.szTooltipFont);
+     if (!strcmp(Config.szTooltipFont, TOOLTIP_FONT))
+       fprintf(stderr, "%s: Use option -F <font>\n", app_name);
+     exit(-1);
+   }
+   _nFontHeight= _fTooltip->ascent + _fTooltip->descent;
+   _nFontY= _fTooltip->ascent;
+   _nScreenWidth= WidthOfScreen(ScreenOfDisplay(display, screen));
+   _nScreenHeight= HeightOfScreen(ScreenOfDisplay(display, screen));
+   if (Config.Verbose) {
+     fprintf(stdout, "[%8ld] configuring tooltip font:\n" \
+ 	    "[%8ld] - '%s'\n" \
+ 	    "[%8ld] - font-height= %d, font-ascent= %d\n" \
+ 	    "[%8ld] configuring screen size: %dx%d\n",
+ 	    currentTimeMillis(), 
+ 	    currentTimeMillis(), Config.szTooltipFont, 
+ 	    currentTimeMillis(), _nFontHeight, _nFontY,
+ 	    currentTimeMillis(), _nScreenWidth, _nScreenHeight  );
+   }
+ 
+   vmask= CWSaveUnder | CWOverrideRedirect | CWBorderPixel;
+   attribs.save_under= True;
+   attribs.override_redirect= True;
+   attribs.border_pixel= 0;
+   _wTooltip= XCreateWindow(display, rootwin, 1, 1, 10, 10, 1,
+ 			   CopyFromParent, CopyFromParent, 
+ 			   CopyFromParent, vmask, &attribs);
+   if (win == 0) {
+     fprintf(stderr, "Cannot create tooltip window.\n");
+     exit(-1);
+   }
+ }/**********************************************************************/
+ 
+ void destroyTooltip () {
+   extern Display *display;
+ 
+   if (Config.bTooltipDisable) {
+     return;
+   }
+   if (_gcMono) {
+     XFreeGC(display, _gcMono);
+     _gcMono= 0;
+   }
+   XDestroyWindow(display, _wTooltip);
+ }/**********************************************************************/
+ 
+ void drawTooltipBalloon (Pixmap pix, GC gc, int x, int y, int w, int h, int side) {
+   extern Display *display;
+   int rad = h*3/10;
+   XPoint pt[3];
+ 
+   XFillArc(display, pix, gc, x, y, rad, rad, 90*64, 90*64);
+   XFillArc(display, pix, gc, x, y+h-1-rad, rad, rad, 180*64, 90*64);
+ 
+   XFillArc(display, pix, gc, x+w-1-rad, y, rad, rad, 0*64, 90*64);
+   XFillArc(display, pix, gc, x+w-1-rad, y+h-1-rad, rad, rad, 270*64, 90*64);
+ 
+   XFillRectangle(display, pix, gc, x, y+rad/2, w, h-rad);
+   XFillRectangle(display, pix, gc, x+rad/2, y, w-rad, h);
+ 
+   if (side & TOOLTIP_BOTTOM) {
+     pt[0].y = y+h-1;
+     pt[1].y = y+h-1+TOOLTIP_SPACE;
+     pt[2].y = y+h-1;
+   } else {
+     pt[0].y = y;
+     pt[1].y = y-TOOLTIP_SPACE;
+     pt[2].y = y;
+   }
+   if (side & TOOLTIP_RIGHT) {
+     pt[0].x = x+w-h+2*h/16;
+     pt[1].x = x+w-h+11*h/16;
+     pt[2].x = x+w-h+7*h/16;
+   } else {
+     pt[0].x = x+h-2*h/16;
+     pt[1].x = x+h-11*h/16;
+     pt[2].x = x+h-7*h/16;
+   }
+   XFillPolygon(display, pix, gc, pt, 3, Convex, CoordModeOrigin);
+ }/**********************************************************************/
+ 
+ Pixmap createTooltipPixmap (int width, int height, int side, Pixmap *mask) {
+   extern Display *display;
+   extern GC gc;
+   extern Pixel bg_pixel, fg_pixel;
+   extern int depth;
+   extern Window rootwin;
+   Pixmap bitmap;
+   Pixmap pixmap;
+   int x, y;
+ 
+   bitmap = XCreatePixmap(display, rootwin, 
+ 			 width+TOOLTIP_SPACE, height+TOOLTIP_SPACE, 1);
+ 
+   if (!_gcMono) {
+     _gcMono= XCreateGC(display, bitmap, 0, NULL);
+   }
+   XSetForeground(display, _gcMono, 0); 
+   XFillRectangle(display, bitmap, _gcMono, 0, 0, 
+ 		 width+TOOLTIP_SPACE, height+TOOLTIP_SPACE);
+ 
+   pixmap = XCreatePixmap(display, rootwin, 
+ 			 width+TOOLTIP_SPACE, height+TOOLTIP_SPACE, depth);
+   XSetForeground(display, gc, Config.bTooltipSwapColors ? fg_pixel : bg_pixel);
+   XFillRectangle(display, pixmap, gc, 0, 0, 
+ 		 width+TOOLTIP_SPACE, height+TOOLTIP_SPACE);
+ 
+   if (side & TOOLTIP_BOTTOM) {
+     y = 0;
+   } else {
+     y = TOOLTIP_SPACE;
+   }
+   x = 0;
+ 
+   XSetForeground(display, _gcMono, 1);
+   drawTooltipBalloon(bitmap, _gcMono, x, y, width, height, side);
+   XSetForeground(display, gc, Config.bTooltipSwapColors ? bg_pixel : fg_pixel);
+   drawTooltipBalloon(pixmap, gc, x+1, y+1, width-2, height-2, side);
+ 
+   *mask = bitmap;
+ 
+   return pixmap;
+ }/***********************************************************************/
+ 
+ 
+ /***********************************************************************
+  *   flush_expose
+  *
+  *   Everyone else has one of these... Can't hurt to throw it in.
+  ***********************************************************************/
+ int flush_expose(Window w) {
+   extern Display *display;
+   XEvent         dummy;
+   int            i=0;
+ 
+   while (XCheckTypedWindowEvent(display, w, Expose, &dummy)) i++;
+   return(i);
+ }/***********************************************************************/
diff --cc wmbutton.h
index 0000000,178f896..324c37f
mode 000000,100644..100644
--- a/wmbutton.h
+++ b/wmbutton.h
@@@ -1,0 -1,107 +1,110 @@@
+ /* wmbutton.h - Edward H. Flora - ehf_dockapps at cox.net */
+ /* Last Modified 3/27/04 */
+ 
+ /******  Include Files ***************************************************/
 -#include <Xlib.h>
 -#include <Xutil.h>
 -#include <xpm.h>
 -#include <extensions/shape.h>
 -#include <keysym.h>
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
++#include <X11/xpm.h>
++#include <X11/extensions/shape.h>
++#include <X11/keysym.h>
+ #include <math.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <sys/time.h>
+ #include <unistd.h>
+ 
+ /******  Define Config File Info  ***************************************/
+ #define CONFFILENAME  "/.wmbutton"   /* Default conf filename $HOME/.wmbutton */
++#define CONFIGGLOBAL "/etc/wmbutton.conf" // added for Debianization
+ #define BUTTONFILENAME "/.wmbutton.xpm"
+ 
 -/******  Version / Release Number ***************************************/
 -#define VER           0     /* Version Number */     
 -#define REL           6     /* Release Number */
++/******  Version Number *************************************************/
++#define VER_STR       "0.6.1"     /* Version Number String*/     
++#define VER_MAJOR     0			  /* Major version number*/
++#define VER_MINOR     6           /* Minor version number*/
++#define VER_PATH      1           /* Patch Level*/
+ 
+ /******  Define Error Codes *********************************************/
+ #define FAILDISP      20
+ #define FAILSWIN      21
+ #define FAILICON      22
+ #define FAILXPM       23
+ #define FAILWNAM      24
+ #define FAILGC        25
+ #define FAILCONF      26
+ #define FAILTMPL      27
+ #define FAILVIS       28
+ #define FAILBUT       29
+ 
+ /******   Define Other Options  ****************************************/
+ #define VERB          0      /* Enable=1, Disable=0: Debugging (verbose) Mode*/
+ #define MIDMOUSE      1      /* Define Middle Mouse functionality */
+ #define LMASK         0      /* left button mask: run app # mask + button #*/
+ #define MMASK         10     /* middle button mask: run app # mask + button #*/
+ #define RMASK         20     /* right button mask: run app # mask + button #*/
+ #define NUMB_OF_APPS  9      /* Define number of apps */
+ 
+ #define EOLN '\n'	     /* Defines the new line character */
+ #define SIZE1 20	     /* Defines the increment to increase the */
+ 			     /*   string by until a newline of EOF is found */
+ 
+ /******   Defines for Tool Tips  ***************************************/
+ #define TOOLTIP_SUPPORT      1
+ #define TOOLTIP_FONT         "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
+ #define TOOLTIP_FONT_LEN     128
+ #define TOOLTIP_SHOW_DELAY   750
+ #define TOOLTIP_RESHOW_DELAY 1500
+ 
+ #define TOOLTIP_SPACE   12
+ #define TOOLTIP_TOP	 0
+ #define TOOLTIP_BOTTOM	 1
+ #define TOOLTIP_LEFT	 0
+ #define TOOLTIP_RIGHT	 2
+ 
+ #define BUTTON_SIZE     18
+ #define BUTTON_COLS      3
+ 
+ #define BUFFER_SIZE 1024
+ 
+ /******  Typedefs  *******************************************/
+ 
+ struct Config_t {
+   char *configfile;
+   char *buttonfile;
+   char *Geometry_str;
+   char *Display_str;
+   int mmouse;
+   int Verbose;
+   char* szTooltipFont;
+   int bTooltipSwapColors;
+   int bTooltipDisable;
+ };
+ 
+ /******  Function Prototyes  *******************************************/
+ void RunAppN(int app);             // function to run app N as found in conf file
+ char *Parse(int app);              // parse data in config file
+ void parseargs(int argc, char **argv);
+ char *readln(FILE *fp);            // read line from file, return pointer to it
+ void err_mess(int err, char *str); // Error Handling Routine
+ void show_usage(void);            // show usage message to stderr
+ int  flush_expose(Window w);
+ 
+ 
+ /******  Tooltip Function Prototypes  **********************************/
+ void initTooltip();
+ void destroyTooltip ();
+ int hasTooltipSupport ();
+ void showTooltip (int nButton, int nMouseX, int nMouseY);
+ void hideTooltip ();
+ int hasTooltip ();
+ void drawTooltipBalloon (Pixmap pix, GC gc, int x, int y, int w, int h, int side);
+ Pixmap createTooltipPixmap (int width, int height, int side, Pixmap *mask);
+ 
+ void initTime ();
+ long currentTimeMillis ();
+ void getWindowOrigin (Window w, int* nX, int* nY);
+ void getButtonLocation (int nButton, int* nLocationX, int* nLocationY);
+ char *getButtonAppNames (int nButton);
+ 
+ /**********************************************************************/

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmbutton.git



More information about the Pkg-wmaker-commits mailing list