Release 0.2.2 - last known release
Website disappeared between Jun 15, 2010 and July 7, 2012.
No intermediate releases have been found, but it might be possible to reconstruct from Debian source diffs - I have made no attempt to do so.
0.2.2:
Added option --version, -v
Added hot-babe pixmap
Bugfix when the number of pictures was not 5, resulting on awful colors
Inform the wm that hot-babe is a dock (I really didn't check it)
Added option --geometry to position the hot-babe
0.2.1:
- Fixed some include missing for FreeBSD
- Added support of a user configuration and pictures directory
- Added configuration example file
- Fixed segfault when the number of pictures was smaller than 5
- Update man page
- Fixed Makefile to follow right DESTDIR/PREFIX usage ;-)
0.2.0:
- Using gdk2 and gdk-pixbuf2
- License is now "Artistic License" for code and pictures
This commit is contained in:
parent
0e3c47829a
commit
6aff485ced
13 changed files with 1107 additions and 436 deletions
|
|
@ -1,7 +1,11 @@
|
|||
Pascal Terjan <pascal.terjan@free.fr>: -N, --noNice option
|
||||
Gilles Cuesta <gcuesta@netimedias.com>: bug report
|
||||
Olivier Perron <olivier.perron@gadz.org>: debian package
|
||||
Guillaume Rousse <rousse@ccr.jussieu.fr>: rpm package
|
||||
Guillaume Rousse <rousse@ccr.jussieu.fr>: mandrake rpm package
|
||||
Cyprien Laplace <cyprien33@laposte.net>: new developper
|
||||
Roman Bogorodskiy <bogorodskiy@inbox.ru>: FreeBSD port
|
||||
|
||||
Florian Traverse <florian.traverse@cpe.fr>: gdk2 port
|
||||
Thibaut Varene <varenet@debian.org>: debian package and maintainer
|
||||
Mario Mueller <mmuellerss@gmx.de>: suse rpm package
|
||||
Peter Willis <psyphreak@phreaker.net>: help for makefile
|
||||
Paul <set@pobox.com>: gentoo ebuild
|
||||
|
|
|
|||
44
ChangeLog
44
ChangeLog
|
|
@ -1,6 +1,45 @@
|
|||
2004-12-05 Cypou <cyprien33@laposte.net>
|
||||
|
||||
* hot-babe.c: Added option --version, -v
|
||||
Bugfix when the number of pictures was not 5,
|
||||
resulting on awful colors.
|
||||
Inform the wm that hot-babe is a dock
|
||||
(I really didn't check it)
|
||||
Added option --geometry to position the hot-babe
|
||||
|
||||
* Added hot-babe pixmap
|
||||
|
||||
* hot-babe.1: Updated
|
||||
|
||||
2004-12-04 Cypou <cyprien33@laposte.net>
|
||||
|
||||
* Added configuration example file
|
||||
|
||||
* hot-babe.c: Fixed segfault when the number of pictures was smaller than 5
|
||||
Added support of a user configuration and pictures directory
|
||||
Fixed some include missing for FreeBSD
|
||||
|
||||
* hot-babe.1: Updated
|
||||
|
||||
* Makefile: Fixed to follow right DESTDIR/PREFIX usage ;-)
|
||||
|
||||
2004-11-14 Cypou <cyprien33@laposte.net>
|
||||
|
||||
* Added copyright file
|
||||
* LICENSE is now the 'Artistic License'.
|
||||
|
||||
|
||||
2004-11-13 Temsa <florian.traverse@cpe.fr>
|
||||
|
||||
* loader.c: porting to gdk2, just some tricky modification for the new API
|
||||
|
||||
* Makefile: porting to gdk2/gdk-pixbuf2, using pkg-config
|
||||
|
||||
|
||||
2004-10-20 Roman Bogorodskiy <bogorodskiy@inbox.ru>
|
||||
|
||||
* Makefile: FreeBSD port
|
||||
|
||||
* hot-babe.c: FreeBSD port: use of sysctl "kern.cp_time"
|
||||
|
||||
|
||||
|
|
@ -12,9 +51,10 @@
|
|||
2004-08-25 Cypou <cyprien33@laposte.net>
|
||||
|
||||
* loader.c: Used to load a set of images from a directory
|
||||
|
||||
* hot-babe.c: Use of loader.c, added small optimisations, added a -n
|
||||
(--nice) option to automatically nice the hot-babe. Added
|
||||
--dir option to specify another images directory.
|
||||
(--nice) option to automatically nice the hot-babe.i
|
||||
Added --dir option to specify another images directory.
|
||||
|
||||
2004-08-22 DindinX <david@dindinx.org>
|
||||
|
||||
|
|
|
|||
453
LICENSE
453
LICENSE
|
|
@ -1,340 +1,131 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
The "Artistic License"
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
Preamble
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
The intent of this document is to state the conditions under which a
|
||||
Package may be copied, such that the Copyright Holder maintains some
|
||||
semblance of artistic control over the development of the package,
|
||||
while giving the users of the package the right to use and distribute
|
||||
the Package in a more-or-less customary fashion, plus the right to make
|
||||
reasonable modifications.
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
Definitions:
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
"Package" refers to the collection of files distributed by the
|
||||
Copyright Holder, and derivatives of that collection of files
|
||||
created through textual modification.
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
||||
"Standard Version" refers to such a Package if it has not been
|
||||
modified, or has been modified in accordance with the wishes
|
||||
of the Copyright Holder as specified below.
|
||||
|
||||
"Copyright Holder" is whoever is named in the copyright or
|
||||
copyrights for the package.
|
||||
|
||||
"You" is you, if you're thinking about copying or distributing
|
||||
this Package.
|
||||
|
||||
"Reasonable copying fee" is whatever you can justify on the
|
||||
basis of media cost, duplication charges, time of people involved,
|
||||
and so on. (You will not be required to justify it to the
|
||||
Copyright Holder, but only to the computing community at large
|
||||
as a market that must bear the fee.)
|
||||
|
||||
"Freely Available" means that no fee is charged for the item
|
||||
itself, though there may be fees involved in handling the item.
|
||||
It also means that recipients of the item may redistribute it
|
||||
under the same conditions they received it.
|
||||
|
||||
1. You may make and give away verbatim copies of the source form of the
|
||||
Standard Version of this Package without restriction, provided that you
|
||||
duplicate all of the original copyright notices and associated disclaimers.
|
||||
|
||||
2. You may apply bug fixes, portability fixes and other modifications
|
||||
derived from the Public Domain or from the Copyright Holder. A Package
|
||||
modified in such a way shall still be considered the Standard Version.
|
||||
|
||||
3. You may otherwise modify your copy of this Package in any way, provided
|
||||
that you insert a prominent notice in each changed file stating how and
|
||||
when you changed that file, and provided that you do at least ONE of the
|
||||
following:
|
||||
|
||||
a) place your modifications in the Public Domain or otherwise make them
|
||||
Freely Available, such as by posting said modifications to Usenet or
|
||||
an equivalent medium, or placing the modifications on a major archive
|
||||
site such as uunet.uu.net, or by allowing the Copyright Holder to include
|
||||
your modifications in the Standard Version of the Package.
|
||||
|
||||
b) use the modified Package only within your corporation or organization.
|
||||
|
||||
c) rename any non-standard executables so the names do not conflict
|
||||
with standard executables, which must also be provided, and provide
|
||||
a separate manual page for each non-standard executable that clearly
|
||||
documents how it differs from the Standard Version.
|
||||
|
||||
d) make other distribution arrangements with the Copyright Holder.
|
||||
|
||||
4. You may distribute the programs of this Package in object code or
|
||||
executable form, provided that you do at least ONE of the following:
|
||||
|
||||
a) distribute a Standard Version of the executables and library files,
|
||||
together with instructions (in the manual page or equivalent) on where
|
||||
to get the Standard Version.
|
||||
|
||||
b) accompany the distribution with the machine-readable source of
|
||||
the Package with your modifications.
|
||||
|
||||
c) give non-standard executables non-standard names, and clearly
|
||||
document the differences in manual pages (or equivalent), together
|
||||
with instructions on where to get the Standard Version.
|
||||
|
||||
d) make other distribution arrangements with the Copyright Holder.
|
||||
|
||||
5. You may charge a reasonable copying fee for any distribution of this
|
||||
Package. You may charge any fee you choose for support of this
|
||||
Package. You may not charge a fee for this Package itself. However,
|
||||
you may distribute this Package in aggregate with other (possibly
|
||||
commercial) programs as part of a larger (possibly commercial) software
|
||||
distribution provided that you do not advertise this Package as a
|
||||
product of your own. You may embed this Package's interpreter within
|
||||
an executable of yours (by linking); this shall be construed as a mere
|
||||
form of aggregation, provided that the complete Standard Version of the
|
||||
interpreter is so embedded.
|
||||
|
||||
6. The scripts and library files supplied as input to or produced as
|
||||
output from the programs of this Package do not automatically fall
|
||||
under the copyright of this Package, but belong to whoever generated
|
||||
them, and may be sold commercially, and may be aggregated with this
|
||||
Package. If such scripts or library files are aggregated with this
|
||||
Package via the so-called "undump" or "unexec" methods of producing a
|
||||
binary executable image, then distribution of such an image shall
|
||||
neither be construed as a distribution of this Package nor shall it
|
||||
fall under the restrictions of Paragraphs 3 and 4, provided that you do
|
||||
not represent such an executable image as a Standard Version of this
|
||||
Package.
|
||||
|
||||
7. C subroutines (or comparably compiled subroutines in other
|
||||
languages) supplied by you and linked into this Package in order to
|
||||
emulate subroutines and variables of the language defined by this
|
||||
Package shall not be considered part of this Package, but are the
|
||||
equivalent of input as in Paragraph 6, provided these subroutines do
|
||||
not change the language in any way that would cause it to fail the
|
||||
regression tests for the language.
|
||||
|
||||
8. Aggregation of this Package with a commercial distribution is always
|
||||
permitted provided that the use of this Package is embedded; that is,
|
||||
when no overt attempt is made to make this Package's interfaces visible
|
||||
to the end user of the commercial distribution. Such use shall not be
|
||||
construed as a distribution of this Package.
|
||||
|
||||
9. The name of the Copyright Holder may not be used to endorse or promote
|
||||
products derived from this software without specific prior written permission.
|
||||
|
||||
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
The End
|
||||
|
|
|
|||
32
Makefile
32
Makefile
|
|
@ -1,14 +1,15 @@
|
|||
# where to install this program
|
||||
PREFIX = /usr/local
|
||||
DESTDIR = ${PREFIX}
|
||||
PREFIX := /usr/local
|
||||
VERSION := 0.2.2
|
||||
|
||||
# optimization cflags
|
||||
CFLAGS = -O2 -Wall -g `gtk-config --cflags` `gdk-pixbuf-config --cflags` -DDESTDIR=\"$(DESTDIR)\"
|
||||
CFLAGS += -O2 -Wall -g `pkg-config gdk-2.0 gdk-pixbuf-2.0 --cflags` -DPREFIX=\"$(PREFIX)\" -DVERSION=\"$(VERSION)\"
|
||||
|
||||
OBJS = hot-babe.o loader.o
|
||||
CC = gcc
|
||||
LIBS = `gtk-config --libs` `gdk-pixbuf-config --libs`
|
||||
INSTALL = -m 755
|
||||
LIBS = `pkg-config gdk-2.0 gdk-pixbuf-2.0 --libs`
|
||||
|
||||
DOC = ChangeLog NEWS TODO LICENSE CONTRIBUTORS copyright config.example
|
||||
|
||||
all: hot-babe
|
||||
|
||||
|
|
@ -19,7 +20,20 @@ clean:
|
|||
rm -f hot-babe *.o
|
||||
|
||||
install:
|
||||
install -d $(DESTDIR)/bin
|
||||
install $(INSTALL) hot-babe $(DESTDIR)/bin
|
||||
install -d $(DESTDIR)/share/hot-babe/hb01
|
||||
install $(INSTALL) hb01/* $(DESTDIR)/share/hot-babe/hb01
|
||||
install -d $(DESTDIR)$(PREFIX)/bin
|
||||
install -m 0755 hot-babe $(DESTDIR)$(PREFIX)/bin
|
||||
install -d $(DESTDIR)$(PREFIX)/share/hot-babe/hb01
|
||||
install -m 0644 hb01/* $(DESTDIR)$(PREFIX)/share/hot-babe/hb01
|
||||
install -d $(DESTDIR)$(PREFIX)/share/doc/hot-babe
|
||||
install -m 0644 $(DOC) $(DESTDIR)$(PREFIX)/share/doc/hot-babe
|
||||
install -d $(DESTDIR)$(PREFIX)/share/man/man1
|
||||
install -m 0644 hot-babe.1 $(DESTDIR)$(PREFIX)/share/man/man1
|
||||
install -d $(DESTDIR)$(PREFIX)/share/pixmaps
|
||||
install -m 0644 hot-babe.xpm $(DESTDIR)$(PREFIX)/share/pixmaps
|
||||
|
||||
uninstall:
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/hot-babe
|
||||
rm -rf $(DESTDIR)$(PREFIX)/share/hot-babe
|
||||
rm -rf $(DESTDIR)$(PREFIX)/share/doc/hot-babe
|
||||
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/hot-babe.1
|
||||
rm -f $(DESTDIR)$(PREFIX)/share/pixmaps/hot-babe.xpm
|
||||
|
|
|
|||
19
NEWS
19
NEWS
|
|
@ -1,3 +1,22 @@
|
|||
0.2.2:
|
||||
- Added option --version, -v
|
||||
- Added hot-babe pixmap
|
||||
- Bugfix when the number of pictures was not 5, resulting on awful colors
|
||||
- Inform the wm that hot-babe is a dock (I really didn't check it)
|
||||
- Added option --geometry to position the hot-babe
|
||||
|
||||
0.2.1:
|
||||
- Fixed some include missing for FreeBSD
|
||||
- Added support of a user configuration and pictures directory
|
||||
- Added configuration example file
|
||||
- Fixed segfault when the number of pictures was smaller than 5
|
||||
- Update man page
|
||||
- Fixed Makefile to follow right DESTDIR/PREFIX usage ;-)
|
||||
|
||||
0.2.0:
|
||||
- Using gdk2 and gdk-pixbuf2
|
||||
- License is now "Artistic License" for code and pictures
|
||||
|
||||
0.1.6:
|
||||
- FreeBSD port
|
||||
|
||||
|
|
|
|||
3
TODO
3
TODO
|
|
@ -1,3 +1,6 @@
|
|||
Add icon
|
||||
--version
|
||||
|
||||
2/ faire la différence entre deux images successives.. effectivement bcp de pixels seront les meme..
|
||||
deux avantages ::
|
||||
a) tous les pixels noirs de la différence ne seront pas à afficher au mem titre que les transparents ... enfin.. ne seront pas à mettre à jour ...
|
||||
|
|
|
|||
7
config.example
Normal file
7
config.example
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#threshold 3
|
||||
incremental
|
||||
#noNice
|
||||
#nice 5
|
||||
#delay 100
|
||||
#dir hb01
|
||||
#geometry -0-0
|
||||
11
copyright
Normal file
11
copyright
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Copyright:
|
||||
|
||||
Copyright 2002-2004 David Odin and Cyprien Laplace
|
||||
Pictures Copyright 2002-2004 Bruno Bellamy
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the "Artistic License", which is available
|
||||
in LICENCE file.
|
||||
|
||||
On Debian GNU/Linux systems, the complete text of the Artistic License
|
||||
in `/usr/share/common-licenses/Artistic'.
|
||||
49
hot-babe.1
49
hot-babe.1
|
|
@ -2,7 +2,7 @@
|
|||
.\" 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 HOT-BABE 1 "August 25, 2004"
|
||||
.TH HOT\-BABE 1 "December 4, 2004"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
|
|
@ -16,20 +16,20 @@
|
|||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
hot-babe \- is a small graphical utility which display the system activity in a very special way
|
||||
hot\-babe \- is a small graphical utility which displays the system activity in a very special way
|
||||
.SH SYNOPSIS
|
||||
.B hot-babe
|
||||
.B hot\-babe
|
||||
.RI [ options ]
|
||||
.SH DESCRIPTION
|
||||
This manual page documents briefly the
|
||||
.B hot-babe
|
||||
.B hot\-babe
|
||||
command.
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
\fBhot-babe\fP is a small graphical utility which display the system activity in a very special way. When the CPU is idle, it displays a dressed girl, and when the activity goes up, as the temperature increases, the girl begins to undress, to finish totally naked when the system activity reaches 100%. Of course, if you can be shocked by nudity, don't use it!
|
||||
\fBhot\-babe\fP is a small graphical utility which displays the system activity in a very special way. When the CPU is idle, it displays a dressed girl, and when the activity goes up, as the temperature increases, the girl begins to undress, to finish totally naked when the system activity reaches 100%. Of course, if you can be shocked by nudity, don't use it!
|
||||
.SH OPTIONS
|
||||
As for now, \fBhot-babe\fP supports a few command-line options:
|
||||
As for now, \fBhot\-babe\fP supports a few command\-line options:
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
display a small help message and exit.
|
||||
|
|
@ -47,29 +47,52 @@ ponder every sample with time, the result is a somewhat smoother animation, and
|
|||
Don't consider reniced processes. This is usefull if you use seti@home or distributed.net, which always eat almost all the CPU.
|
||||
.TP
|
||||
.B \-n, \-\-nice
|
||||
n Put the hot-babe process in nice n.
|
||||
n Put the hot\-babe process in nice n.
|
||||
.TP
|
||||
.B \-\-dir
|
||||
directory give the directory where hot-babe must load the pictures.
|
||||
Directory give the directory where hot\-babe must load the pictures.
|
||||
.TP
|
||||
.B \-\-geometry
|
||||
Use the specified geometry (only position is supported {+|-}x{+|x}y).
|
||||
.TP
|
||||
.B \-v, \-\-version
|
||||
Show version and exit.
|
||||
.TP
|
||||
.SH FILES
|
||||
.TP
|
||||
.B share/hot-babe/hb01/
|
||||
directory of hot-babes pictures.
|
||||
.B share/hot\-babe/ ./hot\-babe/
|
||||
Default directory of hot\-babes pictures. It can be either absolute path, relative, relative to share/hot\-babe/ directory or relative to ~/.hot\-babe/ directory. It contains the themes that can be used.
|
||||
.P
|
||||
.B Note:
|
||||
This directory must contain a file named "descr" which gives some info to the hot-babe process. The first line gives the number of pictures to use, and then the name of the pictures, one per line.
|
||||
Each pictures subdirectory must contain a file named "descr" which gives some info to the hot\-babe process. The first line gives the number of pictures to use, and then the name of the pictures, one per line.
|
||||
.P
|
||||
Here is an example:
|
||||
.RS
|
||||
.ft CW
|
||||
.nf
|
||||
.ne
|
||||
5
|
||||
hb01_4.png
|
||||
hb01_3.png
|
||||
hb01_2.png
|
||||
hb01_1.png
|
||||
hb01_0.png
|
||||
.fi
|
||||
.RE
|
||||
.TP
|
||||
.B ~/.hot\-babe/config
|
||||
User configuration file. Put any possible long option. Empty lines and whatever after a # are ignored.
|
||||
.P
|
||||
Here is an example:
|
||||
.RS
|
||||
.nf
|
||||
#threshold 30
|
||||
incremental
|
||||
#noNice
|
||||
#nice 5
|
||||
#delay 100
|
||||
#dir hb01
|
||||
#geometry +0-0
|
||||
.fi
|
||||
.RE
|
||||
.br
|
||||
.SH AUTHOR
|
||||
This page has been updated by Cyprien <cyprien33@laposte.net>
|
||||
|
|
|
|||
205
hot-babe.c
205
hot-babe.c
|
|
@ -3,22 +3,15 @@
|
|||
* Copyright (C) 2002 Bruno Bellamy.
|
||||
*
|
||||
* 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
* it under the terms of the artistic License
|
||||
*
|
||||
* This program 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.
|
||||
* THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* Artistic License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* this code is using some ideas from wmbubble (timecop@japan.co.jp)
|
||||
*
|
||||
* Please note that part of this code is from wmbubble, and such should be
|
||||
* copyrighted by <timecop@japan.co.jp>
|
||||
*
|
||||
*/
|
||||
|
||||
/* general includes */
|
||||
|
|
@ -27,10 +20,14 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef __FreeBSD__
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/sysctl.h>
|
||||
#ifndef CPUSTATES
|
||||
#include <sys/dkstat.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* x11 includes */
|
||||
#include <gdk/gdk.h>
|
||||
|
|
@ -52,6 +49,7 @@ typedef struct
|
|||
/* X11 stuff */
|
||||
GdkWindow *win; /* main window */
|
||||
HotBabeAnim anim;
|
||||
gint x,y;
|
||||
guchar **pixels;
|
||||
guchar *dest;
|
||||
|
||||
|
|
@ -70,6 +68,21 @@ typedef struct
|
|||
|
||||
HotBabeData bm;
|
||||
|
||||
#if 0
|
||||
/* FIXME New BSD and Solaris code.. to check.
|
||||
* doesn't work with Linux (getloadavg return 1.000) */
|
||||
static int system_cpu(void)
|
||||
{
|
||||
int rc;
|
||||
double loadavg[15];
|
||||
rc=getloadavg(loadavg, 1);
|
||||
while( rc-- )
|
||||
printf( "load = %f\n", loadavg[rc] );
|
||||
rc=100*loadavg[0];
|
||||
return rc;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* returns current CPU load in percent, 0 to 256 */
|
||||
static int system_cpu(void)
|
||||
{
|
||||
|
|
@ -94,14 +107,14 @@ static int system_cpu(void)
|
|||
#endif
|
||||
#ifdef __FreeBSD__
|
||||
if (sysctlbyname("kern.cp_time", &cp_time, &len, NULL, 0) < 0)
|
||||
(void)fprintf(stderr, "Cannot get kern.cp_time");
|
||||
|
||||
(void)fprintf(stderr, "Cannot get kern.cp_time");
|
||||
|
||||
ab = cp_time[CP_USER];
|
||||
ac = cp_time[CP_NICE];
|
||||
ad = cp_time[CP_SYS];
|
||||
ae = cp_time[CP_IDLE];
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Find out the CPU load */
|
||||
/* user + sys = load
|
||||
|
|
@ -128,7 +141,7 @@ static int system_cpu(void)
|
|||
cpuload = 0;
|
||||
else
|
||||
cpuload = (256 * (load - oload)) / (total - ototal);
|
||||
|
||||
|
||||
return cpuload;
|
||||
}
|
||||
|
||||
|
|
@ -141,12 +154,18 @@ static void create_hotbabe_window(void)
|
|||
#define MASK GDK_BUTTON_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
|
||||
GdkWindowAttr attr;
|
||||
GdkBitmap *mask;
|
||||
GdkScreen *defscrn;
|
||||
|
||||
bm.anim.width = gdk_pixbuf_get_width(bm.anim.pixbuf[0]);
|
||||
bm.anim.height = gdk_pixbuf_get_height(bm.anim.pixbuf[0]);
|
||||
|
||||
defscrn=gdk_screen_get_default();
|
||||
|
||||
attr.width = bm.anim.width;
|
||||
attr.height = bm.anim.height;
|
||||
if( bm.x < 0 ) bm.x += 1 + gdk_screen_get_width(defscrn) - attr.width;
|
||||
if( bm.y < 0 ) bm.y += 1 + gdk_screen_get_height(defscrn) - attr.height;
|
||||
attr.x = bm.x;
|
||||
attr.y = bm.y;
|
||||
attr.title = "hot-babe";
|
||||
attr.event_mask = MASK;
|
||||
attr.wclass = GDK_INPUT_OUTPUT;
|
||||
|
|
@ -157,33 +176,38 @@ static void create_hotbabe_window(void)
|
|||
attr.window_type = GDK_WINDOW_TOPLEVEL;
|
||||
|
||||
bm.win = gdk_window_new(NULL, &attr,
|
||||
GDK_WA_TITLE | GDK_WA_WMCLASS |
|
||||
GDK_WA_VISUAL | GDK_WA_COLORMAP);
|
||||
GDK_WA_TITLE | GDK_WA_WMCLASS |
|
||||
GDK_WA_VISUAL | GDK_WA_COLORMAP |
|
||||
GDK_WA_X | GDK_WA_Y);
|
||||
if (!bm.win)
|
||||
{
|
||||
fprintf(stderr, "Cannot make toplevel window\n");
|
||||
exit (-1);
|
||||
}
|
||||
gdk_window_set_decorations(bm.win, 0);
|
||||
gdk_window_set_skip_taskbar_hint(bm.win, TRUE);
|
||||
gdk_window_set_skip_pager_hint(bm.win, TRUE);
|
||||
gdk_window_set_type_hint(bm.win, GDK_WINDOW_TYPE_HINT_DOCK);
|
||||
// gdk_window_set_keep_below(bm.win, TRUE);
|
||||
|
||||
gdk_pixbuf_render_pixmap_and_mask( bm.anim.pixbuf[bm.anim.samples-1], &pixmap, &mask, 127 );
|
||||
|
||||
gdk_pixbuf_render_pixmap_and_mask( bm.anim.pixbuf[4], &pixmap, &mask, 127 );
|
||||
|
||||
gdk_window_shape_combine_mask(bm.win, mask, 0, 0);
|
||||
gdk_pixbuf_render_pixmap_and_mask( bm.anim.pixbuf[0], &pixmap, &mask, 127 );
|
||||
gdk_window_set_back_pixmap(bm.win, pixmap, False);
|
||||
|
||||
|
||||
gdk_window_show(bm.win);
|
||||
|
||||
|
||||
gc = gdk_gc_new (pixmap);
|
||||
#undef MASK
|
||||
}
|
||||
|
||||
static void hotbabe_update(void)
|
||||
{
|
||||
guint loadPercentage;
|
||||
guint loadPercentage;
|
||||
static guint old_percentage = 0;
|
||||
guint i;
|
||||
guchar *pixels1, *pixels2, *src1, *src2, *dest;
|
||||
guint i;
|
||||
guchar *pixels1, *pixels2, *src1, *src2, *dest;
|
||||
static gint robinet = 0;
|
||||
|
||||
/* Find out the CPU load */
|
||||
|
|
@ -196,14 +220,14 @@ static void hotbabe_update(void)
|
|||
else
|
||||
loadPercentage = (loadPercentage-bm.threshold)*256/(256-bm.threshold);
|
||||
}
|
||||
|
||||
|
||||
robinet +=loadPercentage/50-3;
|
||||
|
||||
robinet = CLAMP(robinet, 0, 256);
|
||||
|
||||
if (bm.incremental)
|
||||
loadPercentage = robinet;
|
||||
|
||||
|
||||
if (loadPercentage != old_percentage)
|
||||
{
|
||||
gint range = 256 / (bm.anim.samples-1);
|
||||
|
|
@ -212,10 +236,8 @@ static void hotbabe_update(void)
|
|||
old_percentage = loadPercentage;
|
||||
if (index>bm.anim.samples-1) index = bm.anim.samples-1;
|
||||
pixels1 = bm.pixels[index];
|
||||
if (index == bm.anim.samples-1)
|
||||
pixels2 = bm.pixels[index];
|
||||
else
|
||||
pixels2 = bm.pixels[index+1];
|
||||
if (index == bm.anim.samples-1) pixels2 = bm.pixels[index];
|
||||
else pixels2 = bm.pixels[index+1];
|
||||
|
||||
loadPercentage = loadPercentage % range;
|
||||
dest = bm.dest; src1 = pixels1; src2 = pixels2;
|
||||
|
|
@ -228,8 +250,8 @@ static void hotbabe_update(void)
|
|||
for (j=0;j<3;j++)
|
||||
{
|
||||
val = ((guint)*(src2++))*loadPercentage+((guint)*(src1++))*(range-loadPercentage);
|
||||
//val /= range;
|
||||
*(dest++) = (val >> 6); // bad hack!
|
||||
*(dest++) = val/range;
|
||||
//*(dest++) = (val >> 6); // bad hack!
|
||||
}
|
||||
src1++;
|
||||
src2++;
|
||||
|
|
@ -238,9 +260,9 @@ static void hotbabe_update(void)
|
|||
src1+=4;src2+=4;dest+=3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gdk_draw_rgb_image(pixmap, gc, 0, 0, bm.anim.width, bm.anim.height, GDK_RGB_DITHER_NONE,
|
||||
bm.dest, 3 * bm.anim.width);
|
||||
bm.dest, 3 * bm.anim.width);
|
||||
gdk_window_set_back_pixmap(bm.win, pixmap, False);
|
||||
gdk_window_clear(bm.win);
|
||||
}
|
||||
|
|
@ -261,6 +283,10 @@ static void hotbabe_setup_samples(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void print_version(void)
|
||||
{
|
||||
g_print("hot-babe version " VERSION "\n\n");
|
||||
}
|
||||
|
||||
static void print_usage(void)
|
||||
{
|
||||
|
|
@ -273,19 +299,40 @@ static void print_usage(void)
|
|||
g_print(" -N, --noNice don't count nice time in usage.\n");
|
||||
g_print(" -n, --nice n set self-nice to n.\n");
|
||||
g_print(" --dir directory use images from directory.\n");
|
||||
g_print(" --geometry {+|-}x{+|-}y position the hot-babe.\n");
|
||||
g_print(" -v, --version show version and exit.\n");
|
||||
}
|
||||
|
||||
void parse_geometry( char *arg )
|
||||
{
|
||||
char sign[2];
|
||||
guint val[2];
|
||||
int i = 0;
|
||||
|
||||
i = sscanf( arg, "%c%u%c%u", &sign[0], &val[0], &sign[1], &val[1] );
|
||||
if( i != 4 )
|
||||
return;
|
||||
|
||||
if( sign[0] == '+' ) bm.x = val[0];
|
||||
if( sign[0] == '-' ) bm.x = -1-val[0];
|
||||
if( sign[1] == '+' ) bm.y = val[1];
|
||||
if( sign[1] == '-' ) bm.y = -1-val[1];
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
GdkEvent *event;
|
||||
|
||||
gint i;
|
||||
gchar *dir;
|
||||
char conf[256];
|
||||
FILE *f;
|
||||
|
||||
/* initialize GDK */
|
||||
if (!gdk_init_check(&argc, &argv))
|
||||
{
|
||||
fprintf(stderr,
|
||||
"GDK init failed, bye bye. Check \"DISPLAY\" variable.\n");
|
||||
"GDK init failed, bye bye. Check \"DISPLAY\" variable.\n");
|
||||
exit(-1);
|
||||
}
|
||||
gdk_rgb_init();
|
||||
|
|
@ -297,9 +344,57 @@ int main(int argc, char **argv)
|
|||
bm.incremental = FALSE;
|
||||
bm.delay = 15000;
|
||||
bm.noNice = FALSE;
|
||||
|
||||
bm.x = -1;
|
||||
bm.y = -1;
|
||||
|
||||
dir = NULL;
|
||||
|
||||
|
||||
snprintf( conf, 256, "%s/.hot-babe/config", g_get_home_dir() );
|
||||
f = fopen( conf, "r" );
|
||||
if( f )
|
||||
{
|
||||
char line[256], *l;
|
||||
guint uval;
|
||||
gint val;
|
||||
char sval[260];
|
||||
|
||||
while( (l=fgets( line, 255, f )) )
|
||||
{
|
||||
while( *l )
|
||||
{
|
||||
if( *l == '\n' || *l == '#' ) *l = 0;
|
||||
l++;
|
||||
}
|
||||
if( !*line ) continue;
|
||||
|
||||
if( sscanf( line, "threshold %u", &uval ) == 1 )
|
||||
{
|
||||
bm.threshold = uval*256/100;
|
||||
bm.threshold = MIN (255, bm.threshold);
|
||||
} else if ( !strcmp(line, "incremental") )
|
||||
{
|
||||
bm.incremental = TRUE;
|
||||
} else if (!strcmp(line, "noNice") )
|
||||
{
|
||||
bm.noNice = TRUE;
|
||||
} else if ( sscanf( line, "nice %d", &val) == 1 )
|
||||
{
|
||||
nice( val );
|
||||
} else if ( sscanf( line, "delay %u", &uval) == 1 )
|
||||
{
|
||||
bm.delay = uval*1000;
|
||||
} else if ( sscanf( line, "dir %s", sval) == 1)
|
||||
{
|
||||
dir = strdup( sval );
|
||||
} else if ( sscanf( line, "geometry %s", sval) == 1)
|
||||
{
|
||||
parse_geometry( sval );
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
for (i=1 ; i<argc ; i++)
|
||||
{
|
||||
if (!strcmp(argv[i], "--threshold") || !strcmp(argv[i], "-t"))
|
||||
|
|
@ -310,6 +405,10 @@ int main(int argc, char **argv)
|
|||
bm.threshold = atoi(argv[i])*256/100;
|
||||
bm.threshold = MIN (255, bm.threshold);
|
||||
}
|
||||
} else if (!strcmp(argv[i], "--version") || !strcmp(argv[i], "-v"))
|
||||
{
|
||||
print_version();
|
||||
exit(0);
|
||||
} else if (!strcmp(argv[i], "--help") || !strcmp(argv[i], "-h"))
|
||||
{
|
||||
print_usage();
|
||||
|
|
@ -336,25 +435,37 @@ int main(int argc, char **argv)
|
|||
}
|
||||
} else if (!strcmp(argv[i], "--dir"))
|
||||
{
|
||||
printf( "argv = %s\n", argv[i] );
|
||||
printf( "argv = %s\n", argv[i+1] );
|
||||
i++;
|
||||
if (i<argc)
|
||||
{
|
||||
dir = argv[i];
|
||||
}
|
||||
} else if (!strcmp(argv[i], "--geometry"))
|
||||
{
|
||||
i++;
|
||||
if (i<argc)
|
||||
{
|
||||
parse_geometry( argv[i] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( dir != NULL ) {
|
||||
if( load_anim( &bm.anim, dir ) ) {
|
||||
char path[256], home[256];
|
||||
snprintf( path, 256, PREFIX "/share/hot-babe/%s", dir );
|
||||
snprintf( home, 256, "%s/.hot-babe/%s", g_get_home_dir(), dir );
|
||||
if( load_anim( &bm.anim, path ) &&
|
||||
load_anim( &bm.anim, home ) &&
|
||||
load_anim( &bm.anim, dir ) ) {
|
||||
fprintf( stderr, "Can't find pictures\n" );
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
if( load_anim( &bm.anim, PREFIX "/share/hot-babe/hb01" ) &&
|
||||
load_anim( &bm.anim, "hb01" ) ) {
|
||||
fprintf( stderr, "Can't find pictures\n" );
|
||||
return 1;
|
||||
}
|
||||
} else if( load_anim( &bm.anim, DESTDIR "/share/hot-babe/hb01" ) &&
|
||||
load_anim( &bm.anim, "hb01" ) ) {
|
||||
fprintf( stderr, "Can't find pictures\n" );
|
||||
return 1;
|
||||
}
|
||||
create_hotbabe_window();
|
||||
|
||||
|
|
|
|||
665
hot-babe.xpm
Normal file
665
hot-babe.xpm
Normal file
|
|
@ -0,0 +1,665 @@
|
|||
/* XPM */
|
||||
static char * hot_babe_xpm[] = {
|
||||
"32 32 630 2",
|
||||
" c None",
|
||||
". c #CABBB3",
|
||||
"+ c #DCCDC5",
|
||||
"@ c #CEBFB7",
|
||||
"# c #BBAEA6",
|
||||
"$ c #B1A39B",
|
||||
"% c #C8BAB2",
|
||||
"& c #F7E7DD",
|
||||
"* c #F8E7DC",
|
||||
"= c #F6DDD1",
|
||||
"- c #EAD1C6",
|
||||
"; c #DFD0C6",
|
||||
"> c #D3C3B9",
|
||||
", c #CCBEB4",
|
||||
"' c #C8B8B0",
|
||||
") c #BFB1A9",
|
||||
"! c #A59992",
|
||||
"~ c #827A72",
|
||||
"{ c #E2D3CA",
|
||||
"] c #F8E7DD",
|
||||
"^ c #F8E4DA",
|
||||
"/ c #F4D1C5",
|
||||
"( c #D3AB9F",
|
||||
"_ c #DFCBC2",
|
||||
": c #C9BBB3",
|
||||
"< c #D3C3BA",
|
||||
"[ c #CABCB4",
|
||||
"} c #A89992",
|
||||
"| c #DECBC3",
|
||||
"1 c #E4D6CD",
|
||||
"2 c #F7E6DC",
|
||||
"3 c #D8C9C1",
|
||||
"4 c #B3A69F",
|
||||
"5 c #817873",
|
||||
"6 c #837A6E",
|
||||
"7 c #CBBCB4",
|
||||
"8 c #E4D5CC",
|
||||
"9 c #ECD1C6",
|
||||
"0 c #EBC7BA",
|
||||
"a c #B28D81",
|
||||
"b c #D3B1A6",
|
||||
"c c #E6C9BE",
|
||||
"d c #EBCABE",
|
||||
"e c #E2C4B9",
|
||||
"f c #F8E6DC",
|
||||
"g c #F3E2D9",
|
||||
"h c #94867D",
|
||||
"i c #AF9C89",
|
||||
"j c #CEB5A4",
|
||||
"k c #E9D9D0",
|
||||
"l c #B3A59D",
|
||||
"m c #948A7F",
|
||||
"n c #C9B3A8",
|
||||
"o c #D0B8AE",
|
||||
"p c #DBC8BF",
|
||||
"q c #AE8A76",
|
||||
"r c #AD9B88",
|
||||
"s c #C3BCB2",
|
||||
"t c #C8C6C3",
|
||||
"u c #D6CEB9",
|
||||
"v c #D5B8A4",
|
||||
"w c #F7DED3",
|
||||
"x c #F5E3DA",
|
||||
"y c #9F8A7D",
|
||||
"z c #D9A687",
|
||||
"A c #E2CEC5",
|
||||
"B c #F7E4DA",
|
||||
"C c #F4D9CE",
|
||||
"D c #A48A82",
|
||||
"E c #BAAA9A",
|
||||
"F c #B5998D",
|
||||
"G c #CFB1A6",
|
||||
"H c #B2A199",
|
||||
"I c #CDA998",
|
||||
"J c #D4B092",
|
||||
"K c #EDD0AE",
|
||||
"L c #ECC8A8",
|
||||
"M c #ECC8A7",
|
||||
"N c #E7B693",
|
||||
"O c #E1AE8C",
|
||||
"P c #C7A89C",
|
||||
"Q c #F7E0D5",
|
||||
"R c #F0DED4",
|
||||
"S c #B19482",
|
||||
"T c #AA8E80",
|
||||
"U c #EED1C5",
|
||||
"V c #F8E5DB",
|
||||
"W c #F6DCD0",
|
||||
"X c #D3AFA4",
|
||||
"Y c #C3A695",
|
||||
"Z c #B89B88",
|
||||
"` c #CCA899",
|
||||
" . c #AC978E",
|
||||
".. c #CD9A7E",
|
||||
"+. c #E4A581",
|
||||
"@. c #E6AA87",
|
||||
"#. c #E7AF8C",
|
||||
"$. c #E7B18D",
|
||||
"%. c #E7B695",
|
||||
"&. c #AE8D7B",
|
||||
"*. c #BE9E87",
|
||||
"=. c #DDBCAF",
|
||||
"-. c #F8E2D8",
|
||||
";. c #EDD8CE",
|
||||
">. c #9A8377",
|
||||
",. c #A78A81",
|
||||
"'. c #EBC7BB",
|
||||
"). c #F7DFD4",
|
||||
"!. c #F5D3C7",
|
||||
"~. c #BC9A90",
|
||||
"{. c #BDA188",
|
||||
"]. c #C7A185",
|
||||
"^. c #C3A08C",
|
||||
"/. c #C09985",
|
||||
"(. c #998073",
|
||||
"_. c #E8BC99",
|
||||
":. c #E4B896",
|
||||
"<. c #EABE9B",
|
||||
"[. c #E9BF9C",
|
||||
"}. c #DBBC9D",
|
||||
"|. c #B09685",
|
||||
"1. c #B99C87",
|
||||
"2. c #AC9182",
|
||||
"3. c #C9A58D",
|
||||
"4. c #EACCC0",
|
||||
"5. c #F8E5DA",
|
||||
"6. c #E5D1C7",
|
||||
"7. c #A38D85",
|
||||
"8. c #F3D2C6",
|
||||
"9. c #F7DDD2",
|
||||
"0. c #F2C6B9",
|
||||
"a. c #9E8E7D",
|
||||
"b. c #D6B89A",
|
||||
"c. c #EAC7A5",
|
||||
"d. c #C4AB92",
|
||||
"e. c #C6A98E",
|
||||
"f. c #E0C9AA",
|
||||
"g. c #E6C9A9",
|
||||
"h. c #CCB196",
|
||||
"i. c #E2C2A3",
|
||||
"j. c #D1BEA2",
|
||||
"k. c #BBA294",
|
||||
"l. c #C8A798",
|
||||
"m. c #D2B1A5",
|
||||
"n. c #B09389",
|
||||
"o. c #B7937E",
|
||||
"p. c #BA968A",
|
||||
"q. c #F6D5C9",
|
||||
"r. c #E6CFC5",
|
||||
"s. c #CAB1A8",
|
||||
"t. c #F6DCD1",
|
||||
"u. c #F5D0C4",
|
||||
"v. c #BA948A",
|
||||
"w. c #59534E",
|
||||
"x. c #D2BBA0",
|
||||
"y. c #D6BB9E",
|
||||
"z. c #EDD8B7",
|
||||
"A. c #D8C3A6",
|
||||
"B. c #EFDFBF",
|
||||
"C. c #E3CEAE",
|
||||
"D. c #BDA893",
|
||||
"E. c #C8BAA1",
|
||||
"F. c #CDBCA5",
|
||||
"G. c #967C7A",
|
||||
"H. c #B2948D",
|
||||
"I. c #C8B1A5",
|
||||
"J. c #F5DBD0",
|
||||
"K. c #A28C81",
|
||||
"L. c #A68A7D",
|
||||
"M. c #977C72",
|
||||
"N. c #C6A297",
|
||||
"O. c #F8E6DB",
|
||||
"P. c #DDC4BA",
|
||||
"Q. c #D2B2A7",
|
||||
"R. c #EDBDAF",
|
||||
"S. c #C4B299",
|
||||
"T. c #D5C3A8",
|
||||
"U. c #E7CEAF",
|
||||
"V. c #EFDCBD",
|
||||
"W. c #F5EACF",
|
||||
"X. c #ECD8B9",
|
||||
"Y. c #C0AA99",
|
||||
"Z. c #B49C8F",
|
||||
"`. c #C3B09C",
|
||||
" + c #695759",
|
||||
".+ c #61595C",
|
||||
"++ c #586079",
|
||||
"@+ c #BC9D94",
|
||||
"#+ c #BF9F96",
|
||||
"$+ c #B89C90",
|
||||
"%+ c #937A70",
|
||||
"&+ c #8F7176",
|
||||
"*+ c #78655D",
|
||||
"=+ c #F0C9BC",
|
||||
"-+ c #D1B5AB",
|
||||
";+ c #91746C",
|
||||
">+ c #AC9F8B",
|
||||
",+ c #E3D0B1",
|
||||
"'+ c #D7BEA1",
|
||||
")+ c #F4E6CB",
|
||||
"!+ c #F7EDD5",
|
||||
"~+ c #F1E0C1",
|
||||
"{+ c #DAC3A6",
|
||||
"]+ c #AF9380",
|
||||
"^+ c #BDA495",
|
||||
"/+ c #99847A",
|
||||
"(+ c #C2A8A0",
|
||||
"_+ c #8F97A2",
|
||||
":+ c #6795B1",
|
||||
"<+ c #DCCCC8",
|
||||
"[+ c #D6AEA2",
|
||||
"}+ c #A3867D",
|
||||
"|+ c #AF9B99",
|
||||
"1+ c #717072",
|
||||
"2+ c #68584E",
|
||||
"3+ c #BF9B90",
|
||||
"4+ c #F6DACE",
|
||||
"5+ c #F8E2D7",
|
||||
"6+ c #C6ABA1",
|
||||
"7+ c #CEB79C",
|
||||
"8+ c #EAD6B5",
|
||||
"9+ c #E4CDB0",
|
||||
"0+ c #F9F1DA",
|
||||
"a+ c #F4E7CB",
|
||||
"b+ c #EDDAB9",
|
||||
"c+ c #C5B198",
|
||||
"d+ c #C79D81",
|
||||
"e+ c #AD958A",
|
||||
"f+ c #B6968C",
|
||||
"g+ c #E3D4CB",
|
||||
"h+ c #D8C6BD",
|
||||
"i+ c #A48D85",
|
||||
"j+ c #E6CABF",
|
||||
"k+ c #BCB5B6",
|
||||
"l+ c #A89389",
|
||||
"m+ c #92766F",
|
||||
"n+ c #C39A8F",
|
||||
"o+ c #E3C4B9",
|
||||
"p+ c #B7968C",
|
||||
"q+ c #A89A86",
|
||||
"r+ c #DCC9AC",
|
||||
"s+ c #D9C5A8",
|
||||
"t+ c #DDC7A9",
|
||||
"u+ c #F0DFC4",
|
||||
"v+ c #F9F0D9",
|
||||
"w+ c #EEDCBC",
|
||||
"x+ c #DCCEB1",
|
||||
"y+ c #DEC3A4",
|
||||
"z+ c #AF8E75",
|
||||
"A+ c #9C8880",
|
||||
"B+ c #C5A99A",
|
||||
"C+ c #EDC6B9",
|
||||
"D+ c #C3B0A7",
|
||||
"E+ c #E7D1C7",
|
||||
"F+ c #F1DCD2",
|
||||
"G+ c #F7E0D6",
|
||||
"H+ c #D0B1A7",
|
||||
"I+ c #B49B93",
|
||||
"J+ c #D3BAB1",
|
||||
"K+ c #F8E3D9",
|
||||
"L+ c #F5D4C8",
|
||||
"M+ c #F3C2B3",
|
||||
"N+ c #AC9988",
|
||||
"O+ c #CEB9A1",
|
||||
"P+ c #EBDCBC",
|
||||
"Q+ c #E0D0B2",
|
||||
"R+ c #E1CCAE",
|
||||
"S+ c #F4E5CB",
|
||||
"T+ c #F4E7CC",
|
||||
"U+ c #DDCAAC",
|
||||
"V+ c #D5C4A8",
|
||||
"W+ c #EACCAB",
|
||||
"X+ c #C1A186",
|
||||
"Y+ c #B59D94",
|
||||
"Z+ c #C7B0A1",
|
||||
"`+ c #F4D2C6",
|
||||
" @ c #E8D3C9",
|
||||
".@ c #DCC1BB",
|
||||
"+@ c #D6ACA5",
|
||||
"@@ c #CCB2AB",
|
||||
"#@ c #CEC1BA",
|
||||
"$@ c #D9CDC7",
|
||||
"%@ c #FCF0EA",
|
||||
"&@ c #FBEFE9",
|
||||
"*@ c #F9E9E0",
|
||||
"=@ c #F7E1D6",
|
||||
"-@ c #F5D2C6",
|
||||
";@ c #F4C3B4",
|
||||
">@ c #CA9E91",
|
||||
",@ c #D9BFA6",
|
||||
"'@ c #E1D1B7",
|
||||
")@ c #F6ECD1",
|
||||
"!@ c #EEE0C0",
|
||||
"~@ c #EFDDBD",
|
||||
"{@ c #F3E2C7",
|
||||
"]@ c #E6D2B4",
|
||||
"^@ c #DAC9AC",
|
||||
"/@ c #EBD3B2",
|
||||
"(@ c #ECD6B5",
|
||||
"_@ c #D1B89C",
|
||||
":@ c #A7958A",
|
||||
"<@ c #B5978B",
|
||||
"[@ c #DCBBAF",
|
||||
"}@ c #E1BDB6",
|
||||
"|@ c #B28687",
|
||||
"1@ c #BA9B9A",
|
||||
"2@ c #E2D9D6",
|
||||
"3@ c #FDF9F6",
|
||||
"4@ c #FEF8F6",
|
||||
"5@ c #FCF4EF",
|
||||
"6@ c #FAEDE5",
|
||||
"7@ c #F7DCD1",
|
||||
"8@ c #F4CEC1",
|
||||
"9@ c #F3C0B1",
|
||||
"0@ c #AA857A",
|
||||
"a@ c #DAC4AB",
|
||||
"b@ c #CAB8A1",
|
||||
"c@ c #F7EDD4",
|
||||
"d@ c #F4E7CA",
|
||||
"e@ c #F3E6C7",
|
||||
"f@ c #F0DDC1",
|
||||
"g@ c #DBC6A8",
|
||||
"h@ c #DAC5A7",
|
||||
"i@ c #F1E1C0",
|
||||
"j@ c #F1E2C1",
|
||||
"k@ c #AEA58F",
|
||||
"l@ c #AF9E93",
|
||||
"m@ c #D5B6AA",
|
||||
"n@ c #C59B8F",
|
||||
"o@ c #B9A59D",
|
||||
"p@ c #D5C9C3",
|
||||
"q@ c #E9E0DB",
|
||||
"r@ c #FDF8F4",
|
||||
"s@ c #FDFAF8",
|
||||
"t@ c #FDF8F6",
|
||||
"u@ c #FCF2ED",
|
||||
"v@ c #F9E8E0",
|
||||
"w@ c #F7DED4",
|
||||
"x@ c #F4C8BB",
|
||||
"y@ c #DAAD9F",
|
||||
"z@ c #7E635B",
|
||||
"A@ c #C1B19C",
|
||||
"B@ c #DBCDB3",
|
||||
"C@ c #F9F0DA",
|
||||
"D@ c #F0E0BF",
|
||||
"E@ c #F7EDD2",
|
||||
"F@ c #F0E0C0",
|
||||
"G@ c #DEC7A9",
|
||||
"H@ c #DDC5A8",
|
||||
"I@ c #F2E3C4",
|
||||
"J@ c #F8EFD6",
|
||||
"K@ c #CFC1A6",
|
||||
"L@ c #948D81",
|
||||
"M@ c #A19F9F",
|
||||
"N@ c #C4BEBA",
|
||||
"O@ c #E9D5CB",
|
||||
"P@ c #FAEBE3",
|
||||
"Q@ c #FDF6F2",
|
||||
"R@ c #FCF5F0",
|
||||
"S@ c #FBF1EB",
|
||||
"T@ c #F9EBE3",
|
||||
"U@ c #F5D7CC",
|
||||
"V@ c #F4CCBF",
|
||||
"W@ c #EABDAE",
|
||||
"X@ c #A08076",
|
||||
"Y@ c #B6A693",
|
||||
"Z@ c #EFE5CF",
|
||||
"`@ c #EFE1C5",
|
||||
" # c #F2E4C6",
|
||||
".# c #F6EBD0",
|
||||
"+# c #E5CFB0",
|
||||
"@# c #D8C5A9",
|
||||
"## c #E9D4B5",
|
||||
"$# c #F9F1DB",
|
||||
"%# c #BFAF99",
|
||||
"&# c #B4ADA7",
|
||||
"*# c #E6ECF3",
|
||||
"=# c #C1C5C9",
|
||||
"-# c #EADBD2",
|
||||
";# c #F8E8DE",
|
||||
"># c #FBEEE7",
|
||||
",# c #F9EAE1",
|
||||
"'# c #EAC0B3",
|
||||
")# c #B08E80",
|
||||
"!# c #A1816B",
|
||||
"~# c #857167",
|
||||
"{# c #D7C6AB",
|
||||
"]# c #A39484",
|
||||
"^# c #F4E9D4",
|
||||
"/# c #E8D6B7",
|
||||
"(# c #F6EBD2",
|
||||
"_# c #DAC7AA",
|
||||
":# c #E2CCAE",
|
||||
"<# c #F1E6CD",
|
||||
"[# c #EFE0C6",
|
||||
"}# c #A49E9A",
|
||||
"|# c #FFFFFF",
|
||||
"1# c #EBF4FD",
|
||||
"2# c #C7C1BE",
|
||||
"3# c #F8E7DE",
|
||||
"4# c #F7E2D7",
|
||||
"5# c #F6D8CC",
|
||||
"6# c #E6C0B4",
|
||||
"7# c #CAAFA9",
|
||||
"8# c #A39B9C",
|
||||
"9# c #A28773",
|
||||
"0# c #D0B69A",
|
||||
"a# c #C1B29C",
|
||||
"b# c #C4B19E",
|
||||
"c# c #ECE0CB",
|
||||
"d# c #ECD8B8",
|
||||
"e# c #F8EED7",
|
||||
"f# c #EFDDBC",
|
||||
"g# c #D8C7AA",
|
||||
"h# c #D2BEA2",
|
||||
"i# c #F6EFDB",
|
||||
"j# c #C2B29D",
|
||||
"k# c #E5E5E5",
|
||||
"l# c #FBFDFF",
|
||||
"m# c #BEB1AB",
|
||||
"n# c #F6DBD0",
|
||||
"o# c #DBB9AD",
|
||||
"p# c #BC9D93",
|
||||
"q# c #CFB3A9",
|
||||
"r# c #DDC8BF",
|
||||
"s# c #7F7F83",
|
||||
"t# c #CEBB9F",
|
||||
"u# c #B5A491",
|
||||
"v# c #908375",
|
||||
"w# c #D0BCA5",
|
||||
"x# c #E2D9C5",
|
||||
"y# c #E6D4B6",
|
||||
"z# c #F8EED6",
|
||||
"A# c #EDDABA",
|
||||
"B# c #DCCCAE",
|
||||
"C# c #E0CDB1",
|
||||
"D# c #EFE8D3",
|
||||
"E# c #CBC4B7",
|
||||
"F# c #FDFDFD",
|
||||
"G# c #C6B0A6",
|
||||
"H# c #E5C4B9",
|
||||
"I# c #C3A69C",
|
||||
"J# c #DCC4BA",
|
||||
"K# c #F7E1D7",
|
||||
"L# c #D2BEB8",
|
||||
"M# c #A6968F",
|
||||
"N# c #B9A794",
|
||||
"O# c #DFD7C5",
|
||||
"P# c #E1D1B5",
|
||||
"Q# c #F8EDD6",
|
||||
"R# c #ECDAB9",
|
||||
"S# c #E6D5B8",
|
||||
"T# c #DDD5C1",
|
||||
"U# c #C8C1B9",
|
||||
"V# c #E2CBC1",
|
||||
"W# c #F5D8CD",
|
||||
"X# c #CBBDC5",
|
||||
"Y# c #CADAF0",
|
||||
"Z# c #D7CFCB",
|
||||
"`# c #FAECE4",
|
||||
" $ c #FBF2EC",
|
||||
".$ c #FAEFE8",
|
||||
"+$ c #9E9591",
|
||||
"@$ c #999797",
|
||||
"#$ c #AF9C8C",
|
||||
"$$ c #E6DBC5",
|
||||
"%$ c #F1E4CB",
|
||||
"&$ c #F2E8D2",
|
||||
"*$ c #DACBAE",
|
||||
"=$ c #EAD7B8",
|
||||
"-$ c #DED5BF",
|
||||
";$ c #C2BDB4",
|
||||
">$ c #DEDEDE",
|
||||
",$ c #E5D4CA",
|
||||
"'$ c #D6B9AF",
|
||||
")$ c #C6DCF6",
|
||||
"!$ c #DBEBFC",
|
||||
"~$ c #F9FBFC",
|
||||
"{$ c #D7D3D1",
|
||||
"]$ c #F3E7E1",
|
||||
"^$ c #F8E8DF",
|
||||
"/$ c #F9EBE2",
|
||||
"($ c #FDF7F3",
|
||||
"_$ c #FCF4EE",
|
||||
":$ c #D3D0CE",
|
||||
"<$ c #D9D8D9",
|
||||
"[$ c #D8C7AD",
|
||||
"}$ c #F9F0DB",
|
||||
"|$ c #F4EAD4",
|
||||
"1$ c #E6DABE",
|
||||
"2$ c #EADEC1",
|
||||
"3$ c #BDB4A4",
|
||||
"4$ c #F8F8F8",
|
||||
"5$ c #DACCC3",
|
||||
"6$ c #CCC7C9",
|
||||
"7$ c #D3E6FB",
|
||||
"8$ c #EEF5FE",
|
||||
"9$ c #FAFCFF",
|
||||
"0$ c #E0DCDD",
|
||||
"a$ c #CFBECC",
|
||||
"b$ c #F3E0DC",
|
||||
"c$ c #D1BAD6",
|
||||
"d$ c #F4E6E5",
|
||||
"e$ c #FCF2EC",
|
||||
"f$ c #CCC0CE",
|
||||
"g$ c #F0F2F5",
|
||||
"h$ c #B19E8B",
|
||||
"i$ c #F5E9CD",
|
||||
"j$ c #FAF3E0",
|
||||
"k$ c #F2E6C9",
|
||||
"l$ c #ECE2C7",
|
||||
"m$ c #E5D4B5",
|
||||
"n$ c #F1E3C2",
|
||||
"o$ c #C4B59A",
|
||||
"p$ c #E1E1E1",
|
||||
"q$ c #DED1CA",
|
||||
"r$ c #F4DCD1",
|
||||
"s$ c #CBD4E0",
|
||||
"t$ c #E0EDFC",
|
||||
"u$ c #F8FBFE",
|
||||
"v$ c #F3F2F4",
|
||||
"w$ c #C7BDD1",
|
||||
"x$ c #AB95BC",
|
||||
"y$ c #BEA1C1",
|
||||
"z$ c #EED9DA",
|
||||
"A$ c #D0C7D3",
|
||||
"B$ c #EDF5FE",
|
||||
"C$ c #F5F9FE",
|
||||
"D$ c #A5AAB0",
|
||||
"E$ c #EAD8B8",
|
||||
"F$ c #F4EBD3",
|
||||
"G$ c #EEE4C8",
|
||||
"H$ c #DCCFB2",
|
||||
"I$ c #F0DFBE",
|
||||
"J$ c #BCB5AB",
|
||||
"K$ c #DFDBDA",
|
||||
"L$ c #D0C8C9",
|
||||
"M$ c #E0EEFC",
|
||||
"N$ c #EBF3FD",
|
||||
"O$ c #E9E8ED",
|
||||
"P$ c #BFC9DE",
|
||||
"Q$ c #C7DEF8",
|
||||
"R$ c #CFE4FB",
|
||||
"S$ c #E7F1FD",
|
||||
"T$ c #9397A6",
|
||||
"U$ c #D9C7AC",
|
||||
"V$ c #E9D6B7",
|
||||
"W$ c #E8DBBD",
|
||||
"X$ c #F8F0D8",
|
||||
"Y$ c #EADDBF",
|
||||
"Z$ c #F0E1C0",
|
||||
"`$ c #CDBB9F",
|
||||
" % c #DEDEDD",
|
||||
".% c #FAFCFE",
|
||||
"+% c #E8F2FD",
|
||||
"@% c #EAF3FD",
|
||||
"#% c #F1F7FD",
|
||||
"$% c #FEFFFF",
|
||||
"%% c #FCFEFF",
|
||||
"&% c #FCFDFF",
|
||||
"*% c #FDFEFF",
|
||||
"=% c #CAE1FB",
|
||||
"-% c #B7D6F9",
|
||||
";% c #D0E5FB",
|
||||
">% c #E2EFFC",
|
||||
",% c #A3ACB8",
|
||||
"'% c #EBD9B9",
|
||||
")% c #DFCFB1",
|
||||
"!% c #F4E9CC",
|
||||
"~% c #EFE4C9",
|
||||
"{% c #F0E2C1",
|
||||
"]% c #EEDCBB",
|
||||
"^% c #E1CFB0",
|
||||
"/% c #BBAE9B",
|
||||
"(% c #F8F7F7",
|
||||
"_% c #FEFEFF",
|
||||
":% c #F2F7FE",
|
||||
"<% c #F4F9FE",
|
||||
"[% c #F6FAFF",
|
||||
"}% c #F8FBFF",
|
||||
"|% c #F6FAFE",
|
||||
"1% c #D7E8FC",
|
||||
"2% c #B1D3F9",
|
||||
"3% c #ADD0F8",
|
||||
"4% c #C2DDFA",
|
||||
"5% c #CADAED",
|
||||
"6% c #DFC9AE",
|
||||
"7% c #E7D5B6",
|
||||
"8% c #E7D8B9",
|
||||
"9% c #F5EACD",
|
||||
"0% c #EFE1C1",
|
||||
"a% c #D8C1A5",
|
||||
"b% c #BBB1A3",
|
||||
"c% c #FFFFFE",
|
||||
"d% c #F3F9FE",
|
||||
"e% c #F5FAFE",
|
||||
"f% c #F3F8FE",
|
||||
"g% c #F1F7FE",
|
||||
"h% c #E1EEFC",
|
||||
"i% c #C8E0FB",
|
||||
"j% c #B3D4F9",
|
||||
"k% c #C2D9F3",
|
||||
"l% c #DAC8AC",
|
||||
"m% c #E5D3B4",
|
||||
"n% c #EFE0C0",
|
||||
"o% c #ECD7B6",
|
||||
"p% c #E6CFB0",
|
||||
"q% c #CEB99E",
|
||||
"r% c #C6BFB8",
|
||||
"s% c #F4F8FE",
|
||||
"t% c #E6F0FD",
|
||||
"u% c #DAEAFC",
|
||||
"v% c #CEE3FA",
|
||||
"w% c #BBD9F9",
|
||||
"x% c #BDD9FA",
|
||||
"y% c #B7D3F3",
|
||||
"z% c #AEA08D",
|
||||
"A% c #EEDDBC",
|
||||
"B% c #F0E0BE",
|
||||
"C% c #ECD5B4",
|
||||
"D% c #D9C2A5",
|
||||
"E% c #C0AD96",
|
||||
"F% c #EAE9EA",
|
||||
"G% c #DCEBFC",
|
||||
"H% c #D1E5FB",
|
||||
"I% c #C5DEFA",
|
||||
"J% c #BDDAFA",
|
||||
"K% c #C9E0FA",
|
||||
"L% c #DDECFC",
|
||||
"M% c #D8E9FC",
|
||||
" . + @ # $ ",
|
||||
" % & * = - ; > , ' ) ! ",
|
||||
" ~ { ] ^ / ( _ : < [ } | 1 2 3 4 5 ",
|
||||
" 6 7 8 9 0 a b c d e f g h i j ] ] ] k l ",
|
||||
" m n o p b q r s t u v w ] x y z A B f ] f C D ",
|
||||
" E F G H I J K L M N O P Q ] R S T U w V ] W X ",
|
||||
" Y Z ` ...+.@.#.$.%.&.*.=.-.] ;.>.,.'.).^ !.~.",
|
||||
" {.].^./.(._.:.<.[.}.|.1.2.3.4.5.] 6.7.8.).9.0. ",
|
||||
" a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.f f r.s.t.u.v. ",
|
||||
" w.x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.9.] O.P.Q.R. ",
|
||||
" S.T.U.V.W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+5.] V -+;+ ",
|
||||
" >+,+'+)+!+~+{+]+^+/+(+_+:+<+[+}+|+1+2+3+4+] ] 5+6+ ",
|
||||
" 7+8+9+0+a+b+c+d+e+f+o f g+h+i+j+k+l+m+n+o+V ] ] 4+p+ ",
|
||||
" q+r+s+t+u+v+w+x+y+z+A+B+C+).] D+E+F+G+H+I+J+Q f ] K+L+M+ ",
|
||||
" N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+w @.@+@@@#@$@%@&@*@f =@-@;@>@ ",
|
||||
" ,@'@)@!@~@{@]@^@/@(@_@:@<@[@-.}@|@1@2@3@4@5@6@V 7@8@9@0@ ",
|
||||
" a@b@c@d@e@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@L+x@y@z@ ",
|
||||
" A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@5@Q@R@S@T@K+U@V@W@X@ ",
|
||||
" Y@Z@`@ #.#+#@###$#%#&#*#=#-#;#P@>#6@,#] Q !.'#)#!#~# ",
|
||||
"{#]#^#/#(#I@_#:#<#[#}#|#1#2#] ] 3#3#] 4#5#6#7#8#9#0# ",
|
||||
"a#b#c#d#e#f#g#h#i#j#k#|#l#m#V ] ] 5.n#o#p#q#r#s#t#u# ",
|
||||
"v#w#x#y#z#A#B#C#D#E#|#|#F#G#K+V w H#I#J#K#V ;#L#M# ",
|
||||
" N#O#P#Q#R#g#S#T#U#|#|#k#V#^ W#X#Y#Z#P@*@;#`# $.$+$@$ ",
|
||||
" #$$$%$&$j@*$=$-$;$|#|#>$,$4#'$)$!$~${$]$^$/$u@($_$:$<$ ",
|
||||
" [$}$|$e@1$=$2$3$|#|#4$5$^ 6$7$8$9$|#0$a$b$c$d$e$f$|#g$ ",
|
||||
" h$i$j$k$l$m$n$o$p$|#|#q$r$s$t$u$|#|#|#v$w$x$y$z$A$B$C$D$ ",
|
||||
" E$F$G$)@H$j@I$J$|#|#K$L$M$N$l#|#|#|#|#|#|#O$P$Q$R$S$T$ ",
|
||||
" U$V$W$X$Y$Z$I$`$ %|#.%+%@%#%l#$%%%&%*%*%&%8$=%-%;%>%,% ",
|
||||
" '%)%!%~%{%]%^%/%(%_%u$:%<%&%l#[%}%|%<%S$1%2%3%4%5% ",
|
||||
" 6%7%8%9%0%f#E$a%b%c%|#.%*%_%}%d%e%f%g%h%i%j%j%k% ",
|
||||
" l%m%n%n$D@o%p%q%r%|#|#|#|#&%s%8$t%u%v%w%j%x%y% ",
|
||||
" z%A%m%n$B%o%C%D%E%F%|#|#|#|#&%f%G%H%I%J%K%L%M% "};
|
||||
24
loader.c
24
loader.c
|
|
@ -1,24 +1,15 @@
|
|||
/* Hot-babe
|
||||
* Copyright (C) 2002 DindinX <David@dindinx.org>
|
||||
* Copyright (C) 2002 DindinX & Cyprien
|
||||
* Copyright (C) 2002 Bruno Bellamy.
|
||||
*
|
||||
* 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
* it under the terms of the artistic License
|
||||
*
|
||||
* This program 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.
|
||||
* THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* Artistic License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Please note that part of this code is from wmbubble, and such should be
|
||||
* copyrighted by <timecop@japan.co.jp>
|
||||
*
|
||||
*/
|
||||
|
||||
/* general includes */
|
||||
|
|
@ -97,7 +88,8 @@ int load_anim( HotBabeAnim *anim, gchar *dirname )
|
|||
strncpy( filename, dirname, 512 );
|
||||
strcat( filename, "/" );
|
||||
strcat( filename, line );
|
||||
anim->pixbuf[i] = gdk_pixbuf_new_from_file( filename );
|
||||
/* FIXME: I'm a bad boy, I should use a real GError -temsa */
|
||||
anim->pixbuf[i] = gdk_pixbuf_new_from_file( filename, NULL );
|
||||
}
|
||||
|
||||
fclose( fd );
|
||||
|
|
|
|||
23
loader.h
23
loader.h
|
|
@ -1,23 +1,14 @@
|
|||
/* Hot-babe
|
||||
* Copyright (C) 2002 DindinX <David@dindinx.org>
|
||||
/* Hot-babe
|
||||
* Copyright (C) 2002 DindinX & Cyprien
|
||||
* Copyright (C) 2002 Bruno Bellamy.
|
||||
*
|
||||
* 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 of the License, or
|
||||
* (at your option) any later version.
|
||||
* it under the terms of the artistic License
|
||||
*
|
||||
* This program 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 program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Please note that part of this code is from wmbubble, and such should be
|
||||
* copyrighted by <timecop@japan.co.jp>
|
||||
* THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* Artistic License for more details.
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue