initial release
[skippy-xd] / skippy-debian.patch
1 --- skippy-0.5.1rc1.orig/debian/docs
2 +++ skippy-0.5.1rc1/debian/docs
3 @@ -0,0 +1 @@
4 +debian/README.Debian
5 --- skippy-0.5.1rc1.orig/debian/menu
6 +++ skippy-0.5.1rc1/debian/menu
7 @@ -0,0 +1,2 @@
8 +?package(skippy):needs="X11" section="Apps/Tools"\
9 +  title="skippy" command="/usr/bin/skippy"
10 --- skippy-0.5.1rc1.orig/debian/control
11 +++ skippy-0.5.1rc1/debian/control
12 @@ -0,0 +1,20 @@
13 +Source: skippy
14 +Section: x11
15 +Priority: optional
16 +Maintainer: Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>
17 +Build-Depends: debhelper (>= 4.1.0), libxft-dev, libimlib2-dev, libxmu-dev, cdbs, libpcre3-dev
18 +Standards-Version: 3.6.1
19 +
20 +Package: skippy
21 +Architecture: any
22 +Depends: ${shlibs:Depends}
23 +Description: full-screen X11 task/window switcher, similar to OSX Expose
24 + Skippy provides an alternative to taskbars or regular task-switchers,
25 + by showing full-screen view of all the open windows on the current
26 + desktop. You can navigate among the windows and select using the
27 + mouse or keyboard. Skippy will work with any NETWM or GNOME WM Specs
28 + compliant window-manager.
29 + .
30 + If you are using X.org's Xserver with the XDamage, Xcomposite, and
31 + XFixes extensions, you probably want skippy-xd instead.
32 + (they will be packaged in debian when X.org is available).
33 --- skippy-0.5.1rc1.orig/debian/rules
34 +++ skippy-0.5.1rc1/debian/rules
35 @@ -0,0 +1,22 @@
36 +#!/usr/bin/make -f
37 +# -*- makefile -*-
38 +
39 +include /usr/share/cdbs/1/rules/debhelper.mk
40 +include /usr/share/cdbs/1/class/makefile.mk
41 +include /usr/share/cdbs/1/rules/simple-patchsys.mk
42 +
43 +DEB_MAKE_INVOKE                := CFLAGS="$(CFLAGS)" make 
44 +DEB_MAKE_CLEAN_TARGET   := clean
45 +DEB_MAKE_BUILD_TARGET   := all
46 +DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(CURDIR)/debian/skippy/ PREFIX=/usr/
47 +DEB_INSTALL_MANPAGES_skippy         := debian/skippyrc.1
48 +
49 +install/skippy::
50 +       mkdir -p $(CURDIR)/debian/skippy/etc/X11/skippy/
51 +       mkdir -p $(CURDIR)/debian/skippy/usr/share/doc/skippy/
52 +
53 +       cp -a $(CURDIR)/skippyrc-default \
54 +               $(CURDIR)/debian/skippy/etc/X11/skippy/skippyrc
55 +       cp -a $(CURDIR)/debian/examples \
56 +               $(CURDIR)/debian/skippy/usr/share/doc/skippy
57 +       cat $(CURDIR)/skippyrc-default >>  $(CURDIR)/debian/skippy/usr/share/doc/skippy/examples/skippyrc-default
58 --- skippy-0.5.1rc1.orig/debian/watch
59 +++ skippy-0.5.1rc1/debian/watch
60 @@ -0,0 +1,2 @@
61 +version=2
62 +http://thegraveyard.org/files/skippy-([0-9]+.*)\.tar\.bz2
63 --- skippy-0.5.1rc1.orig/debian/changelog
64 +++ skippy-0.5.1rc1/debian/changelog
65 @@ -0,0 +1,53 @@
66 +skippy (0.5.1rc1-1) unstable; urgency=low
67 +
68 +  * The "All Bugs Free Release".
69 +  * New Upstream Release.
70 +    . ported debian/patches/10_config_file_overflow_fix.patch to the new code.
71 +  * Fixed the watch file.
72 +  * Bug fix: "skippy's postinst should not echo", thanks to Michael Urman
73 +    (Closes: #302091).
74 +    . removed the skippy.postinst notification, 
75 +      ... let's hope the user will find the doc.
76 +  * Bug fix: "~/.skippyrc not loaded", thanks to Nick Hastings
77 +    (Closes: #302131).
78 +    . my patch was broken, this bug in fact was a missplaced printf.
79 +
80 + -- Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>  Wed, 30 Mar 2005 15:11:45 +0200
81 +
82 +skippy (0.5.0-3) unstable; urgency=low
83 +
84 +  * The "Documentation Bugs Free Release".
85 +  * Bug fix: "README.Debian mistake: XSession.d instead of Xsession.d", 
86 +    thanks to Adam Porter (Closes: #302055).
87 +    . fixed the (last ?) typo in README.Debian.
88 +  * Added a block to README.Debian about single user use
89 +
90 + -- Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>  Wed, 30 Mar 2005 01:03:56 +0200
91 +
92 +skippy (0.5.0-2) unstable; urgency=low
93 +
94 +  * Added a note about auto-startup of skippy to Readme.Debian, skippy.postinst
95 +    and created the /usr/share/doc/skippy/examples directory. 
96 +    (thanks to Steve Kemp).
97 +  * Added 11_find_skippyrc_in_etc.patch and copied the default skippyrc there.
98 +    (thanks to David Moreno Garza).
99 +  * Bug fix: "skippy: man page issues", thanks to Andre Lehovich and Zack Cerza
100 +    (Closes:  #301581).
101 +    . the default skippyrc is now on the right place.
102 +    . fixed typo, removed useless SYNOPSYS field
103 +  * Bug fix: "Error:BadAccess (attempt to access private resource
104 +    denied); on startup", thanks to Wesley J. Landaker (Closes:  #300991).
105 +    . Added a note on the README file.
106 +
107 + -- Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>  Sun, 27 Mar 2005 13:26:00 +0200
108 +
109 +skippy (0.5.0-1) unstable; urgency=low
110 +
111 +  * Initial Release.
112 +  * Fixed typos and first packages stupidity, thanks to Steve Greenland.
113 +    . .skippyrc manpage.
114 +    . Description: field.
115 +  * Moved package to cdbs
116 +  * Uploaded to Debian (closes: #259096)
117 +
118 + -- Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>  Sun, 30 Jan 2005 01:42:41 +0100
119 --- skippy-0.5.1rc1.orig/debian/manpages
120 +++ skippy-0.5.1rc1/debian/manpages
121 @@ -0,0 +1,2 @@
122 +debian/skippy.1
123 +debian/skippyrc.1
124 --- skippy-0.5.1rc1.orig/debian/compat
125 +++ skippy-0.5.1rc1/debian/compat
126 @@ -0,0 +1 @@
127 +4
128 --- skippy-0.5.1rc1.orig/debian/skippy.1
129 +++ skippy-0.5.1rc1/debian/skippy.1
130 @@ -0,0 +1,75 @@
131 +.\"                                      Hey, EMACS: -*- nroff -*-
132 +.\" 
133 +.\" 
134 +.\"   This manpage is free software; you can redistribute it and/or modify
135 +.\"   it under the terms of the GNU General Public License as published by
136 +.\"   the Free Software Foundation; version 2 dated June, 1991.
137 +.\"
138 +.\"   This package is distributed in the hope that it will be useful,
139 +.\"   but WITHOUT ANY WARRANTY; without even the implied warranty of
140 +.\"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
141 +.\"   GNU General Public License for more details.
142 +.\"
143 +.\"   You should have received a copy of the GNU General Public License
144 +.\"   along with this package; if not, write to the Free Software
145 +.\"   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
146 +.\"   02111-1307, USA.
147 +.\"
148 +.\"  On Debian systems, the complete text of the GNU General Public
149 +.\"  License can be found in the file `/usr/share/common-licenses/GPL'.
150 +.\"
151 +.\"
152 +.\" First parameter, NAME, should be all caps
153 +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
154 +.\" other parameters are allowed: see man(7), man(1)
155 +.TH SKIPPY 1 "December  6, 2004"
156 +.\" Please adjust this date whenever revising the manpage.
157 +.\"
158 +.\" Some roff macros, for reference:
159 +.\" .nh        disable hyphenation
160 +.\" .hy        enable hyphenation
161 +.\" .ad l      left justify
162 +.\" .ad b      justify to both left and right margins
163 +.\" .nf        disable filling
164 +.\" .fi        enable filling
165 +.\" .br        insert line break
166 +.\" .sp <n>    insert n+1 empty lines
167 +.\" for manpage-specific macros, see man(7)
168 +.SH NAME
169 +skippy \- Full Screen Task Switcher for X11
170 +.SH SYNOPSIS
171 +.B skippy
172 +.SH DESCRIPTION
173 +.\" TeX users may be more comfortable with the \fB<whatever>\fP and
174 +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
175 +.\" respectively.
176 +\fBskippy\fP is a program that allows you to manage your windows in an
177 +efficient way. It is highly inspired by Apple Expose.
178 +.SH NOTE
179 +If you are using the X.org X server, there is a version of skippy,
180 +called skippy-xd that makes use of the new XDamage, XComposite and
181 +XFixes extensions. I suggest you use the xd version instead.
182 +
183 +Please note that skippy won't launch when another application is using
184 +X_GrabKey ( such as xbindkeys ), please see the README.Debian file for
185 +more informations.
186 +
187 +.SH USAGE
188 +Press the hotkey (the default hotkey is F11). Then choose a window
189 +with either the keyboard (you can use up, down, left and right to
190 +navigate) or the mouse (just hover over a window) and activate it by
191 +pressing the left mouse button or the return or spacebar key.
192 +
193 +.SH FILES
194 +.BR ~/.skippyrc
195 +.BR /etc/X11/skippy/skippyrc
196 +
197 +.SH SEE ALSO
198 +.BR skippyrc (1),
199 +.BR skippy-xd (1)
200 +
201 +.SH AUTHOR
202 +skippy was written by Hyriand <hyriand@thegraveyard.org>.
203 +.PP
204 +This manual page was written by Niv ALTIVANIK <xaiki@cxhome.ath.cx>,
205 +for the Debian project (but may be used by others).
206 --- skippy-0.5.1rc1.orig/debian/README.Debian
207 +++ skippy-0.5.1rc1/debian/README.Debian
208 @@ -0,0 +1,25 @@
209 +If you wish to have skippy automatically launched at X startup for all 
210 +your users please add the /usr/share/doc/skippy/examples/99Skippy file 
211 +to your /etc/X11/Xsession.d/
212 +
213 +If you only wish to have skippy loaded for single users, please add 
214 +skippy & 
215 +to your ~/.xsession ( for *dm based logins ) and ~/.xinitrc ( for startx 
216 +based X logins ) 
217 +
218 +--
219 +
220 +Warning: skippy won't work in conjunction of others x-key-grabbing application,
221 +such as xbindkeys for example
222 +
223 +If you get this error: 
224 +
225 +X Error of failed request:  BadAccess (attempt to access private resource denied)
226 +  Major opcode of failed request:  33 (X_GrabKey)
227 +  Serial number of failed request:  90
228 +  Current serial number in output stream:  90
229 +
230 +look for key-grabbing applications, and please report me if some package 
231 +auto-launches at X startup per default and breaks skippy.
232 +
233 + -- Niv Altivanik (Debian Packages) <xaiki+deb@cxhome.ath.cx>, Wed Mar 30 01:03:51 2005
234 --- skippy-0.5.1rc1.orig/debian/patches/10_config_file_overflow_fix.patch
235 +++ skippy-0.5.1rc1/debian/patches/10_config_file_overflow_fix.patch
236 @@ -0,0 +1,70 @@
237 +--- skippy-0.5.1rc1/config.c   2004-09-13 19:41:37.000000000 +0200
238 ++++ skippy-0.5.1rc1-fixed/config.c     2005-03-30 15:17:18.000000000 +0200
239 +@@ -70,14 +70,16 @@
240 + }
241
242 + static dlist *
243 +-config_parse(char *config)
244 ++config_parse(char *config, long flen)
245 + {
246 +       regex_t re_section, re_empty, re_entry;
247 +       regmatch_t matches[5];
248 +-      char line[8192], *section = 0;
249 ++      char *line, *section = 0;
250 +       int ix = 0, l_ix = 0;
251 +       dlist *new_config = 0;
252 +       
253 ++      line = (char *) malloc(sizeof(char)*flen);
254 ++
255 +       regcomp(&re_section, "^[[:space:]]*\\[[[:space:]]*([[:alnum:]]*?)[[:space:]]*\\][[:space:]]*$", REG_EXTENDED);
256 +       regcomp(&re_empty, "^[[:space:]]*#|^[[:space:]]*$", REG_EXTENDED);
257 +       regcomp(&re_entry, "^[[:space:]]*([[:alnum:]]+)[[:space:]]*=[[:space:]]*(.*?)[[:space:]]*$", REG_EXTENDED);
258 +@@ -117,24 +119,28 @@
259 +       regfree(&re_empty);
260 +       regfree(&re_entry);
261 +       
262 ++      free(line);
263 ++
264 +       return new_config;
265 + }
266
267 + #else /* Use PCRE regexps */
268
269 + static dlist *
270 +-config_parse(char *config)
271 ++config_parse(char *config, long flen)
272 + {
273 +       pcre * re_section, * re_empty, * re_entry;
274 +       const char * pcre_err;
275 +       int pcre_err_pos;
276 +       int ovec[30], matches;
277 +       
278 +-      char line[8192];
279 ++      char *line;
280 +       const char *section = 0;
281 +       int ix = 0, l_ix = 0;
282 +       
283 +       dlist * new_config = 0;
284 ++
285 ++      line = (char *) malloc(sizeof(char)*flen);
286 +       
287 +       re_section = pcre_compile("^\\s*\\[\\s*(\\w*)\\s*\\]\\s*$", 0, &pcre_err, &pcre_err_pos, 0);
288 +       re_empty = pcre_compile("^\\s*#|^\\s*$", 0, &pcre_err, &pcre_err_pos, 0);
289 +@@ -180,6 +186,8 @@
290 +       pcre_free(re_section);
291 +       pcre_free(re_empty);
292 +       pcre_free(re_entry);
293 ++
294 ++      free(line);
295 +       
296 +       return new_config;
297 + }
298 +@@ -223,7 +231,7 @@
299 +       
300 +       fclose(fin);
301 +       
302 +-      config = config_parse(data);
303 ++      config = config_parse(data, flen);
304 +       
305 +       free(data);
306 +       
307 --- skippy-0.5.1rc1.orig/debian/patches/11_find_skippyrc_in_etc.patch
308 +++ skippy-0.5.1rc1/debian/patches/11_find_skippyrc_in_etc.patch
309 @@ -0,0 +1,17 @@
310 +--- skippy-0.5.0/skippy.c      2005-03-22 12:45:43.000000000 +0100
311 ++++ skippy-0.5.0-fixed/skippy.c        2005-03-30 14:27:09.000000000 +0200
312 +@@ -232,8 +232,13 @@
313 +               snprintf(cfgpath, 8191, "%s/%s", homedir, ".skippyrc");
314 +               config = config_load(cfgpath);
315 +       }
316 +-      else
317 ++      else
318 +               fprintf(stderr, "WARNING: $HOME not set, not loading config.\n");
319 ++      if(config == 0) {
320 ++        fprintf(stderr, "WARNING: $HOME/.skippyrc not found "
321 ++                        "loading default config.\n");
322 ++              config = config_load("/etc/X11/skippy/skippyrc");
323 ++      }
324 +       
325 +       wm_use_netwm_fullscreen(strcasecmp("true", config_get(config, "general", "useNETWMFullscreen", "true")) == 0);
326 +       wm_ignore_skip_taskbar(strcasecmp("true", config_get(config, "general", "ignoreSkipTaskbar", "false")) == 0);
327 --- skippy-0.5.1rc1.orig/debian/copyright
328 +++ skippy-0.5.1rc1/debian/copyright
329 @@ -0,0 +1,28 @@
330 +This package was debianized by Niv ALTIVANIK <xaiki@cxhome.ath.cx> on
331 +Mon,  6 Dec 2004 02:50:40 +0100.
332 +
333 +It was downloaded from http://thegraveyard.org/skippy.php
334 +
335 +Copyright: 2004 2005 Hyriand, TheGraveyard.org Project.
336 +
337 +Upstream Author: Hyriand hyriand@thegraveyard.org
338 +
339 +License:
340 +
341 +   This package is free software; you can redistribute it and/or modify
342 +   it under the terms of the GNU General Public License as published by
343 +   the Free Software Foundation; version 2 dated June, 1991.
344 +
345 +   This package is distributed in the hope that it will be useful,
346 +   but WITHOUT ANY WARRANTY; without even the implied warranty of
347 +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
348 +   GNU General Public License for more details.
349 +
350 +   You should have received a copy of the GNU General Public License
351 +   along with this package; if not, write to the Free Software
352 +   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
353 +   02111-1307, USA.
354 +
355 +  On Debian systems, the complete text of the GNU General Public
356 +  License can be found in the file `/usr/share/common-licenses/GPL'.
357 +
358 --- skippy-0.5.1rc1.orig/debian/skippyrc.1
359 +++ skippy-0.5.1rc1/debian/skippyrc.1
360 @@ -0,0 +1,101 @@
361 +.\"                                      Hey, EMACS: -*- nroff -*-
362 +.\" 
363 +.\"   This manpage is free software; you can redistribute it and/or modify
364 +.\"   it under the terms of the GNU General Public License as published by
365 +.\"   the Free Software Foundation; version 2 dated June, 1991.
366 +.\"
367 +.\"   This package is distributed in the hope that it will be useful,
368 +.\"   but WITHOUT ANY WARRANTY; without even the implied warranty of
369 +.\"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
370 +.\"   GNU General Public License for more details.
371 +.\"
372 +.\"   You should have received a copy of the GNU General Public License
373 +.\"   along with this package; if not, write to the Free Software
374 +.\"   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
375 +.\"   02111-1307, USA.
376 +.\"
377 +.\"  On Debian systems, the complete text of the GNU General Public
378 +.\"  License can be found in the file `/usr/share/common-licenses/GPL'.
379 +.\"
380 +.\" First parameter, NAME, should be all caps
381 +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
382 +.\" other parameters are allowed: see man(7), man(1)
383 +.TH SKIPPYRC 5 "December  6, 2004"
384 +.\" Please adjust this date whenever revising the manpage.
385 +.\"
386 +.\" Some roff macros, for reference:
387 +.\" .nh        disable hyphenation
388 +.\" .hy        enable hyphenation
389 +.\" .ad l      left justify
390 +.\" .ad b      justify to both left and right margins
391 +.\" .nf        disable filling
392 +.\" .fi        enable filling
393 +.\" .br        insert line break
394 +.\" .sp <n>    insert n+1 empty lines
395 +.\" for manpage-specific macros, see man(7)
396 +.SH NAME
397 +skippyrc \- Configuration file for skippy, a Full Screen Task Switcher for X11
398 +.SH DESCRIPTION
399 +.\" TeX users may be more comfortable with the \fB<whatever>\fP and
400 +.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
401 +.\" respectively.
402 +\fBskippy\fP is a program that allows you to manage your windows in an
403 +efficient way. It is highly inspired by Apple Expose.
404 +
405 +\fB~/.skippyrc\fP is its configuration file.
406 +
407 +.SH FORMAT
408 +for each SECTION (see below), you can define the following variables:
409 +
410 +.BR keysym 
411 + can be anything XStringToKeysym can handle
412 + (like F11, KP_Enter or implementation specific keysyms)
413 +
414 +.BR colors 
415 + can be anything XAllocNamedColor can handle
416 + (like "black" or "#000000")
417 +
418 +.BR distance 
419 + a relative number, and is scaled according to the scale
420 + factor applied to windows
421 +
422 +.BR fonts 
423 + Xft font descriptions
424 +
425 +.BR booleans 
426 + "true" or anything but "true" (-> false)
427 +
428 +.BR opacity 
429 + integer in the range of 0-255
430 +
431 +.BR brightness 
432 + floating point number (with 0.0 as neutral)
433 +
434 +.SH SECTIONS
435 +.BR [general]
436 +.BR [xinerama]
437 +.BR [normal]
438 +.BR [highlight]
439 +.BR [tooltip]
440 +
441 +.SH NOTE
442 +In Debian you can find a copy of the default skippyrc in
443 +/usr/share/doc/skippy/examples
444 +If no ~/.skippyrc exist, skippy will use /etc/X11/skippy/skippyrc
445 +
446 +If you are using the X.org X server, there is a version of skippy,
447 +called skippy-xd that makes use of the new XDamage, XComposite and
448 +XFixes extensions. I suggest you use the xd version instead.
449 +
450 +.SH FILES
451 +/etc/X11/skippy/skippyrc
452 +~/.skippyrc
453 +
454 +.SH SEE ALSO
455 +.BR skippy (1),
456 +.BR skippy-xd (1)
457 +.SH AUTHOR
458 +skippy was written by Hyriand <hyriand@thegraveyard.org>.
459 +.PP
460 +This manual page was written by Niv ALTIVANIK <xaiki@cxhome.ath.cx>,
461 +for the Debian project (but may be used by others).
462 --- skippy-0.5.1rc1.orig/debian/examples/99skippy
463 +++ skippy-0.5.1rc1/debian/examples/99skippy
464 @@ -0,0 +1,5 @@
465 +#!/bin/sh
466 +# Add this file to /etc/X11/XSession.d/ if you wish the program to be 
467 +# started at login time for all the users on your system.
468 +
469 +/usr/bin/skippy & 
470 --- skippy-0.5.1rc1.orig/debian/examples/skippyrc-default
471 +++ skippy-0.5.1rc1/debian/examples/skippyrc-default
472 @@ -0,0 +1,3 @@
473 +# This is the Default Debian skippy configuration, it is copied to 
474 +# /etc/X11/skippy/skippyrc. 
475 +# Copy this to ~/.skippyrc and edit it to fit your needs