--- habak-0.2.5.orig/debian/control +++ habak-0.2.5/debian/control @@ -0,0 +1,21 @@ +Source: habak +Section: x11 +Priority: optional +Maintainer: Debian QA Group +Build-Depends: debhelper (>= 5.0.0), quilt, libimlib2-dev +Standards-Version: 3.8.0 +Homepage: http://www.fvwm-crystal.org/ + +Package: habak +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: utility for creating multi-layered backgrounds in X11 + Habak is an utility which allows you to create X Window backgrounds + assembled from so called Habaks. Habaks could be images, texts or some + internal functions. + . + Habak uses layered model. The lowest one is completely black screen. You + can put other objects on it. Final wallpaper is usually made by combining + one or more objects (called habaks). Order of defining habaks in command + line is also order of putting them on stack, so the last one on the command + line is drawn over all of the previous habaks. --- habak-0.2.5.orig/debian/manpages +++ habak-0.2.5/debian/manpages @@ -0,0 +1 @@ +debian/habak.1 --- habak-0.2.5.orig/debian/changelog +++ habak-0.2.5/debian/changelog @@ -0,0 +1,32 @@ +habak (0.2.5-3) unstable; urgency=low + + * QA upload. + + Set maintainer to Debian QA Group . + * Add quilt patching system and build-dep. + * 01_no_segfault.diff - Don't segfault on no habak. (Closes: #401706). + + Thanks to Emil Nowak for the patch. + * 02_force_rm.diff - Don't fail on non-existent files on make clean. + * Update watch file. (Closes: #449810). + * Add ${misc:Depends}. + * Remove .pc dir on clean. + * Add Homepage. + * Make clean not ignore errors. + * Bump debhelper build-dep and compat to 5. + * Bump Standards Version to 3.8.0. + + -- Barry deFreese Sun, 25 Jan 2009 11:06:14 -0500 + +habak (0.2.5-2) unstable; urgency=low + + * Removed url to homepage cause it doesn't contain English translation, thus + is quite useless for most people. (Closes: #318427) + * Extended description. + + -- Bartosz Fenski Tue, 24 Jan 2006 12:07:27 +0100 + +habak (0.2.5-1) unstable; urgency=low + + * Initial Release (Closes: #268869) + + -- Bartosz Fenski Fri, 10 Sep 2004 21:37:36 +0200 + --- habak-0.2.5.orig/debian/README.en +++ habak-0.2.5/debian/README.en @@ -0,0 +1,315 @@ +Note: This is English translation of habak's documentation. + It was written by Bartosz Fenski for + the Debian GNU/Linux distribution (but it may be used by others). + Radoslaw Antoniuk fixed some mistakes but as English isn't my + (and his) native language, further fixes are welcome. + +Habak - "Ha" Background (*lat. "mentha longifolia") +========= + +Compilation: + You will need compiler, X and Imlib2. Standard. + Just type "make". + You can change default options in src/defaults.h. + +Installation: + Just put binary wherever you want. + +Short description: + +Habak uses layered model. Lowermost layer is just black screen. You can put +other objects on it and these objects are called habaks. +There are three kinds of habaks: graphic files (images), texts and "internal +objects". Final background image consists of one or more habaks positioned on the +black screen. The order of habaks in the command line is also the order of +displaying them on screen. So last habak would be drawn on the top of previous. + +Usage: +Habak can be handled by command line options. It can distinguish two kinds +of options: modifiers and habaks. Modifiers have -mX form, where "X" is +indicator of the specific modifier. Modifiers are divided to those which +get arguments and those which don't. + +Habaks have -hX form, where "X" is indication of the specific habak. Habaks +usually need an argument, but there is one exception from this rule and it will be +explained later. + +Remember: There are two kind of options. Those started with -m are +modifiers, and those with -h are habaks. + +Types of habaks: + +FIle habaks (graphic) -hi: + +Files with graphic (images) can be handled using -hi option. e.g. + +./habak -hi ~/graphic/wallpaper.jpg + +will add wallpaper.jpg file on the screen. If -hi option indicates directory +instead of file, habak will recursively generate list of files and choose +one of them. So if you have a bunch of images in ~/gfx/nice_wallpapers/ then +you can use habak to load random image. You just have to type: +'./habak -hi ~/gfx/nice_wallpapers/' + +If you're using habak with a -hi option and you'll not pass any file to +load, habak will use last used file (from the previous -hi option) or start +searching your $HOME for files. + +Option "-hi" can be usually skipped. You can pass a name of directory/file at +sight. So you can simply enter: + +./habak ~/graphic/wallpaper.jpg + +Text habaks -ht: +You can as well draw texts on screen. That's what text habak, option -ht, is +for. Its argument is one line of text. It doesn't matter what kind of text +it would be. You can use kernel version, date, your name, favourite +distribution or name of cat which is basking on your printer now. Choose +whatever you want. I like date. The text will be antialiased, but if you want to +use non-ASCII characters make sure you're encoding it with utf-8. + +If you'll use -ht option without arguments, habak will use last used text +(from the previous -ht option) or default text included in program. + +Internal habaks -hI: +Third (and last) type of habaks are internal habaks. They can be enabled +with -hI option. They don't get any external data, but generating some +pattern themselves. Right now there are only two patterns, "int" and "INT". +They're doing interlace. Here is example of usage: + +./habak -hI int + +Internal habak "int" makes interlace by fading out even lines of screen. +It's a cool effect, especially when wallpaper is put on to a colorful other +wallpaper. "INT" habak is almost identical, but it fades out uneven lines +(using "int" and "INT" together you can change all lines of screen). + +By default lines aren't turned off but only faden out to the very dark colour +(IMO it looks better). You can of course change that behaviour using colour +modifier -mc (will be explained later). + +If you're using -hI option without passing type of habak, by default last +used habak will be used or default "int". + +REMEMBER: There are three kinds of habaks: +-hi File habak, designed to load image files. If you won't pass any + argument, it will use last appeared one or try to load "./logo.png". + +-ht Text habak, give it line of text to draw on screen. + If you won't pass any argument it will use last given text or default + ("Habak v.x.y.z"). + +-hI Internal habak, generates some pattern itself. Again, if you won't + pass it any argument, it will use last used. If it can't find anyone + then default "int" will be used. + +PHILOSOPHY OF USAGE +Habaks can (and should) be combined. For example: + +./habak -hi ~/gfx/cool.jpg -hI int -hi ~/gfx/small_logo.png -ht "Foo bar" + +means that file cool.jpg will be drawn first, then internal habak +"interlace" will be used, then another image small_logo.png, and finally +text "Foo bar" will be added. Simple. + +MODIFIERS +Of course habaks themselves wouldn't be very flexible, so there are many +modifiers which can change their look. Some of the modifiers are even +must-use to get something useful on screen. There is a general group of +properties which habaks own. In the beginning, the program has some defaults which +can be changed later with various modifiers. If you launch habak from the +command line, it makes a "snapshot" of the current properties. You can change +them later and add next habak. Changing habak's options after putting it on +screen doesn't work. Treat it like you would be a photographer - you +arrange some scenario and make snapshot of it. Then you change something in +arrangement and make another snapshot. This way habak generates successive +frames of the screen which will be rendered later. + +Modifier -mC +-mC is a centering modifier. It will enforce habak to be centered on +screen. Its activity will be disabled if you use option -mp later. +This modifier is disabled by default. + +Modifier -mS +-mS is a scaling modifier. Habak will be rescaled to use whole screen (but +saving its proportions). It is useful only for file habaks (images). It is +disabled by default. Its activity can be negated using -mp later. + +Modifier -ms +-ms is a scaling modifier too, but it ignores propotions of the image. +Image will use whole screen but will be probably deformed (on of its +dimension will be stretched). By default it is disabled, can be negated by +-mp too. + +Modifier -mp +-mp is a position modifier. It specifies exact position of the habak on +screen. It needs additional argument 'x,y', for example: + +./habak -mp 10,50 ~/gfx/ala.jpg + +will render file ala.jpg in the way that its top left corner will be +rendered at 10,50 point of screen. Coordinates can be negative, so +position is being counted from the opposite side of screen. For example: + +./habak -mp -10,50 ~/gfx/ala.jpg + +will render habak ten pixels from right side of screen and 50 pixels from +top edge. To render habak at the top right corner you have to use '-mp -0,0' + +Using this modifier will disable -mC, -ms or -mS + +If you don't use -mp then by default screen will be centered. + +Modifier -mc +-mc is a colour modifier. Some of the habaks can react on colour settings +(for example text or internal habaks which make interlace). This habak gets +argument describing colour in the format R,G,B,A. For example: + +./habak -mc 50,60,70,190 -hI int + +means using internal "int" habak with colour: +- red channel set to 50 +- green channel set to 60 +- blue channel set to 70 +- alpha channel (transparency level) set to 190 + +All numbers can be from 0 (minimal saturation) to 255 (maximal saturation) +range. + +For example '-mc 0,0,0,255' means black colour without transparency, and +'-mc 255,255,255,0' means white with completely transparent (so unvisible). +'-mc 200,0,0,128' means bright red colour with transparency set to 50%. + +By default (before you use -mc) colour is set to something like lightly +dirty, transparently white. + +Modifier -mf +This modifier selects font (used to draw texts). +You can choose TrueType font with it, for example: + +./habak -mf ~/.fonts/fajny_font.ttf + +You can also select directory with fonts. Then habak will choose one random +font from this directory. + +If you use text habak with -ht option, and you don't define font, habak +will try to load random font from ~/.fonts directory. But if you +don't have any fonts there, habak will stop working. So remember if you +want to draw some texts make sure you've defined font correctly. + +Modifier -mh +This modifier will set needed font size (in pixels). For example: + +./habak -mh 50 -mf ~/.fonts/cool_font.ttf + +will choose font "cool_font.ttf" with the 50 pixels size + +If you don't use -mh, then default size will be used. AFAIR 30 pixels. + +REMEMBER: habak stores default "properties" list related to habaks. Those +properties can be changed with modifiers. Habak will "get" current settings +when you run it. You have the following modifiers: + +-mC centering modifier. Habaks will be centered on screen. It disables + activity of the last used -mp modifier. By default disabled. + +-mp positioning modifier. You pass it coordinates X,Y for habak. It + disables activity of the last used -mC modifier. By default disabled. + +-mS scaling modifier (with proportions). By default disabled. + +-ms scaling modifier (without proportions). By default disabled. + +-mc Colour modifier R,G,B,A. By default it's set to lightly dirty, + transparent white. + +-mf Font modifier. Pass it path to some .ttf file. By default it's set + to $HOME/.fonts directory. + +-mh Font size modifier. Pass it needed font size in pixels. + By default it's set to 30 pixels. + + + +*** EXAMPLES *** EXAMPLES *** EXAMPLES *** EXAMPLES *** EXAMPLES *** + +Ok. Here goes some examples: + +./habak -mf ~/.fonts/deltafont.ttf -mh 15 -mp 0,-0 -mc 240,240,240,200 \ +-ht "User $USER on day `date +%Y-%m-%d`" + +will for example render string "User grzegorz on day 2003-12-21", using +font deltafont.ttf with 15 pixels size. String will be placed in the top +left corner and will be drawn with grey colour and little transparency. + +Of course it was very easy example, we can complicate it a little: + +./habak -mC -hi /usr/local/share/backgrounds/lens \ +-mf ~/.fonts/deltafont.ttf -mh 15 -mp 0,-0 -mc 240,240,240,200 \ +-ht "User $USER on day `date +%Y-%m-%d`" + +Now we put centered, randomly chosen image from +/usr/local/share/backgrounds/lens first. Then we render text on it. +We can complicate it a little bit more: + +./habak -mC -hi /usr/local/share/backgrounds/lens \ +-mp 5,-0 -mc 240,240,240,100 -mf ~/.fonts/deltafont.ttf -mh 15 \ +-ht "User $USER on day `date +%Y-%m-%d`" \ +-mp 0,-5 -mc 240,240,240,255 -ht + +This is similar situation, but I complicated text behaviour a little. +I'm generating *two* font habaks with the same text, but one of them is +moved and has less transparency. It appears as nice shadow effect. +Using *several* such shadows with random sizes and transparency you can get +very nice effects. Consider that I'm using inheritance(?) here - font and +its size is set only once, then when I have to generate second time the +same text I can change only its place and colour, -ht is being used without +argument - so it takes argument from the previous instance of -ht. + +Ok. Let's rock: + +./habak -mC -hi ~/gfx/new/ \ +-hI int \ +-mf ~/.fonts/deltafont.ttf -mh 50 -mC -ht\ +-mh 15 -mp 5,-0 -mc 240,240,240,100 \ +-ht "User $USER on day `date +%Y-%m-%d`" \ +-mp 0,-5 -mc 240,240,240,255 -ht + +Here I added internal "interlace" habak between image from +/usr/local/share/backgrounds/lens and font habaks. Thanks to it image is +a little interlaced, but text is not (cause it's laying above interlace). +In addition between main wallpaper and interlace there is "default text" +drawn with big font. + +Maybe some simple example with putting logo? + +./habak -mC -hi ~/utena_4_1024.jpg \ +-mp 0,0 -hi ~/logo.png \ +-mp 0,-0 -hi \ +-mp -0,0 -hi \ +-mp -0,-0 -hi \ +-mp -15,-15 -hi \ +-mp -30,-30 -hi + +We're loading centered background utena_4_1024.jpg first. Then in the +corner 0,0 we're putting logo.png. Then we're doing the same for every +corner, but we're using "-hi" without arguments to simplify it. At the end +we're putting logo in the -0,-0 corner and two more times the same logo but +moved 15 pixels on the both X,Y axises. Then we can see how different +transparencies are merged together. + +We can simplify it a bit, skipping some options: + +./habak ~/utena_4_1024.jpg \ +-mp 0,0 ~/logo.png \ +-mp 0,-0 -hi \ +-mp -0,0 -hi \ +-mp -0,-0 -hi \ +-mp -15,-15 -hi \ +-mp -30,-30 -hi + +I skipped -mC -hi before main picture, cause centering is default behaviour +and we know that it's a picture from the context. Habak will handle it. +I've removed -hi before ~/logo.png from the same manner. + + --- habak-0.2.5.orig/debian/install +++ habak-0.2.5/debian/install @@ -0,0 +1 @@ +habak /usr/bin --- habak-0.2.5.orig/debian/docs +++ habak-0.2.5/debian/docs @@ -0,0 +1,3 @@ +README +TODO +debian/README.en \ No newline at end of file --- habak-0.2.5.orig/debian/watch +++ habak-0.2.5/debian/watch @@ -0,0 +1,3 @@ +version=3 +#http://lubuska.zapto.org/~hoppke/yellow_brown/habak-(.*)\.tar\.bz2 +http://download.gna.org/fvwm-crystal/habak/0.2.5/habak-([\d.]+)\.tar\.gz --- habak-0.2.5.orig/debian/habak.1 +++ habak-0.2.5/debian/habak.1 @@ -0,0 +1,18 @@ +.TH "habak" "1" "0.2.4" "Bartosz Fenski " "Utils" +.SH "NAME" +habak \- utility for creating multi-layered backgrounds in X11 +.SH "SYNTAX" +.LP +.B habak [\fIoptions\fP] [\fIfilename...\fP] +.SH "DESCRIPTION" +.LP +This program is a free (GPL) background creator for X11. +.SH "OPTIONS" +Options and examples of usage can be found in habak's documentation. +.SH "AUTHORS" +.LP +habak is developed by Grzegorz Nieweglowski . +.br +This man page was written by Bartosz Fenski for the +Debian GNU/Linux distribution (but it may be used by others). + --- habak-0.2.5.orig/debian/compat +++ habak-0.2.5/debian/compat @@ -0,0 +1 @@ +5 --- habak-0.2.5.orig/debian/dirs +++ habak-0.2.5/debian/dirs @@ -0,0 +1 @@ +usr/bin --- habak-0.2.5.orig/debian/copyright +++ habak-0.2.5/debian/copyright @@ -0,0 +1,20 @@ +This package was debianized by Bartosz Fenski on +Fri, 10 Sep 2004 21:37:36 +0200. + +It was downloaded from http://lubuska.zapto.org/~hoppke/yellow_brown/index.html + + Upstream Author: Grzegorz Nieweglowski + +Copyright: + + Copyright 2003-2004 Grzegorz Nieweglowski + +License: + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + On Debian systems, the complete text of the GNU General Public License + can be found in the file `/usr/share/common-licenses/GPL'. --- habak-0.2.5.orig/debian/rules +++ habak-0.2.5/debian/rules @@ -0,0 +1,72 @@ +#!/usr/bin/make -f +# rules file for habak (September 2004) + +# 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 +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2 + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + $(MAKE) + touch build-stamp + +clean: + dh_testdir + dh_testroot + + [ -f configure-stamp ] || QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2 + + rm -f build-stamp configure-stamp + [ ! -f Makefile ] || $(MAKE) clean + + QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2 + + rm -rf .pc + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + dh_install + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs ChangeLog + dh_installdocs + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + 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 --- habak-0.2.5.orig/debian/patches/series +++ habak-0.2.5/debian/patches/series @@ -0,0 +1,2 @@ +01_no_segfault.diff +02_force_rm.diff --- habak-0.2.5.orig/debian/patches/02_force_rm.diff +++ habak-0.2.5/debian/patches/02_force_rm.diff @@ -0,0 +1,21 @@ +Index: habak-0.2.5/Makefile +=================================================================== +--- habak-0.2.5.orig/Makefile 2009-01-25 11:22:18.000000000 -0500 ++++ habak-0.2.5/Makefile 2009-01-25 11:22:26.000000000 -0500 +@@ -3,5 +3,5 @@ + + clean: + make -C src clean +- rm habak ++ rm -f habak + +Index: habak-0.2.5/src/Makefile +=================================================================== +--- habak-0.2.5.orig/src/Makefile 2009-01-25 11:22:37.000000000 -0500 ++++ habak-0.2.5/src/Makefile 2009-01-25 11:22:50.000000000 -0500 +@@ -20,4 +20,4 @@ + gcc $(CFLAGS) -c xcore.c -o xcore.o + + clean: +- rm habak *.o ++ rm -f habak *.o --- habak-0.2.5.orig/debian/patches/01_no_segfault.diff +++ habak-0.2.5/debian/patches/01_no_segfault.diff @@ -0,0 +1,12 @@ +Index: habak-0.2.5/src/habak.c +=================================================================== +--- habak-0.2.5.orig/src/habak.c 2009-01-25 11:12:50.000000000 -0500 ++++ habak-0.2.5/src/habak.c 2009-01-25 11:13:23.000000000 -0500 +@@ -341,6 +341,7 @@ + } + + /* Dobra, czas na postprocessing */ ++if (!first_list_item) flush_habak(); + current_list_item=first_list_item; + + do {