165 lines
6.6 KiB
Text
165 lines
6.6 KiB
Text
Habak - "Ha" Background
|
|
=========
|
|
|
|
Compilation:
|
|
We need a compiler, X server and Imlib2. Just run make, that's all.
|
|
|
|
Installation:
|
|
Well, place a ready binary where you want.
|
|
|
|
A short review:
|
|
|
|
|
|
Habak is using layers. The lowest layer is just a black screen.
|
|
On this you can place other objects, called habaks. There are
|
|
three kinds of habaks: graphic files (images), fonts and "internal objects"
|
|
(internals). Wallaper is created by putting on a black screen
|
|
one or more habaks. An order of habaks in command line is an order
|
|
of putting them on desktop, so the last habak will be drawed above
|
|
previous habaks.
|
|
|
|
Kinds of habaks:
|
|
|
|
|
|
Files (images) are included by -i option, ie:
|
|
|
|
./habak -i ~/graphics/wallpaper.jpg
|
|
|
|
will include to desktop wallpaper.jpg file. If you typed after -i not a file,
|
|
but a directory, habak would create a list of files contained within, randomly
|
|
select any one of them, and then try to load it. In other words,
|
|
if you have a lot of pictures in ~/gfx/nice_wallpapers/ then habak
|
|
can choose random image. You only need to run './habak -i ~/gfx/nice_wallpapers/'
|
|
|
|
Aside from files, you can use fonts (TrueType). Option -f will be useful in this
|
|
case. By means of -f option you have to point a file with TrueType font, ie.
|
|
|
|
./habak -f ~/.fonts/nice_font.ttf
|
|
|
|
You can set a size of font, by typing it following slash after font name, ie
|
|
'./habak -f ~/.fonts/nice_font.ttf/50'
|
|
|
|
Third (and last) type of habaks are internal habaks. You can enable them
|
|
by the -I option. They are not adopting any external data, but
|
|
themself generate some patterns. At this moment only two patterns
|
|
are available, "int" and "INT", which do an interlacing. For example:
|
|
|
|
./habak -I int
|
|
|
|
Internal habak "int" do an interlacing, by turning out even lines
|
|
of image. Very nice effect, especially if wallpaper is gaudy.
|
|
"INT" habak works identical as "int", but turns out odd lines
|
|
(by putting together "int" and "INT" you can turn out all lines of screen).
|
|
|
|
By default lines aren't turned out in fact, but darked (in my opinion
|
|
it generates a better effect), but you can control it by
|
|
-c color modifier (i will tell about it later).
|
|
|
|
|
|
USAGE PHILOSOPHY
|
|
You can (and you should to) put habaks together, ie.
|
|
|
|
./habak -i ~/gfx/cool.jpg -I int -i ~/gfx/small_logo.png -f ~/.fonts/deltafont.ttf -f ~/.fonts/deltafont.ttf/10
|
|
|
|
that syntax means, that habak will firstly draw coll.jpg file,
|
|
then put on internal habak "interlace", and then will draw small_logo.png
|
|
image, then deltafont.ttf font, and eventually one more time deltafont.ttf
|
|
file, but this time with size of 10 pixels. Simple.
|
|
|
|
MODIFIERS
|
|
Obviously, alone habaks wouldn't be so elastic, so there are available a lot
|
|
of modifiers that affect on them look. Some modifiers are even
|
|
necessary. Modifiers are options, that are given following
|
|
a definition of any habak - they affect only just followed habak.
|
|
|
|
Modifier -C
|
|
-C is a centering modifier. Habak that is followed by this modifier will be
|
|
centered on the screen.
|
|
|
|
Modifier -S
|
|
-S is a scaling modifier. Habak treated by this modifier will be scaled
|
|
to fill whole screen (but with proportions saved). Using it have a sense
|
|
only for file habaks (images).
|
|
|
|
Modifier -p
|
|
-p is a position modifier. It precisely determines position of habak
|
|
on desktop. This modifier requires also additional parameter, in the
|
|
form of 'x,y', ie.
|
|
|
|
./habak -i ~/gfx/meggy.jpg -p 10,50
|
|
|
|
will render meggy.jpg file with upper-left corner in point 10,50 on desktop.
|
|
Coortinates can be negative, so position will be calculated from the
|
|
opposite side of screen, ie.
|
|
|
|
./habak -i ~/gfx/meggy.jpg -p -10,50
|
|
|
|
will calculate "the beggining" position of habak to a ten pixels from
|
|
right and 50 pixels from upper side of screen. To place habak for example
|
|
in upper-right corner, you should use '-p -0,0'
|
|
|
|
Modifier -c
|
|
-c is a color modifier. Some habaks supports choosing a color
|
|
(at this time only font habaks and internal habaks). -C option
|
|
require parameter, that describe color in form of R,G,B,A, ie.
|
|
|
|
./habak -I int -c 50,60,70,190
|
|
|
|
means using "int" habak with color:
|
|
- red component set to 50
|
|
- green component set to 60
|
|
- blue component set to 70
|
|
- alpha channel set to 190
|
|
|
|
All numbers accepts numbers from 0 (minimal saturation) to 255
|
|
(maximal saturation).
|
|
|
|
For example '-c 0,0,0,255' means black, fully not transparent color,
|
|
'-c 255,255,255,0' means white, fully transparent color (so just
|
|
not visible), and '-c 200,0,0,128' is a strong red and transparent
|
|
in 50% color.
|
|
|
|
Modifier -t
|
|
This modifier is a text modifier, works only with font habak.
|
|
As parameter accepts only one line of text, that is rendered
|
|
by the font habak. Any text is accepted, you can write kernel
|
|
version, date, your name, name of favourite distribution or
|
|
image of cat that have a lie-in on your printer. Select something,
|
|
i like a date, text will be nicely antialiased, if you want to use
|
|
not ASCII characters, you have to use utf-8 encoding.
|
|
|
|
For example.
|
|
|
|
./habak -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 0,-0 -c 240,240,240,200
|
|
|
|
will render on a black screen for example text "User gregory on day
|
|
2003-12-21", using deltafont.ttf font in size of 15 pixels. Text
|
|
will be placed in lower-left corner of screen, gray color and will
|
|
be transparent a little.
|
|
|
|
Obviously it is a so simple example, you can complicate it:
|
|
|
|
./habak -i /usr/local/share/backgrounds/lens -C -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 0,-0 -c 240,240,240,200
|
|
|
|
Now on the background firstly will be placed centered image
|
|
from /usr/local/share/backgrounds/lens directory, and that
|
|
text will be rendered on it. You can complicate it yet:
|
|
|
|
./habak -i /usr/local/share/backgrounds/lens -C -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 5,-0 -c 240,240,240,100 -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 0,-5 -c 240,240,240,255
|
|
|
|
This situation is simpilar, but i complicated text a little -
|
|
i generats *two* font habaks with the same content, but
|
|
one of it is displacemented a little, and have smaller
|
|
transparency. It gives so nice effect of shadow under text. By
|
|
putting together *several* such shadows differenced in size of font
|
|
and intensivity of transparency you can achieve fantastic effects.
|
|
|
|
Finally, fire up:
|
|
|
|
./habak -i /usr/local/share/backgrounds/lens -C -I int -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 5,-0 -c 240,240,240,100 -f ~/.fonts/deltafont.ttf/15 -t "User $USER on day `date +%Y-%m-%d`" -p 0,-5 -c 240,240,240,255
|
|
|
|
Here i added an internal habak "interlace", between picture
|
|
from /usr/local/share/backgrounds/lens and font habaks, so
|
|
image is faced by small grid of interlacing, but text is not
|
|
(because it is placed above interlacing).
|
|
|