wmhdplop: Add version 0.9.9 to repository.
Upstream appears to be inactive. Last release in 2007. Hasn't responded to my emails regarding patches from Debian in over a year. Obtained from http://hules.free.fr/wmhdplop/wmhdplop-0.9.9.tar.gz.
This commit is contained in:
parent
dcd501e145
commit
fe7250ff5d
2
wmhdplop/AUTHORS
Normal file
2
wmhdplop/AUTHORS
Normal file
|
@ -0,0 +1,2 @@
|
|||
julien pommier (wmhdplop)
|
||||
frederic jolly (gkhdplop)
|
340
wmhdplop/COPYING
Normal file
340
wmhdplop/COPYING
Normal file
|
@ -0,0 +1,340 @@
|
|||
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 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.
|
||||
|
||||
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:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
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.
|
71
wmhdplop/ChangeLog
Normal file
71
wmhdplop/ChangeLog
Normal file
|
@ -0,0 +1,71 @@
|
|||
2007-04-20 (v0.9.9)
|
||||
Fixed device lookup from /proc/partitions & /etc/mtab on feisty fawn.
|
||||
|
||||
2006-12-01 (v0.9.8)
|
||||
|
||||
Added option -F to display hd temperatures in Farenheit degrees
|
||||
instead of Celsius.
|
||||
|
||||
Added support for up to 12 ide hd.
|
||||
|
||||
Fixed font paths & default font (imlib is buggy with FreeSansBold)
|
||||
|
||||
2005-06-17 (v0.9.7)
|
||||
|
||||
Should tolerate swapless configurations.
|
||||
|
||||
2005-02-25
|
||||
|
||||
Damned there was a leak in both wmforkplop and wmhdplop.
|
||||
|
||||
2004-14-07 (v0.9.6)
|
||||
|
||||
Small reduction of CPU consumption, and fixed a bug in gkhdplop
|
||||
which was under-estimating the throughtput.
|
||||
|
||||
Added options --32, --48 and --56 for user whose dock is smaller
|
||||
than 64x64.
|
||||
|
||||
2004-07-07 (v0.9.5)
|
||||
|
||||
Some small bugfixes, added /usr/X11R6/lib/X11/fonts/truetype to
|
||||
default font path, wmhdplop will try harder to find a
|
||||
font. gkhdplop won't kill gkrellm if not font is found. wmhdplop
|
||||
should work out of box with fvwm2 and others windowmanagers.
|
||||
|
||||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=257760 should be
|
||||
fixed, and the font names/size can now be changed in the gkhdplop
|
||||
panel.
|
||||
|
||||
2004-04-06 (v0.9.4)
|
||||
|
||||
Well well well, wmhdplop won't try anymore to parse device
|
||||
names. Major & minor device number are the only truth. Forget the
|
||||
brain-damaged 0.9.3 which was broken with devfs.
|
||||
|
||||
2004-04-06 (v0.9.3)
|
||||
|
||||
Fixed some crashes, and wrong throughput when partitions where
|
||||
monitored. wmhdplop should recognize automatically scsi drives,
|
||||
and even raid arrays.
|
||||
|
||||
2004-04-01
|
||||
|
||||
The release that will rule the desktops \o/ (v0.9.2) Add mouse
|
||||
interactivity. Add gkhdplop, the port to gkrellm. wmhdplop
|
||||
-g=wxh is not resizable
|
||||
|
||||
2003-12-18
|
||||
|
||||
Improved release \o/ (v0.9.1) Many internal changes. The
|
||||
dockapp/imlib2 initialisation part was moved to a separate file,
|
||||
which should be reusable. All option names were changed.. -F is
|
||||
now --fontpath, -f is --smallfont etc.. The --geometry option was
|
||||
added in order to launch wmhdplop in undocked mode, with an
|
||||
arbitray window size. This option has to be used with the
|
||||
gnome-swallow meta applet (see example on the homepage). The
|
||||
default font-paths are now scanned recursively.
|
||||
|
||||
2003-12-06
|
||||
|
||||
Initial release \o/ (v0.9.0)
|
229
wmhdplop/INSTALL
Normal file
229
wmhdplop/INSTALL
Normal file
|
@ -0,0 +1,229 @@
|
|||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
This file is free documentation; the Free Software Foundation gives
|
||||
unlimited permission to copy, distribute and modify it.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. (Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.)
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You only need
|
||||
`configure.ac' if you want to change it or regenerate `configure' using
|
||||
a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not support the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a
|
||||
time in the source code directory. After you have installed the
|
||||
package for one architecture, use `make distclean' before reconfiguring
|
||||
for another architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=PATH' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
will cause the specified gcc to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
||||
|
23
wmhdplop/Makefile.am
Normal file
23
wmhdplop/Makefile.am
Normal file
|
@ -0,0 +1,23 @@
|
|||
bin_PROGRAMS=wmhdplop
|
||||
noinst_PROGRAMS=@GKHDPLOP@
|
||||
EXTRA_PROGRAMS=gkhdplop.so
|
||||
|
||||
EXTRA_DIST=autogen.sh gkrellm_hdplop.c
|
||||
|
||||
IMLIB2_LIBS=@IMLIB2_LIBS@
|
||||
IMLIB2_CFLAGS=@IMLIB2_CFLAGS@
|
||||
|
||||
wmhdplop_SOURCES = wmhdplop.c wmhdplop.h util.c util.h procstat.c procstat.h devnames.c devnames.h global.h dockapp_imlib2.c dockapp_imlib2.h
|
||||
wmhdplop_LDADD=-lm $(IMLIB2_LIBS)
|
||||
wmhdplop_CFLAGS=$(IMLIB2_CFLAGS)
|
||||
# gtk cflags and gtk lib flags
|
||||
GTK2_CFLAGS = @GTK2_CFLAGS@
|
||||
GTK2_LIBS = @GTK2_LIBS@
|
||||
|
||||
LIBTOOLSUX_GKHDPLOP_SRC=wmhdplop.c util.c util.h procstat.c procstat.h devnames.c devnames.h global.h dockapp_imlib2.c dockapp_imlib2.h gkrellm_hdplop.c
|
||||
|
||||
gkhdplop_so_SOURCES=$(LIBTOOLSUX_GKHDPLOP_SRC)
|
||||
gkhdplop_so_CFLAGS=-DGKRELLM -fPIC $(GTK2_CFLAGS) $(IMLIB2_CFLAGS)
|
||||
gkhdplop_so_LDFLAGS=-shared -Wl $(IMLIB2_LIBS) -lm
|
||||
|
||||
all: @GKHDPLOP@
|
757
wmhdplop/Makefile.in
Normal file
757
wmhdplop/Makefile.in
Normal file
|
@ -0,0 +1,757 @@
|
|||
# Makefile.in generated by automake 1.9.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = .
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = wmhdplop$(EXEEXT)
|
||||
noinst_PROGRAMS = @GKHDPLOP@
|
||||
EXTRA_PROGRAMS = gkhdplop.so$(EXEEXT)
|
||||
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
|
||||
compile config.guess config.sub depcomp install-sh ltmain.sh \
|
||||
missing mkinstalldirs
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno configure.status.lineno
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
|
||||
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
|
||||
am__objects_1 = gkhdplop_so-wmhdplop.$(OBJEXT) \
|
||||
gkhdplop_so-util.$(OBJEXT) gkhdplop_so-procstat.$(OBJEXT) \
|
||||
gkhdplop_so-devnames.$(OBJEXT) \
|
||||
gkhdplop_so-dockapp_imlib2.$(OBJEXT) \
|
||||
gkhdplop_so-gkrellm_hdplop.$(OBJEXT)
|
||||
am_gkhdplop_so_OBJECTS = $(am__objects_1)
|
||||
gkhdplop_so_OBJECTS = $(am_gkhdplop_so_OBJECTS)
|
||||
gkhdplop_so_LDADD = $(LDADD)
|
||||
am_wmhdplop_OBJECTS = wmhdplop-wmhdplop.$(OBJEXT) \
|
||||
wmhdplop-util.$(OBJEXT) wmhdplop-procstat.$(OBJEXT) \
|
||||
wmhdplop-devnames.$(OBJEXT) wmhdplop-dockapp_imlib2.$(OBJEXT)
|
||||
wmhdplop_OBJECTS = $(am_wmhdplop_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
wmhdplop_DEPENDENCIES = $(am__DEPENDENCIES_1)
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(gkhdplop_so_SOURCES) $(wmhdplop_SOURCES)
|
||||
DIST_SOURCES = $(gkhdplop_so_SOURCES) $(wmhdplop_SOURCES)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GKHDPLOP = @GKHDPLOP@
|
||||
GREP = @GREP@
|
||||
# gtk cflags and gtk lib flags
|
||||
GTK2_CFLAGS = @GTK2_CFLAGS@
|
||||
GTK2_LIBS = @GTK2_LIBS@
|
||||
IMLIB2_CFLAGS = @IMLIB2_CFLAGS@
|
||||
IMLIB2_CONFIG_IN_PATH = @IMLIB2_CONFIG_IN_PATH@
|
||||
IMLIB2_LIBS = @IMLIB2_LIBS@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
ISODATE = @ISODATE@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
|
||||
PACKAGE_LIBS = @PACKAGE_LIBS@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
XMKMF = @XMKMF@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
||||
X_LIBS = @X_LIBS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
EXTRA_DIST = autogen.sh gkrellm_hdplop.c
|
||||
wmhdplop_SOURCES = wmhdplop.c wmhdplop.h util.c util.h procstat.c procstat.h devnames.c devnames.h global.h dockapp_imlib2.c dockapp_imlib2.h
|
||||
wmhdplop_LDADD = -lm $(IMLIB2_LIBS)
|
||||
wmhdplop_CFLAGS = $(IMLIB2_CFLAGS)
|
||||
LIBTOOLSUX_GKHDPLOP_SRC = wmhdplop.c util.c util.h procstat.c procstat.h devnames.c devnames.h global.h dockapp_imlib2.c dockapp_imlib2.h gkrellm_hdplop.c
|
||||
gkhdplop_so_SOURCES = $(LIBTOOLSUX_GKHDPLOP_SRC)
|
||||
gkhdplop_so_CFLAGS = -DGKRELLM -fPIC $(GTK2_CFLAGS) $(IMLIB2_CFLAGS)
|
||||
gkhdplop_so_LDFLAGS = -shared -Wl $(IMLIB2_LIBS) -lm
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-binPROGRAMS: $(bin_PROGRAMS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
|
||||
if test -f $$p \
|
||||
; then \
|
||||
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
$(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binPROGRAMS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_PROGRAMS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
|
||||
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(bindir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-binPROGRAMS:
|
||||
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
|
||||
|
||||
clean-noinstPROGRAMS:
|
||||
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
|
||||
gkhdplop.so$(EXEEXT): $(gkhdplop_so_OBJECTS) $(gkhdplop_so_DEPENDENCIES)
|
||||
@rm -f gkhdplop.so$(EXEEXT)
|
||||
$(LINK) $(gkhdplop_so_LDFLAGS) $(gkhdplop_so_OBJECTS) $(gkhdplop_so_LDADD) $(LIBS)
|
||||
wmhdplop$(EXEEXT): $(wmhdplop_OBJECTS) $(wmhdplop_DEPENDENCIES)
|
||||
@rm -f wmhdplop$(EXEEXT)
|
||||
$(LINK) $(wmhdplop_LDFLAGS) $(wmhdplop_OBJECTS) $(wmhdplop_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-devnames.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-procstat.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gkhdplop_so-wmhdplop.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmhdplop-devnames.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmhdplop-dockapp_imlib2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmhdplop-procstat.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmhdplop-util.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmhdplop-wmhdplop.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
gkhdplop_so-wmhdplop.o: wmhdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-wmhdplop.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo" -c -o gkhdplop_so-wmhdplop.o `test -f 'wmhdplop.c' || echo '$(srcdir)/'`wmhdplop.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo" "$(DEPDIR)/gkhdplop_so-wmhdplop.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='wmhdplop.c' object='gkhdplop_so-wmhdplop.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-wmhdplop.o `test -f 'wmhdplop.c' || echo '$(srcdir)/'`wmhdplop.c
|
||||
|
||||
gkhdplop_so-wmhdplop.obj: wmhdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-wmhdplop.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo" -c -o gkhdplop_so-wmhdplop.obj `if test -f 'wmhdplop.c'; then $(CYGPATH_W) 'wmhdplop.c'; else $(CYGPATH_W) '$(srcdir)/wmhdplop.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo" "$(DEPDIR)/gkhdplop_so-wmhdplop.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-wmhdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='wmhdplop.c' object='gkhdplop_so-wmhdplop.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-wmhdplop.obj `if test -f 'wmhdplop.c'; then $(CYGPATH_W) 'wmhdplop.c'; else $(CYGPATH_W) '$(srcdir)/wmhdplop.c'; fi`
|
||||
|
||||
gkhdplop_so-util.o: util.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-util.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-util.Tpo" -c -o gkhdplop_so-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-util.Tpo" "$(DEPDIR)/gkhdplop_so-util.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-util.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='util.c' object='gkhdplop_so-util.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
|
||||
|
||||
gkhdplop_so-util.obj: util.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-util.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-util.Tpo" -c -o gkhdplop_so-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-util.Tpo" "$(DEPDIR)/gkhdplop_so-util.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-util.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='util.c' object='gkhdplop_so-util.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
|
||||
|
||||
gkhdplop_so-procstat.o: procstat.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-procstat.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-procstat.Tpo" -c -o gkhdplop_so-procstat.o `test -f 'procstat.c' || echo '$(srcdir)/'`procstat.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-procstat.Tpo" "$(DEPDIR)/gkhdplop_so-procstat.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-procstat.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='procstat.c' object='gkhdplop_so-procstat.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-procstat.o `test -f 'procstat.c' || echo '$(srcdir)/'`procstat.c
|
||||
|
||||
gkhdplop_so-procstat.obj: procstat.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-procstat.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-procstat.Tpo" -c -o gkhdplop_so-procstat.obj `if test -f 'procstat.c'; then $(CYGPATH_W) 'procstat.c'; else $(CYGPATH_W) '$(srcdir)/procstat.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-procstat.Tpo" "$(DEPDIR)/gkhdplop_so-procstat.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-procstat.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='procstat.c' object='gkhdplop_so-procstat.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-procstat.obj `if test -f 'procstat.c'; then $(CYGPATH_W) 'procstat.c'; else $(CYGPATH_W) '$(srcdir)/procstat.c'; fi`
|
||||
|
||||
gkhdplop_so-devnames.o: devnames.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-devnames.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-devnames.Tpo" -c -o gkhdplop_so-devnames.o `test -f 'devnames.c' || echo '$(srcdir)/'`devnames.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-devnames.Tpo" "$(DEPDIR)/gkhdplop_so-devnames.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-devnames.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='devnames.c' object='gkhdplop_so-devnames.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-devnames.o `test -f 'devnames.c' || echo '$(srcdir)/'`devnames.c
|
||||
|
||||
gkhdplop_so-devnames.obj: devnames.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-devnames.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-devnames.Tpo" -c -o gkhdplop_so-devnames.obj `if test -f 'devnames.c'; then $(CYGPATH_W) 'devnames.c'; else $(CYGPATH_W) '$(srcdir)/devnames.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-devnames.Tpo" "$(DEPDIR)/gkhdplop_so-devnames.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-devnames.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='devnames.c' object='gkhdplop_so-devnames.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-devnames.obj `if test -f 'devnames.c'; then $(CYGPATH_W) 'devnames.c'; else $(CYGPATH_W) '$(srcdir)/devnames.c'; fi`
|
||||
|
||||
gkhdplop_so-dockapp_imlib2.o: dockapp_imlib2.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-dockapp_imlib2.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo" -c -o gkhdplop_so-dockapp_imlib2.o `test -f 'dockapp_imlib2.c' || echo '$(srcdir)/'`dockapp_imlib2.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo" "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dockapp_imlib2.c' object='gkhdplop_so-dockapp_imlib2.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-dockapp_imlib2.o `test -f 'dockapp_imlib2.c' || echo '$(srcdir)/'`dockapp_imlib2.c
|
||||
|
||||
gkhdplop_so-dockapp_imlib2.obj: dockapp_imlib2.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-dockapp_imlib2.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo" -c -o gkhdplop_so-dockapp_imlib2.obj `if test -f 'dockapp_imlib2.c'; then $(CYGPATH_W) 'dockapp_imlib2.c'; else $(CYGPATH_W) '$(srcdir)/dockapp_imlib2.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo" "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-dockapp_imlib2.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dockapp_imlib2.c' object='gkhdplop_so-dockapp_imlib2.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-dockapp_imlib2.obj `if test -f 'dockapp_imlib2.c'; then $(CYGPATH_W) 'dockapp_imlib2.c'; else $(CYGPATH_W) '$(srcdir)/dockapp_imlib2.c'; fi`
|
||||
|
||||
gkhdplop_so-gkrellm_hdplop.o: gkrellm_hdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-gkrellm_hdplop.o -MD -MP -MF "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo" -c -o gkhdplop_so-gkrellm_hdplop.o `test -f 'gkrellm_hdplop.c' || echo '$(srcdir)/'`gkrellm_hdplop.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo" "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gkrellm_hdplop.c' object='gkhdplop_so-gkrellm_hdplop.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-gkrellm_hdplop.o `test -f 'gkrellm_hdplop.c' || echo '$(srcdir)/'`gkrellm_hdplop.c
|
||||
|
||||
gkhdplop_so-gkrellm_hdplop.obj: gkrellm_hdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -MT gkhdplop_so-gkrellm_hdplop.obj -MD -MP -MF "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo" -c -o gkhdplop_so-gkrellm_hdplop.obj `if test -f 'gkrellm_hdplop.c'; then $(CYGPATH_W) 'gkrellm_hdplop.c'; else $(CYGPATH_W) '$(srcdir)/gkrellm_hdplop.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo" "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Po"; else rm -f "$(DEPDIR)/gkhdplop_so-gkrellm_hdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gkrellm_hdplop.c' object='gkhdplop_so-gkrellm_hdplop.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gkhdplop_so_CFLAGS) $(CFLAGS) -c -o gkhdplop_so-gkrellm_hdplop.obj `if test -f 'gkrellm_hdplop.c'; then $(CYGPATH_W) 'gkrellm_hdplop.c'; else $(CYGPATH_W) '$(srcdir)/gkrellm_hdplop.c'; fi`
|
||||
|
||||
wmhdplop-wmhdplop.o: wmhdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-wmhdplop.o -MD -MP -MF "$(DEPDIR)/wmhdplop-wmhdplop.Tpo" -c -o wmhdplop-wmhdplop.o `test -f 'wmhdplop.c' || echo '$(srcdir)/'`wmhdplop.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-wmhdplop.Tpo" "$(DEPDIR)/wmhdplop-wmhdplop.Po"; else rm -f "$(DEPDIR)/wmhdplop-wmhdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='wmhdplop.c' object='wmhdplop-wmhdplop.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-wmhdplop.o `test -f 'wmhdplop.c' || echo '$(srcdir)/'`wmhdplop.c
|
||||
|
||||
wmhdplop-wmhdplop.obj: wmhdplop.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-wmhdplop.obj -MD -MP -MF "$(DEPDIR)/wmhdplop-wmhdplop.Tpo" -c -o wmhdplop-wmhdplop.obj `if test -f 'wmhdplop.c'; then $(CYGPATH_W) 'wmhdplop.c'; else $(CYGPATH_W) '$(srcdir)/wmhdplop.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-wmhdplop.Tpo" "$(DEPDIR)/wmhdplop-wmhdplop.Po"; else rm -f "$(DEPDIR)/wmhdplop-wmhdplop.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='wmhdplop.c' object='wmhdplop-wmhdplop.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-wmhdplop.obj `if test -f 'wmhdplop.c'; then $(CYGPATH_W) 'wmhdplop.c'; else $(CYGPATH_W) '$(srcdir)/wmhdplop.c'; fi`
|
||||
|
||||
wmhdplop-util.o: util.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-util.o -MD -MP -MF "$(DEPDIR)/wmhdplop-util.Tpo" -c -o wmhdplop-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-util.Tpo" "$(DEPDIR)/wmhdplop-util.Po"; else rm -f "$(DEPDIR)/wmhdplop-util.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='util.c' object='wmhdplop-util.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
|
||||
|
||||
wmhdplop-util.obj: util.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-util.obj -MD -MP -MF "$(DEPDIR)/wmhdplop-util.Tpo" -c -o wmhdplop-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-util.Tpo" "$(DEPDIR)/wmhdplop-util.Po"; else rm -f "$(DEPDIR)/wmhdplop-util.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='util.c' object='wmhdplop-util.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
|
||||
|
||||
wmhdplop-procstat.o: procstat.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-procstat.o -MD -MP -MF "$(DEPDIR)/wmhdplop-procstat.Tpo" -c -o wmhdplop-procstat.o `test -f 'procstat.c' || echo '$(srcdir)/'`procstat.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-procstat.Tpo" "$(DEPDIR)/wmhdplop-procstat.Po"; else rm -f "$(DEPDIR)/wmhdplop-procstat.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='procstat.c' object='wmhdplop-procstat.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-procstat.o `test -f 'procstat.c' || echo '$(srcdir)/'`procstat.c
|
||||
|
||||
wmhdplop-procstat.obj: procstat.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-procstat.obj -MD -MP -MF "$(DEPDIR)/wmhdplop-procstat.Tpo" -c -o wmhdplop-procstat.obj `if test -f 'procstat.c'; then $(CYGPATH_W) 'procstat.c'; else $(CYGPATH_W) '$(srcdir)/procstat.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-procstat.Tpo" "$(DEPDIR)/wmhdplop-procstat.Po"; else rm -f "$(DEPDIR)/wmhdplop-procstat.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='procstat.c' object='wmhdplop-procstat.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-procstat.obj `if test -f 'procstat.c'; then $(CYGPATH_W) 'procstat.c'; else $(CYGPATH_W) '$(srcdir)/procstat.c'; fi`
|
||||
|
||||
wmhdplop-devnames.o: devnames.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-devnames.o -MD -MP -MF "$(DEPDIR)/wmhdplop-devnames.Tpo" -c -o wmhdplop-devnames.o `test -f 'devnames.c' || echo '$(srcdir)/'`devnames.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-devnames.Tpo" "$(DEPDIR)/wmhdplop-devnames.Po"; else rm -f "$(DEPDIR)/wmhdplop-devnames.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='devnames.c' object='wmhdplop-devnames.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-devnames.o `test -f 'devnames.c' || echo '$(srcdir)/'`devnames.c
|
||||
|
||||
wmhdplop-devnames.obj: devnames.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-devnames.obj -MD -MP -MF "$(DEPDIR)/wmhdplop-devnames.Tpo" -c -o wmhdplop-devnames.obj `if test -f 'devnames.c'; then $(CYGPATH_W) 'devnames.c'; else $(CYGPATH_W) '$(srcdir)/devnames.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-devnames.Tpo" "$(DEPDIR)/wmhdplop-devnames.Po"; else rm -f "$(DEPDIR)/wmhdplop-devnames.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='devnames.c' object='wmhdplop-devnames.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-devnames.obj `if test -f 'devnames.c'; then $(CYGPATH_W) 'devnames.c'; else $(CYGPATH_W) '$(srcdir)/devnames.c'; fi`
|
||||
|
||||
wmhdplop-dockapp_imlib2.o: dockapp_imlib2.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-dockapp_imlib2.o -MD -MP -MF "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo" -c -o wmhdplop-dockapp_imlib2.o `test -f 'dockapp_imlib2.c' || echo '$(srcdir)/'`dockapp_imlib2.c; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo" "$(DEPDIR)/wmhdplop-dockapp_imlib2.Po"; else rm -f "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dockapp_imlib2.c' object='wmhdplop-dockapp_imlib2.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-dockapp_imlib2.o `test -f 'dockapp_imlib2.c' || echo '$(srcdir)/'`dockapp_imlib2.c
|
||||
|
||||
wmhdplop-dockapp_imlib2.obj: dockapp_imlib2.c
|
||||
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -MT wmhdplop-dockapp_imlib2.obj -MD -MP -MF "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo" -c -o wmhdplop-dockapp_imlib2.obj `if test -f 'dockapp_imlib2.c'; then $(CYGPATH_W) 'dockapp_imlib2.c'; else $(CYGPATH_W) '$(srcdir)/dockapp_imlib2.c'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo" "$(DEPDIR)/wmhdplop-dockapp_imlib2.Po"; else rm -f "$(DEPDIR)/wmhdplop-dockapp_imlib2.Tpo"; exit 1; fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dockapp_imlib2.c' object='wmhdplop-dockapp_imlib2.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wmhdplop_CFLAGS) $(CFLAGS) -c -o wmhdplop-dockapp_imlib2.obj `if test -f 'dockapp_imlib2.c'; then $(CYGPATH_W) 'dockapp_imlib2.c'; else $(CYGPATH_W) '$(srcdir)/dockapp_imlib2.c'; fi`
|
||||
uninstall-info-am:
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
mkdir $(distdir)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkdir_p) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
||||
test -z "$$dir" || $(mkdir_p) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-binPROGRAMS
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-binPROGRAMS clean-generic clean-noinstPROGRAMS ctags \
|
||||
dist dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ \
|
||||
dist-zip distcheck distclean distclean-compile \
|
||||
distclean-generic distclean-hdr distclean-tags distcleancheck \
|
||||
distdir distuninstallcheck dvi dvi-am html html-am info \
|
||||
info-am install install-am install-binPROGRAMS install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
|
||||
uninstall-am uninstall-binPROGRAMS uninstall-info-am
|
||||
|
||||
|
||||
all: @GKHDPLOP@
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
4
wmhdplop/NEWS
Normal file
4
wmhdplop/NEWS
Normal file
|
@ -0,0 +1,4 @@
|
|||
I won't fill this file, please take a look at the ChangeLog
|
||||
|
||||
--- 03/12/03 ------------------------
|
||||
wmhdplop 0.9 is ready for the desktop.
|
33
wmhdplop/README
Normal file
33
wmhdplop/README
Normal file
|
@ -0,0 +1,33 @@
|
|||
|
||||
------------------------------------------------
|
||||
wmdhplop & gkhdplop
|
||||
------------------------------------------------
|
||||
|
||||
wmhdplop is yet another monitoring applet. This one watches hard-drive
|
||||
activity.
|
||||
gkhdplop is the port of wmhdplop into a gkrellm2 plugin.
|
||||
|
||||
Compilation:
|
||||
-----------
|
||||
./configure && make && make install
|
||||
|
||||
Note that this applet uses Imlib2, and requires the script imlib2-config
|
||||
to be in the path. It won't compile on anything but a recent linux kernel
|
||||
(2.4.20 or better, 2.6 is also supported).
|
||||
|
||||
gkhdplop requires gtk2 and gkrellm2.
|
||||
|
||||
Usage:
|
||||
------
|
||||
wmhdplop -h for the list of options. If you have the hddtemp daemon running,
|
||||
then wmhdplop may use it to display the temperature of your hard-drives.
|
||||
The monitored hard-drive or partition can be changed with the mouse wheel.
|
||||
|
||||
gkhdplop:
|
||||
---------
|
||||
To install the plugin:
|
||||
mv gkhdplop.so ~/.gkrellm2/plugins
|
||||
|
||||
The configuration is made by clicking with the right button on the plugin.
|
||||
BUG: gkhdplop will close gkrellm if no default .ttf font is found (look at
|
||||
the messages in console).
|
7389
wmhdplop/aclocal.m4
vendored
Normal file
7389
wmhdplop/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
3
wmhdplop/autogen.sh
Executable file
3
wmhdplop/autogen.sh
Executable file
|
@ -0,0 +1,3 @@
|
|||
#! /bin/sh
|
||||
autoreconf -v --install || exit 1
|
||||
./configure --enable-maintainer-mode "$@"
|
107
wmhdplop/compile
Executable file
107
wmhdplop/compile
Executable file
|
@ -0,0 +1,107 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
|
||||
# Copyright 1999, 2000 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Usage:
|
||||
# compile PROGRAM [ARGS]...
|
||||
# `-o FOO.o' is removed from the args passed to the actual compile.
|
||||
|
||||
# Usage statement added by Billy Biggs <vektor@dumbterm.net>.
|
||||
if [ -z $1 ]; then
|
||||
echo "Wrapper for compilers which do not understand '-c -o'."
|
||||
echo "usage: compile PROGRAM [ARGS]..."
|
||||
echo "'-o FOO.o' is removed from the args passed to the actual compile."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
prog=$1
|
||||
shift
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
args=
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-o)
|
||||
# configure might choose to run compile as `compile cc -o foo foo.c'.
|
||||
# So we do something ugly here.
|
||||
ofile=$2
|
||||
shift
|
||||
case "$ofile" in
|
||||
*.o | *.obj)
|
||||
;;
|
||||
*)
|
||||
args="$args -o $ofile"
|
||||
ofile=
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
args="$args $1"
|
||||
;;
|
||||
*)
|
||||
args="$args $1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no `-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# `.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$prog" $args
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use `[/.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir $lockdir > /dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir $lockdir; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$prog" $args
|
||||
status=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
mv "$cofile" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir $lockdir
|
||||
exit $status
|
1465
wmhdplop/config.guess
vendored
Executable file
1465
wmhdplop/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load diff
67
wmhdplop/config.h.in
Normal file
67
wmhdplop/config.h.in
Normal file
|
@ -0,0 +1,67 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* enable queries to hddtemp */
|
||||
#undef ENABLE_HDDTEMP_QUERY
|
||||
|
||||
/* Define to 1 if you have the <gkrellm2/gkrellm.h> header file. */
|
||||
#undef HAVE_GKRELLM2_GKRELLM_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <linux/hdreg.h> header file. */
|
||||
#undef HAVE_LINUX_HDREG_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to 1 if the X Window System is missing or not being used. */
|
||||
#undef X_DISPLAY_MISSING
|
||||
|
||||
/* uses GNU extensions */
|
||||
#undef _GNU_SOURCE
|
1569
wmhdplop/config.sub
vendored
Executable file
1569
wmhdplop/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load diff
7509
wmhdplop/configure
vendored
Executable file
7509
wmhdplop/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
102
wmhdplop/configure.ac
Normal file
102
wmhdplop/configure.ac
Normal file
|
@ -0,0 +1,102 @@
|
|||
AC_INIT(wmhdplop.c)
|
||||
AM_INIT_AUTOMAKE(wmhdplop, 0.9.9)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
AC_SUBST(VERSION)
|
||||
|
||||
ISODATE=`date +%Y-%m-%d`
|
||||
AC_SUBST(ISODATE)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_DISABLE_STATIC
|
||||
AM_ENABLE_SHARED
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_CC
|
||||
AC_HEADER_STDC
|
||||
|
||||
|
||||
AC_DEFINE(ENABLE_HDDTEMP_QUERY,[],[enable queries to hddtemp])
|
||||
AC_DEFINE(_GNU_SOURCE,[],[uses GNU extensions])
|
||||
|
||||
|
||||
if test x$GCC = xyes; then
|
||||
CFLAGS="-O3 -fomit-frame-pointer -ffast-math -Wall -W";
|
||||
fi
|
||||
|
||||
dnl check for X
|
||||
AC_PATH_X
|
||||
AC_PATH_XTRA
|
||||
if test x$no_x = xyes; then
|
||||
echo "You need to supply the path to the X headers and libraries with --x-includes=dir and --x-libraries=dir";
|
||||
exit 1;
|
||||
fi;
|
||||
|
||||
LIBS="${X_PRE_LIBS} ${X_LIBS} -lX11 -lXext ${LIBS} ${X_EXTRA_LIBS}"
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_CHECK_HEADERS(linux/hdreg.h)
|
||||
|
||||
AC_CHECK_PROG([IMLIB2_CONFIG_IN_PATH],[imlib2-config],[yes],[no])
|
||||
if test "x$IMLIB2_CONFIG_IN_PATH" = "xno"; then
|
||||
AC_ERROR([imlib2-config not found in PATH.. You need to install Imlib2 (and its developpement package)])
|
||||
fi
|
||||
IMLIB2_CFLAGS=$(imlib2-config --cflags)
|
||||
IMLIB2_LIBS=$(imlib2-config --libs)
|
||||
AC_SUBST(IMLIB2_CFLAGS)
|
||||
AC_SUBST(IMLIB2_LIBS)
|
||||
|
||||
YELLOW="\\033\\1331;33m"
|
||||
RESET="\\033\\1330m"
|
||||
|
||||
dnl Checks for the gkrellm plugin
|
||||
build_gkhdplop="yes"
|
||||
AC_ARG_ENABLE(gkrellm,
|
||||
[ --enable-gkrellm build the gkrellm plugin (requires gtk2 and gkrellm developpement files) (Default is yes)
|
||||
--disable-gkrellm do not build the gkrellm plugin],
|
||||
[ if test "x$enableval" = "xno" ; then
|
||||
build_gkhdplop="no"
|
||||
echo you disabled the gkhdplop gkrellm plugin
|
||||
fi
|
||||
], [build_gkhdplop="yes"])
|
||||
|
||||
GKHDPLOP=""
|
||||
if test "x$build_gkhdplop" = "xno"; then
|
||||
echo gkhdplop disabled...
|
||||
else
|
||||
echo building with GKHDPLOP, checking for gtk2..
|
||||
pkg_modules="gtk+-2.0 >= 2.0.0"
|
||||
PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
|
||||
GTK2_CFLAGS=$PACKAGE_CFLAGS;
|
||||
GTK2_LIBS=$PACKAGE_LIBS;
|
||||
AC_SUBST(GTK2_CFLAGS)
|
||||
AC_SUBST(GTK2_LIBS)
|
||||
SAVECPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CFLAGS $GTK2_CFLAGS"
|
||||
AC_CHECK_HEADERS([gkrellm2/gkrellm.h], [ok=1], [ok=0])
|
||||
if test "x$ok" = "x0"; then
|
||||
echo -e "${YELLOW}gkrellm2/gkrellm.h header not found or unusable${RESET}... cannot build gkhdplop.so"
|
||||
build_gkhdplop="no"
|
||||
else
|
||||
GKHDPLOP="gkhdplop.so"
|
||||
fi
|
||||
CPPFLAGS="$SAVECPPFLAGS"
|
||||
fi
|
||||
AC_SUBST(GKHDPLOP)
|
||||
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
echo "- - - - - - - - - - - - - - - -"
|
||||
echo -e "${YELLOW}wmhdplop will be built${RESET}"
|
||||
if test "x$build_gkhdplop" = "xno"; then
|
||||
echo -e "${YELLOW}gkhdplop.so will NOT be built${RESET}"
|
||||
else
|
||||
echo -e "${YELLOW}gkhdplop.so will be built${RESET}"
|
||||
echo "Check that the plugin is working properly before installing it with:"
|
||||
echo " gkrellm -p ./gkhdplop.so"
|
||||
echo "and then install the gkrellm plugin with:"
|
||||
echo " mv ./gkhdplop.so ~/.gkrellm2/plugins"
|
||||
fi
|
479
wmhdplop/depcomp
Executable file
479
wmhdplop/depcomp
Executable file
|
@ -0,0 +1,479 @@
|
|||
#! /bin/sh
|
||||
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
|
||||
|
||||
# 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.
|
||||
|
||||
# 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.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
# `libtool' can also be set to `yes' or `no'.
|
||||
|
||||
if test -z "$depfile"; then
|
||||
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
|
||||
dir=`echo "$object" | sed 's,/.*$,/,'`
|
||||
if test "$dir" = "$object"; then
|
||||
dir=
|
||||
fi
|
||||
# FIXME: should be _deps on DOS.
|
||||
depfile="$dir.deps/$base"
|
||||
fi
|
||||
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1="$dir.libs/$base.lo.d"
|
||||
tmpdepfile2="$dir.libs/$base.d"
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1="$dir$base.o.d"
|
||||
tmpdepfile2="$dir$base.d"
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile1"; then
|
||||
tmpdepfile="$tmpdepfile1"
|
||||
else
|
||||
tmpdepfile="$tmpdepfile2"
|
||||
fi
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
265
wmhdplop/devnames.c
Normal file
265
wmhdplop/devnames.c
Normal file
|
@ -0,0 +1,265 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <linux/major.h>
|
||||
#include <ctype.h>
|
||||
#include "global.h"
|
||||
#include "devnames.h"
|
||||
|
||||
static DiskList *dlist = NULL;
|
||||
|
||||
const char *stripdev(const char *s) {
|
||||
if (strncmp(s,"/dev",4) == 0) s+= 4;
|
||||
if (s[0] == '/') s++;
|
||||
return s;
|
||||
}
|
||||
|
||||
DiskList *find_dev(unsigned major, unsigned minor) {
|
||||
DiskList *dl;
|
||||
for (dl = dlist; dl; dl = dl->next) {
|
||||
if (dl->major == major && dl->minor == minor) return dl;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
DiskList *find_id(int hd_id, int part_id) {
|
||||
DiskList *dl;
|
||||
for (dl = dlist; dl; dl = dl->next) {
|
||||
if (((dl->hd_id == hd_id) || hd_id == -1) &&
|
||||
((dl->part_id == part_id) || part_id == -1)) return dl;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
/*
|
||||
DiskList *find_dev_by_name(const char *name) {
|
||||
DiskList *dl;
|
||||
const char *sname = stripdev(name);
|
||||
for (dl = dlist; dl; dl = dl->next) {
|
||||
if (strcmp(sname, dl->name)==0) return dl;
|
||||
}
|
||||
return NULL;
|
||||
}*/
|
||||
|
||||
DiskList *next_hd_in_list(DiskList *prev) {
|
||||
DiskList *dl = (prev ? prev->next : dlist);
|
||||
while (dl && IS_PARTITION(dl)) dl = dl->next;
|
||||
return dl;
|
||||
}
|
||||
|
||||
DiskList *first_hd_in_list() {
|
||||
return next_hd_in_list(NULL);
|
||||
}
|
||||
|
||||
DiskList *first_dev_in_list() {
|
||||
return dlist;
|
||||
}
|
||||
|
||||
int nb_hd_in_list() {
|
||||
int i=0;
|
||||
DiskList *dl;
|
||||
for (dl = first_hd_in_list(); dl; dl = next_hd_in_list(dl)) ++i;
|
||||
return i;
|
||||
}
|
||||
|
||||
int nb_dev_in_list() {
|
||||
int i=0;
|
||||
DiskList *dl;
|
||||
for (dl = dlist; dl; dl = dl->next) ++i;
|
||||
return i;
|
||||
}
|
||||
|
||||
/*int is_partition_name(const char *name) {
|
||||
int l = strlen(name);
|
||||
if (l && name[l-1] >= '0' && name[l-1] <= '9') return 1;
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
static const char *to_num_(unsigned minor) {
|
||||
static char id[16];
|
||||
if (minor == 0) return "";
|
||||
else snprintf(id,16,"%d",minor);
|
||||
return id;
|
||||
}
|
||||
|
||||
int device_info(unsigned major, unsigned minor, char *name, int *hd_id, int *part_id) {
|
||||
switch(major) {
|
||||
#ifdef SCSI_DISK0_MAJOR
|
||||
case (SCSI_DISK0_MAJOR):
|
||||
#else
|
||||
case (SCSI_DISK_MAJOR):
|
||||
#endif
|
||||
if (name) sprintf(name, "sd%c%s", "abcdefghijklmnop"[(minor)/16], to_num_(minor%16));
|
||||
if (hd_id) *hd_id = (minor)/16;
|
||||
if (part_id) *part_id = minor%16;
|
||||
return 1;
|
||||
case IDE0_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "ab"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 100 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 2;
|
||||
case IDE1_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "cd"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 200 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 3;
|
||||
#ifdef IDE2_MAJOR
|
||||
case IDE2_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "ef"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 300 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 4;
|
||||
#endif
|
||||
#ifdef IDE3_MAJOR
|
||||
case IDE3_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "gh"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 400 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 5;
|
||||
#endif
|
||||
#ifdef IDE4_MAJOR
|
||||
case IDE4_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "ij"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 400 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 6;
|
||||
#endif
|
||||
|
||||
#ifdef IDE5_MAJOR
|
||||
case IDE5_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "kl"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 400 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 7;
|
||||
#endif
|
||||
|
||||
#ifdef IDE6_MAJOR
|
||||
case IDE6_MAJOR:
|
||||
if (name) sprintf(name, "hd%c%s", "mn"[(minor)/64], to_num_(minor%64));
|
||||
if (hd_id) *hd_id = 400 + (minor)/64;
|
||||
if (part_id) *part_id = minor%64;
|
||||
return 8;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef MD_MAJOR
|
||||
case (MD_MAJOR):
|
||||
if (name) sprintf(name, "md%s", to_num_(minor));
|
||||
if (hd_id) *hd_id = 400 + minor;
|
||||
if (part_id) *part_id = 0;
|
||||
return 9;
|
||||
#endif
|
||||
}
|
||||
if (name) *name = 0;
|
||||
if (hd_id) *hd_id = -1;
|
||||
if (part_id) *part_id = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int short_name_for_device(unsigned major, unsigned minor, char *name) {
|
||||
return device_info(major,minor,name,NULL,NULL);
|
||||
}
|
||||
|
||||
int is_partition(unsigned major, unsigned minor) {
|
||||
int part_id;
|
||||
if (!device_info(major,minor,NULL,NULL,&part_id)) return 0;
|
||||
return (part_id != 0);
|
||||
}
|
||||
|
||||
int device_id_from_name(const char *devname__, unsigned *pmajor, unsigned *pminor) {
|
||||
if (strlen(devname__)>=512) return -1;
|
||||
char *devname_, devname[512];
|
||||
|
||||
devname_ = str_substitute(devname__, "/dev/mapper", "/dev");
|
||||
|
||||
struct stat stat_buf;
|
||||
BLAHBLAH(1,printf("looking for %s in /dev..\n", devname_));
|
||||
|
||||
if (devname_[0] != '/') snprintf(devname,512,"/dev/%s", devname_);
|
||||
else snprintf(devname,512,"%s",devname_);
|
||||
|
||||
free(devname_); devname_ = 0;
|
||||
|
||||
if (lstat(devname,&stat_buf)) { BLAHBLAH(1,perror(devname)); return -1; }
|
||||
if (S_ISLNK(stat_buf.st_mode)) {
|
||||
char lname[512];
|
||||
int n = readlink(devname, lname, 511); lname[n] = 0;
|
||||
snprintf(devname,512,"/dev/%s",stripdev(lname));
|
||||
if (stat(devname,&stat_buf)) { BLAHBLAH(1,perror(devname)); return -1; }
|
||||
}
|
||||
if (!S_ISBLK(stat_buf.st_mode)) {
|
||||
fprintf(stderr, "%s is not a block device..\n", devname);
|
||||
return -2;
|
||||
}
|
||||
*pmajor = major(stat_buf.st_rdev);
|
||||
*pminor = minor(stat_buf.st_rdev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* add a hard-drive if it is a regular ide/scsi/md disk/partition, or return NULL */
|
||||
static DiskList *create_device(unsigned major, unsigned minor, const char *mtab_name) {
|
||||
DiskList *dl;
|
||||
char dev_path[512];
|
||||
ALLOC_OBJ(dl);
|
||||
if (mtab_name && strlen(mtab_name)) dl->name = strdup(mtab_name);
|
||||
else {
|
||||
char s[512]; short_name_for_device(major,minor,s); dl->name = strdup(s);
|
||||
}
|
||||
BLAHBLAH(1, printf("create_device(major=%d, minor=%d, mtab_name=%s) : name=%s\n", major,minor,mtab_name,dl->name));
|
||||
dl->major = major; dl->minor = minor;
|
||||
if (device_info(major,minor,dev_path,&dl->hd_id,&dl->part_id) == 0) {
|
||||
BLAHBLAH(1, printf("(%d,%d) is not a known disc type..\n", major,minor));
|
||||
free(dl); return NULL;
|
||||
}
|
||||
dl->dev_path = malloc(strlen(dev_path)+6); assert(dl->dev_path);
|
||||
sprintf(dl->dev_path, "/dev/%s", dev_path);
|
||||
dl->next = NULL;
|
||||
if (dl->part_id == 0)
|
||||
dl->enable_hddtemp = 1;
|
||||
return dl;
|
||||
}
|
||||
|
||||
/* add a device (after checking that it is a known device type) */
|
||||
int add_device_by_name(const char *devname, const char *mtab_name) {
|
||||
unsigned major, minor;
|
||||
|
||||
BLAHBLAH(1,printf("add_device_by_name(%s,%s)\n", devname, mtab_name));
|
||||
if (device_id_from_name(devname, &major, &minor) != 0) return -1;
|
||||
|
||||
return add_device_by_id(major,minor,mtab_name);
|
||||
}
|
||||
|
||||
/* add a device (after checking that it is a known device type) */
|
||||
int add_device_by_id(unsigned major, unsigned minor, const char *mtab_name) {
|
||||
DiskList *dl, *next, *prev;
|
||||
BLAHBLAH(1,printf("add_device_by_id(%d,%d,%s)\n", major, minor,mtab_name));
|
||||
/* already known ? */
|
||||
if (find_dev(major,minor)) return -1;
|
||||
/* check for known ide/scsi/md disks and then create */
|
||||
dl = create_device(major, minor, mtab_name); if (!dl) return -1;
|
||||
|
||||
for (next = dlist, prev = NULL; next; next=next->next) {
|
||||
if (dl->hd_id > next->hd_id || (dl->hd_id == next->hd_id && dl->part_id > next->part_id)) break;
|
||||
prev = next;
|
||||
}
|
||||
if (prev == NULL) {
|
||||
dl->next = dlist; dlist = dl;
|
||||
} else {
|
||||
dl->next = prev->next; prev->next = dl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
strlist *swaplst = NULL;
|
||||
void add_swap(const char *swapdev) {
|
||||
swaplst = strlist_ins(swaplst, swapdev);
|
||||
}
|
||||
strlist *swap_list() {
|
||||
return swaplst;
|
||||
}
|
34
wmhdplop/devnames.h
Normal file
34
wmhdplop/devnames.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
#ifndef DEVNAMES_H
|
||||
#define DEVNAMES_H
|
||||
#include "util.h"
|
||||
|
||||
#define IS_PARTITION(DL) ((DL)->part_id!=0)
|
||||
|
||||
typedef struct DiskList {
|
||||
char *name, *dev_path;
|
||||
unsigned major, minor;
|
||||
int hd_id, part_id; /* part_id = 0 for disks */
|
||||
int enable_hddtemp;
|
||||
int nr, nw, touched_r, touched_w;
|
||||
struct DiskList *next;
|
||||
} DiskList;
|
||||
|
||||
int is_displayed(int hd_id, int part_id); /* wmhdplop.c function */
|
||||
int short_name_for_device(unsigned major, unsigned minor, char *name);
|
||||
|
||||
const char *stripdev(const char *s);
|
||||
DiskList *find_dev(unsigned major, unsigned minor);
|
||||
DiskList *find_dev_by_name(const char *name);
|
||||
DiskList *find_id(int hd_id, int part_id);
|
||||
DiskList *next_hd_in_list(DiskList *current);
|
||||
DiskList *first_hd_in_list();
|
||||
DiskList *first_dev_in_list();
|
||||
int nb_hd_in_list();
|
||||
int nb_dev_in_list();
|
||||
int is_partition(unsigned major, unsigned minor);
|
||||
int add_device_by_name(const char *devname, const char *mtab_name);
|
||||
int add_device_by_id(unsigned major, unsigned minor, const char *mtab_name);
|
||||
void add_swap(const char *swapdev);
|
||||
int device_info(unsigned major, unsigned minor, char *name, int *hd_id, int *part_id);
|
||||
strlist *swap_list();
|
||||
#endif
|
415
wmhdplop/dockapp_imlib2.c
Normal file
415
wmhdplop/dockapp_imlib2.c
Normal file
|
@ -0,0 +1,415 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <ctype.h>
|
||||
#include "dockapp_imlib2.h"
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <X11/Xutil.h>
|
||||
#ifdef GKRELLM
|
||||
#include <gdk/gdkx.h>
|
||||
#endif
|
||||
|
||||
/* require ISO C99 compatibility */
|
||||
#define DOCKIMLIB2_ERR(...) { fprintf(stderr, "DockImlib2 " DOCKIMLIB2_VERSION " error: "); \
|
||||
fprintf(stderr, __VA_ARGS__); exit(1); }
|
||||
#define DOCKIMLIB2_WARN(...) { fprintf(stderr, "DockImlib2 " DOCKIMLIB2_VERSION " warning: "); \
|
||||
fprintf(stderr, __VA_ARGS__); exit(1); }
|
||||
|
||||
static void dockimlib2_set_rect_shape(DockImlib2 *dock, int x, int y, int w, int h) {
|
||||
Pixmap mask = XCreatePixmap(dock->display, dock->win, dock->win_width, dock->win_height, 1); assert(mask);
|
||||
GC gc = XCreateGC(dock->display, mask, 0, NULL);
|
||||
XSetForeground(dock->display, gc, BlackPixel(dock->display, dock->screennum));
|
||||
XFillRectangle(dock->display, mask, gc, 0, 0, dock->win_width, dock->win_height);
|
||||
XSetForeground(dock->display, gc, WhitePixel(dock->display, dock->screennum));
|
||||
XFillRectangle(dock->display, mask, gc, x,y,w,h);
|
||||
XFreeGC(dock->display,gc);
|
||||
/* setup shaped window */
|
||||
XShapeCombineMask(dock->display, dock->normalwin, ShapeBounding,
|
||||
0, 0, mask, ShapeSet);
|
||||
if (dock->iconwin)
|
||||
XShapeCombineMask(dock->display, dock->iconwin, ShapeBounding,
|
||||
0, 0, mask, ShapeSet);
|
||||
XFreePixmap(dock->display, mask);
|
||||
}
|
||||
|
||||
/* some general windowmanager related functions ...*/
|
||||
void set_window_title(Display *display, Window win, char *window_title, char *icon_title) {
|
||||
int rc;
|
||||
XTextProperty window_title_property;
|
||||
/* window name */
|
||||
rc = XStringListToTextProperty(&window_title,1, &window_title_property); assert(rc);
|
||||
XSetWMName(display, win, &window_title_property);
|
||||
XFree(window_title_property.value);
|
||||
|
||||
/* icon window name */
|
||||
rc = XStringListToTextProperty(&icon_title,1, &window_title_property); assert(rc);
|
||||
XSetWMIconName(display, win, &window_title_property);
|
||||
XFree(window_title_property.value);
|
||||
}
|
||||
|
||||
void
|
||||
set_window_class_hint(Display *display, Window win, char *res_class, char *res_name) {
|
||||
XClassHint *class_hint;
|
||||
class_hint = XAllocClassHint();
|
||||
class_hint->res_name = res_name;
|
||||
class_hint->res_class = res_class;
|
||||
XSetClassHint(display, win, class_hint);
|
||||
XFree(class_hint);
|
||||
}
|
||||
|
||||
#ifndef GKRELLM
|
||||
static void dockimlib2_xinit(DockImlib2 *dock, DockImlib2Prefs *prefs) {
|
||||
XSizeHints *xsh;
|
||||
int i;
|
||||
char *sdisplay = getenv("DISPLAY");
|
||||
char *pgeom = NULL;
|
||||
int undocked = 0;
|
||||
char sdockgeom[40];
|
||||
|
||||
assert(prefs->argv); // this should be always set ..
|
||||
|
||||
if (prefs->flags & DOCKPREF_DISPLAY) sdisplay = prefs->display;
|
||||
if (prefs->flags & DOCKPREF_GEOMETRY) { pgeom = prefs->geometry; undocked = 1; }
|
||||
|
||||
dock->display = XOpenDisplay(sdisplay);
|
||||
if(!dock->display) DOCKIMLIB2_ERR("Couldn't connect to display %s\n", sdisplay);
|
||||
dock->screennum = DefaultScreen(dock->display);
|
||||
dock->visual = DefaultVisual(dock->display, dock->screennum);
|
||||
dock->depth = DefaultDepth(dock->display, dock->screennum);
|
||||
dock->colormap = DefaultColormap(dock->display, dock->screennum);
|
||||
dock->rootwin = RootWindow(dock->display, dock->screennum);
|
||||
|
||||
dock->atom_WM_DELETE_WINDOW = XInternAtom(dock->display, "WM_DELETE_WINDOW", False);
|
||||
dock->atom_WM_PROTOCOLS = XInternAtom(dock->display, "WM_PROTOCOLS", False);
|
||||
|
||||
/* set size hints */
|
||||
xsh = XAllocSizeHints(); assert(xsh);
|
||||
xsh->flags = 0;
|
||||
xsh->width = dock->w;
|
||||
xsh->height = dock->h;
|
||||
xsh->x = xsh->y = 0;
|
||||
|
||||
snprintf(sdockgeom, sizeof sdockgeom, "%dx%d+0+0", prefs->dockapp_size, prefs->dockapp_size);
|
||||
|
||||
xsh->flags = XWMGeometry(dock->display, dock->screennum, pgeom, sdockgeom, 0,
|
||||
xsh, &xsh->x, &xsh->y, &xsh->width, &xsh->height, &i);
|
||||
if (undocked) {
|
||||
dock->win_width = dock->w = xsh->width;
|
||||
dock->win_height = dock->h = xsh->height;
|
||||
dock->x0 = dock->y0 = 0;
|
||||
}
|
||||
xsh->base_width = xsh->width;
|
||||
xsh->base_height = xsh->height;
|
||||
xsh->flags |= USSize | PMinSize | PMaxSize | PSize;
|
||||
xsh->min_height = 24; xsh->min_height = 24;
|
||||
xsh->max_width = 500;
|
||||
xsh->max_height = 500;
|
||||
|
||||
/* create the application window */
|
||||
dock->normalwin = XCreateSimpleWindow(dock->display, dock->rootwin,
|
||||
xsh->x, xsh->y, xsh->width, xsh->height, 0,
|
||||
BlackPixel(dock->display, dock->screennum),
|
||||
WhitePixel(dock->display, dock->screennum));
|
||||
|
||||
if(!dock->normalwin) DOCKIMLIB2_ERR("Couldn't create window\n");
|
||||
if (!undocked) {
|
||||
/* create icon window */
|
||||
dock->iconwin = XCreateSimpleWindow(dock->display, dock->rootwin,
|
||||
xsh->x, xsh->y, xsh->width, xsh->height, 0,
|
||||
BlackPixel(dock->display, dock->screennum),
|
||||
WhitePixel(dock->display, dock->screennum));
|
||||
if(!dock->iconwin) DOCKIMLIB2_ERR("Couldn't create icon window\n");
|
||||
dock->win = dock->iconwin;
|
||||
} else {
|
||||
dock->iconwin = None;
|
||||
dock->win = dock->normalwin;
|
||||
}
|
||||
dock->iconwin_mapped = dock->normalwin_mapped = 1; /* by default */
|
||||
|
||||
/* start with an empty window in order to get the background pixmap */
|
||||
dockimlib2_set_rect_shape(dock,32,32,1,0);
|
||||
|
||||
/* set window manager hints */
|
||||
if (!undocked) {
|
||||
XWMHints *xwmh;
|
||||
xwmh = XAllocWMHints();
|
||||
xwmh->flags = WindowGroupHint | IconWindowHint | StateHint;
|
||||
xwmh->icon_window = dock->iconwin;
|
||||
xwmh->window_group = dock->normalwin;
|
||||
xwmh->initial_state = WithdrawnState;
|
||||
XSetWMHints(dock->display, dock->normalwin, xwmh);
|
||||
XFree(xwmh); xwmh = NULL;
|
||||
}
|
||||
set_window_class_hint(dock->display, dock->normalwin, prefs->argv[0], prefs->argv[0]);
|
||||
|
||||
/* set size hints */
|
||||
XSetWMNormalHints(dock->display, dock->normalwin, xsh);
|
||||
|
||||
set_window_title(dock->display, dock->normalwin, "wmhdplop", "wmhdplop");
|
||||
|
||||
/* select events to catch */
|
||||
{
|
||||
long evmask = ExposureMask | ButtonPressMask | ButtonReleaseMask | VisibilityChangeMask |
|
||||
PointerMotionMask | EnterWindowMask | LeaveWindowMask | StructureNotifyMask;
|
||||
XSelectInput(dock->display, dock->normalwin, evmask);
|
||||
if (dock->iconwin)
|
||||
XSelectInput(dock->display, dock->iconwin, evmask);
|
||||
}
|
||||
XSetWMProtocols(dock->display, dock->normalwin, &dock->atom_WM_DELETE_WINDOW, 1);
|
||||
|
||||
/* set the command line for restarting */
|
||||
XSetCommand(dock->display, dock->normalwin, prefs->argv, prefs->argc);
|
||||
|
||||
/* map the main window */
|
||||
XMapWindow(dock->display, dock->normalwin);
|
||||
|
||||
XFree(xsh); xsh = NULL;
|
||||
}
|
||||
|
||||
#else /* GKRELLM */
|
||||
void dockimlib2_gkrellm_xinit(DockImlib2 *dock, GdkDrawable *gkdrawable) {
|
||||
|
||||
dock->display = GDK_WINDOW_XDISPLAY(gkdrawable);
|
||||
dock->visual = GDK_VISUAL_XVISUAL(gdk_drawable_get_visual(gkdrawable));
|
||||
dock->depth = gdk_drawable_get_depth(gkdrawable);
|
||||
dock->colormap = GDK_COLORMAP_XCOLORMAP(gdk_drawable_get_colormap(gkdrawable));
|
||||
dock->screennum = DefaultScreen(dock->display);
|
||||
dock->rootwin = RootWindow(dock->display, dock->screennum);
|
||||
|
||||
dock->normalwin = XCreateSimpleWindow(dock->display, GDK_PIXMAP_XID(gkdrawable),
|
||||
0, 0, dock->w, dock->h, 0,
|
||||
BlackPixel(dock->display, dock->screennum),
|
||||
WhitePixel(dock->display, dock->screennum));
|
||||
//dock->normalwin = GDK_PIXMAP_XID(gkdrawable); // CA CLIGNOTE !!!
|
||||
dock->iconwin = None; dock->iconwin_mapped = 0;
|
||||
dock->win = dock->normalwin; dock->normalwin_mapped = 1;
|
||||
|
||||
/* start with an empty window in order to get the background pixmap */
|
||||
dockimlib2_set_rect_shape(dock,32,32,1,0);
|
||||
|
||||
/* map the main window */
|
||||
XMapWindow(dock->display, dock->normalwin);
|
||||
}
|
||||
#endif /* GKRELLM */
|
||||
|
||||
static void add_fontpath(const char *path, int recurse) {
|
||||
struct stat st;
|
||||
|
||||
if (stat(path,&st) != 0 ||
|
||||
!S_ISDIR(st.st_mode)) return;
|
||||
if (recurse > 3) return; /* prevent scanning of whole hd/infinite recursions in case of a bad symlink */
|
||||
printf("add font path: '%s'\n", path);
|
||||
imlib_add_path_to_font_path(path);
|
||||
if (recurse) {
|
||||
DIR *d = opendir(path);
|
||||
struct dirent *de;
|
||||
if (!d) return;
|
||||
while ((de = readdir(d))) {
|
||||
char s[1024];
|
||||
if (strcmp(de->d_name,".") == 0 ||
|
||||
strcmp(de->d_name,"..") == 0) continue;
|
||||
snprintf(s,sizeof s,"%s/%s",path, de->d_name);
|
||||
add_fontpath(s,recurse+1);
|
||||
}
|
||||
closedir(d);
|
||||
}
|
||||
}
|
||||
|
||||
void dockimlib2_reset_imlib(DockImlib2 *dock) {
|
||||
imlib_free_image();
|
||||
dock->img = imlib_create_image(dock->w, dock->h);
|
||||
imlib_context_set_image(dock->img);
|
||||
imlib_context_set_drawable(dock->win);
|
||||
dockimlib2_set_rect_shape(dock, dock->x0, dock->y0, dock->w, dock->h);
|
||||
}
|
||||
|
||||
/* setup some default values for imlib2 */
|
||||
static void dockimlib2_setup_imlib(DockImlib2 *dock) {
|
||||
char fp[512];
|
||||
/* set the maximum number of colors to allocate for 8bpp and less to 32 */
|
||||
imlib_set_color_usage(32);
|
||||
/* dither for depths < 24bpp */
|
||||
imlib_context_set_dither(1);
|
||||
/* set the display , visual, colormap and drawable we are using */
|
||||
imlib_context_set_display(dock->display);
|
||||
imlib_context_set_visual(dock->visual);
|
||||
imlib_context_set_colormap(dock->colormap);
|
||||
imlib_context_set_drawable(dock->win);
|
||||
dock->img = imlib_create_image(dock->w, dock->h);
|
||||
imlib_context_set_image(dock->img);
|
||||
|
||||
/* some default font paths */
|
||||
snprintf(fp, 512, "%s/.fonts", getenv("HOME"));
|
||||
add_fontpath(fp,1);
|
||||
/*add_fontpath("/usr/share/fonts/truetype",1);
|
||||
add_fontpath("/usr/share/fonts/ttf",1);*/
|
||||
add_fontpath("/usr/share/fonts",1);
|
||||
add_fontpath("/usr/X11R6/lib/X11/fonts/truetype",1);
|
||||
add_fontpath("/usr/X11R6/lib/X11/fonts/TrueType",1);
|
||||
add_fontpath("/usr/X11R6/lib/X11/fonts/ttf",1);
|
||||
add_fontpath("/usr/X11R6/lib/X11/fonts/TTF",1);
|
||||
/*imlib_add_path_to_font_path(fp);
|
||||
imlib_add_path_to_font_path("/usr/share/fonts/truetype");
|
||||
imlib_add_path_to_font_path("/usr/share/fonts/truetype/freefont");
|
||||
imlib_add_path_to_font_path("/usr/share/fonts/truetype/ttf-bitstream-vera");
|
||||
imlib_add_path_to_font_path("/usr/share/fonts/ttf/vera");*/ /* vera on mdk */
|
||||
imlib_context_set_TTF_encoding(IMLIB_TTF_ENCODING_ISO_8859_1);
|
||||
//imlib_set_cache_size(0);imlib_set_font_cache_size(0);
|
||||
}
|
||||
|
||||
/* wait for the dockapp to be swallowed and grab the background pixmap */
|
||||
static void dockimlib2_xstartup(DockImlib2 *dock) {
|
||||
dock->bg = NULL;
|
||||
dockimlib2_set_rect_shape(dock, dock->x0, dock->y0, dock->w, dock->h);
|
||||
#if 0
|
||||
Window parent = 0;
|
||||
int exposed = 0, mapped = 0;
|
||||
printf("xstartup..\n");
|
||||
do {
|
||||
XEvent event;
|
||||
XNextEvent(dock->display, &event);
|
||||
switch (event.type) {
|
||||
case ReparentNotify: {
|
||||
XReparentEvent ev = event.xreparent;
|
||||
if (ev.window == dock->win) {
|
||||
parent = ev.parent;
|
||||
}
|
||||
} break;
|
||||
case MapNotify: {
|
||||
XMappingEvent ev = event.xmapping;
|
||||
printf("MapNotify: ev.win = %lx\n", ev.window);
|
||||
if (ev.window == dock->win) mapped = 1;
|
||||
} break;
|
||||
case Expose: {
|
||||
XExposeEvent ev = event.xexpose;
|
||||
printf("Expose: ev.win = %lx\n", ev.window);
|
||||
if (ev.window == dock->win) exposed = 1;
|
||||
} break;
|
||||
}
|
||||
} while (parent == 0 && !exposed && !mapped);
|
||||
if (parent == dock->rootwin) {
|
||||
printf("... oups, parent window is rootwin ... are you really running windowmaker?\n");
|
||||
dock->bg = imlib_create_image(dock->w, dock->h);
|
||||
} else {
|
||||
imlib_context_set_drawable(parent);
|
||||
dock->bg = imlib_create_image_from_drawable(0, dock->x0, dock->y0, dock->w, dock->h, 1);
|
||||
imlib_context_set_drawable(dock->win);
|
||||
dockimlib2_set_rect_shape(dock, dock->x0, dock->y0, dock->w, dock->h);
|
||||
}
|
||||
printf("xstartup : success\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef GKRELLM
|
||||
DockImlib2* dockimlib2_setup(int x0, int y0, int w, int h, DockImlib2Prefs *prefs) {
|
||||
#else
|
||||
DockImlib2* dockimlib2_gkrellm_setup(int x0, int y0, int w, int h, DockImlib2Prefs *prefs, GdkDrawable *gkdrawable) {
|
||||
#endif
|
||||
DockImlib2 *dock = calloc(1,sizeof(DockImlib2)); assert(dock);
|
||||
//gdk_drawable_get_size(gkdrawable, &dock->win_width, &dock->win_height);
|
||||
//printf("x0=%d, y0=%d, width = %d,%d, height = %d,%d\n", x0,y0,w,h,dock->win_width, dock->win_height);
|
||||
dock->win_width = w+x0; dock->win_height = h+y0;//DOCK_WIDTH;
|
||||
dock->x0 = x0; dock->y0 = y0;
|
||||
dock->w = w; dock->h = h;
|
||||
#ifndef GKRELLM
|
||||
dockimlib2_xinit(dock, prefs);
|
||||
#else
|
||||
dockimlib2_gkrellm_xinit(dock, gkdrawable);
|
||||
#endif
|
||||
dockimlib2_setup_imlib(dock);
|
||||
dockimlib2_xstartup(dock);
|
||||
return dock;
|
||||
}
|
||||
|
||||
static char *last_font_name = 0;
|
||||
|
||||
const char* dockimlib2_last_loaded_font() { return last_font_name; }
|
||||
|
||||
Imlib_Font *imlib_load_font_nocase(const char *name) {
|
||||
Imlib_Font *f;
|
||||
int i;
|
||||
if (last_font_name) free(last_font_name);
|
||||
last_font_name = strdup(name);
|
||||
if ((f = imlib_load_font(last_font_name))) return f;
|
||||
for (i=0; last_font_name[i]; ++i) last_font_name[i] = tolower(last_font_name[i]);
|
||||
if ((f = imlib_load_font(last_font_name))) return f;
|
||||
for (i=0; last_font_name[i]; ++i) last_font_name[i] = toupper(last_font_name[i]);
|
||||
f = imlib_load_font(last_font_name);
|
||||
return f;
|
||||
}
|
||||
|
||||
Imlib_Font *load_font(char *prefname, char **flist_) {
|
||||
Imlib_Font *f = NULL;
|
||||
char **flist = flist_;
|
||||
if (prefname) {
|
||||
f = imlib_load_font_nocase(prefname);
|
||||
if (!f) {
|
||||
int i,np; char **s;
|
||||
fprintf(stderr, "warning: could not find font '%s' in the font path:\n",prefname);
|
||||
s = imlib_list_font_path(&np);
|
||||
for (i=0; i < np; ++i) fprintf(stderr, " %s\n", s[i]);
|
||||
} else {
|
||||
printf("loaded font %s\n", prefname);
|
||||
}
|
||||
}
|
||||
if (!f) {
|
||||
for (; *flist; ++flist) {
|
||||
if ((f = imlib_load_font_nocase(*flist))) {
|
||||
printf("loaded font %s\n", *flist); break;
|
||||
}
|
||||
}
|
||||
if (!f) {
|
||||
fprintf(stderr, "could not load a default ttf font .. I tried ");
|
||||
flist = flist_;
|
||||
for (; *flist; ++flist)
|
||||
fprintf(stderr, "'%s'%s", *flist, (flist[1]?", ":""));
|
||||
fprintf(stderr, "\nUse the --font* options to change the fontpath/fontnames\n");
|
||||
}
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
/*
|
||||
merges dock->bg and dock->img, and renders the result on the window
|
||||
this function does not alter the imlib context
|
||||
*/
|
||||
void dockimlib2_render(DockImlib2 *dock) {
|
||||
Pixmap olddrawable = imlib_context_get_drawable();
|
||||
Imlib_Image oldimage = imlib_context_get_image();
|
||||
//imlib_context_set_drawable(dock->win);
|
||||
imlib_context_set_image(dock->img);
|
||||
if (imlib_image_has_alpha()) {
|
||||
imlib_context_set_image(dock->bg);
|
||||
Imlib_Image bg = imlib_clone_image();
|
||||
imlib_context_set_image(bg);
|
||||
imlib_blend_image_onto_image(dock->img, 0, 0, 0, dock->w, dock->h, 0, 0, dock->w, dock->h);
|
||||
|
||||
if (dock->normalwin) {
|
||||
imlib_context_set_drawable(dock->normalwin);
|
||||
imlib_render_image_on_drawable(dock->x0, dock->y0);
|
||||
}
|
||||
if (dock->iconwin) {
|
||||
imlib_context_set_drawable(dock->iconwin);
|
||||
imlib_render_image_on_drawable(dock->x0, dock->y0);
|
||||
}
|
||||
/* XSetWindowBackgroundPixmap(dock->display, dock->GKwin, dock->win);
|
||||
XClearWindow(dock->display, dock->GKWin); */
|
||||
imlib_free_image();
|
||||
} else {
|
||||
if (dock->normalwin_mapped && dock->normalwin) {
|
||||
imlib_context_set_drawable(dock->normalwin);
|
||||
imlib_render_image_on_drawable(dock->x0, dock->y0); /* imlib_render_image_on_drawable generates many pages faults !? */
|
||||
}
|
||||
if (dock->iconwin_mapped && dock->iconwin) {
|
||||
imlib_context_set_drawable(dock->iconwin);
|
||||
imlib_render_image_on_drawable(dock->x0, dock->y0);
|
||||
}
|
||||
}
|
||||
imlib_context_set_image(oldimage);
|
||||
imlib_context_set_drawable(olddrawable);
|
||||
}
|
56
wmhdplop/dockapp_imlib2.h
Normal file
56
wmhdplop/dockapp_imlib2.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
#ifndef DOCKAPP_IMLIB2_H
|
||||
#define DOCKAPP_IMLIB2_H
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <Imlib2.h>
|
||||
#ifdef GKRELLM
|
||||
#include <gdk/gdk.h>
|
||||
#endif
|
||||
/*
|
||||
#ifndef GKRELLM
|
||||
#define DOCK_WIDTH 64
|
||||
#else
|
||||
#define DOCK_WIDTH 60
|
||||
#endif
|
||||
#define DOCK_HEIGHT DOCK_WIDTH
|
||||
*/
|
||||
typedef struct {
|
||||
Display *display;
|
||||
Window normalwin, iconwin, rootwin;
|
||||
int iconwin_mapped, normalwin_mapped;
|
||||
Window win; /* either normalwin or iconwin */
|
||||
Visual *visual;
|
||||
Colormap colormap;
|
||||
int depth, screennum;
|
||||
Imlib_Image bg, img; /* background picture, and "work" picture */
|
||||
unsigned x0,y0,w,h; /* pos & dimensions of the "work" area */
|
||||
unsigned win_width, win_height; /* size of dockapps (DOCK_WIDTH x DOCK_HEIGHT) */
|
||||
Atom atom_WM_DELETE_WINDOW, atom_WM_PROTOCOLS;
|
||||
} DockImlib2;
|
||||
|
||||
|
||||
#define DOCKPREF_DISPLAY 1
|
||||
#define DOCKPREF_GEOMETRY 2
|
||||
typedef struct {
|
||||
char **argv; int argc; /* this should be always set */
|
||||
int flags; /* combination of DOCKPREF_xxx */
|
||||
char *display;
|
||||
char *geometry;
|
||||
int dockapp_size;
|
||||
} DockImlib2Prefs;
|
||||
|
||||
#define DOCKIMLIB2_VERSION "0.9.0"
|
||||
|
||||
#ifndef GKRELLM
|
||||
DockImlib2* dockimlib2_setup(int x0, int y0, int w, int h, DockImlib2Prefs *p);
|
||||
#else
|
||||
DockImlib2* dockimlib2_gkrellm_setup(int x0, int y0, int w, int h, DockImlib2Prefs *p, GdkDrawable *gkdrawable);
|
||||
void dockimlib2_gkrellm_xinit(DockImlib2 *dock, GdkDrawable *gkdrawable);
|
||||
#endif
|
||||
Imlib_Font *load_font(char *prefname, char **flist);
|
||||
|
||||
void dockimlib2_reset_imlib(DockImlib2 *dock);
|
||||
|
||||
void dockimlib2_render(DockImlib2 *dock);
|
||||
const char *dockimlib2_last_loaded_font();
|
||||
#endif
|
386
wmhdplop/gkrellm_hdplop.c
Normal file
386
wmhdplop/gkrellm_hdplop.c
Normal file
|
@ -0,0 +1,386 @@
|
|||
/*
|
||||
*
|
||||
* gkrellm_hdplop.c
|
||||
* dae (jolly.frederic@fnac.net)
|
||||
*
|
||||
* gkrellm plugin for wmhdplop:
|
||||
* http://hules.free.fr/wmhdplop/
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <libgen.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "global.h"
|
||||
#include "wmhdplop.h"
|
||||
#define PLUGIN_VERSION VERSION
|
||||
|
||||
#define PLUGIN_NAME "gkhdplop"
|
||||
#define PLUGIN_DESC "wmhdplop gkrellm port"
|
||||
#define PLUGIN_URL "http://hules.free.fr/wmhdplop/"
|
||||
#define PLUGIN_STYLE PLUGIN_NAME
|
||||
#define PLUGIN_KEYWORD PLUGIN_NAME
|
||||
|
||||
|
||||
static GkrellmMonitor *mon = NULL;
|
||||
static GkrellmChart *chart = NULL;
|
||||
static GkrellmChartconfig *chart_config = NULL;
|
||||
|
||||
#define TIMER1 50 /* main updates every 40 ms */
|
||||
#define TIMER2 50 * TIMER1 /* small updates every 1600 ms */
|
||||
|
||||
#define PLUGIN_HEIGHT 64
|
||||
|
||||
static gint timeout_id;
|
||||
static int option_timer = 0;
|
||||
|
||||
/* Options stuffs */
|
||||
GtkWidget *swap_check = NULL;
|
||||
GtkWidget *io_check = NULL;
|
||||
GtkWidget *leds_check = NULL;
|
||||
GtkWidget *colormap = NULL;
|
||||
GtkWidget *hdlist_check = NULL;
|
||||
GtkWidget *throughput_threshold = NULL;
|
||||
GtkWidget *hddtemp_check = NULL;
|
||||
GtkWidget *entry_smallfont = NULL, *entry_bigfont = NULL;
|
||||
|
||||
static gboolean update_plugin(void)
|
||||
{
|
||||
GdkEventExpose event;
|
||||
gint ret_val;
|
||||
gtk_signal_emit_by_name(GTK_OBJECT(chart->drawing_area), "expose_event", &event, &ret_val);
|
||||
return TRUE; /* restart timer */
|
||||
}
|
||||
|
||||
static gint chart_expose_event(GtkWidget *widget UNUSED, GdkEventExpose *ev UNUSED)
|
||||
{
|
||||
int update_options = 0;
|
||||
option_timer++;
|
||||
if (option_timer == TIMER2 / TIMER1) {
|
||||
option_timer = 0;
|
||||
update_options = 1;
|
||||
}
|
||||
gkrellm_hdplop_update(update_options);
|
||||
gkrellm_draw_chart_to_screen(chart);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gint wheel_event(GtkWidget *widget UNUSED, GdkEventScroll *ev)
|
||||
{
|
||||
if (ev->direction == GDK_SCROLL_UP)
|
||||
next_displayed_hd(); //change_displayed_hd(+1);
|
||||
else if (ev->direction == GDK_SCROLL_DOWN)
|
||||
prev_displayed_hd(); //change_displayed_hd(-1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gint button_release_event(GtkWidget *widget UNUSED, GdkEventButton *ev, gpointer data UNUSED)
|
||||
{
|
||||
if (ev->button == 3) {
|
||||
gkrellm_open_config_window(mon);
|
||||
} else if (ev->button == 1) {
|
||||
change_displayed_hd(+1);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void disable_plugin(void)
|
||||
{
|
||||
if (timeout_id)
|
||||
gtk_timeout_remove(timeout_id);
|
||||
timeout_id = 0;
|
||||
}
|
||||
|
||||
static void create_plugin(GtkWidget *vbox, gint first_create)
|
||||
{
|
||||
if(first_create) {
|
||||
chart = gkrellm_chart_new0();
|
||||
}
|
||||
|
||||
gkrellm_set_chart_height_default(chart, PLUGIN_HEIGHT);
|
||||
gkrellm_chart_create(vbox, mon, chart, &chart_config);
|
||||
|
||||
if (first_create) {
|
||||
hdplop_main(chart->w, chart->h, chart->drawing_area->window);
|
||||
} else {
|
||||
dockimlib2_gkrellm_xinit(app->dock, chart->drawing_area->window);
|
||||
reshape(chart->w, chart->h);
|
||||
}
|
||||
if (first_create) {
|
||||
//printf("chart : w=%d, h=%d\n", chart->w, chart->h);
|
||||
gtk_signal_connect(GTK_OBJECT(chart->drawing_area),
|
||||
"expose_event", (GtkSignalFunc) chart_expose_event, NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(chart->drawing_area),
|
||||
"button_release_event", GTK_SIGNAL_FUNC(button_release_event), NULL);
|
||||
g_signal_connect(G_OBJECT(chart->drawing_area),
|
||||
"scroll_event", G_CALLBACK(wheel_event), NULL);
|
||||
}
|
||||
/* Update plugin every TIMER1 ms */
|
||||
if (!timeout_id)
|
||||
timeout_id = g_timeout_add(TIMER1, (GtkFunction) update_plugin, NULL);
|
||||
gkrellm_disable_plugin_connect(mon, disable_plugin);
|
||||
}
|
||||
|
||||
static void option_toggled_cb(GtkToggleButton *button, gpointer user_data UNUSED)
|
||||
{
|
||||
gboolean active = gtk_toggle_button_get_active(button);
|
||||
GtkWidget *togglebutton = GTK_WIDGET(button);
|
||||
|
||||
if (togglebutton == swap_check) {
|
||||
Prefs.disable_swap_matrix = !active;
|
||||
}
|
||||
else if (togglebutton == io_check) {
|
||||
Prefs.disable_io_matrix = !active;
|
||||
}
|
||||
else if (togglebutton == hdlist_check) {
|
||||
if (active) {
|
||||
Prefs.hdlist_pos = AL_BOTTOM + AL_LEFT;
|
||||
gtk_widget_set_sensitive(leds_check, TRUE);
|
||||
gtk_widget_set_sensitive(hddtemp_check, TRUE);
|
||||
}
|
||||
else {
|
||||
Prefs.hdlist_pos = AL_NONE;
|
||||
gtk_widget_set_sensitive(leds_check, FALSE);
|
||||
gtk_widget_set_sensitive(hddtemp_check, FALSE);
|
||||
}
|
||||
}
|
||||
else if (togglebutton == leds_check) {
|
||||
Prefs.disable_hd_leds = !active;
|
||||
}
|
||||
else if (togglebutton == hddtemp_check) {
|
||||
Prefs.enable_hddtemp = active;
|
||||
app->displayed_hd_changed = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void cb_colormap_modified(GtkWidget *widget UNUSED, GtkSpinButton *spin)
|
||||
{
|
||||
Prefs.iomatrix_colormap = gtk_spin_button_get_value_as_int(spin);
|
||||
}
|
||||
|
||||
static void cb_spinbutton_modified(GtkWidget *widget UNUSED, GtkSpinButton *spin)
|
||||
{
|
||||
if (GTK_WIDGET(spin) == throughput_threshold) {
|
||||
Prefs.popup_throughput_threshold = gtk_spin_button_get_value_as_float(spin);
|
||||
}
|
||||
}
|
||||
|
||||
static void cb_reload_fonts(GtkWidget *widget) {
|
||||
if (strcmp(gtk_entry_get_text(GTK_ENTRY(entry_smallfont)), app->current_smallfont_name) ||
|
||||
strcmp(gtk_entry_get_text(GTK_ENTRY(entry_bigfont)), app->current_bigfont_name)) {
|
||||
ASSIGN_STRING(Prefs.smallfontname, gtk_entry_get_text(GTK_ENTRY(entry_smallfont)));
|
||||
ASSIGN_STRING(Prefs.bigfontname, gtk_entry_get_text(GTK_ENTRY(entry_bigfont)));
|
||||
init_fonts(app);
|
||||
if (app->smallfont == NULL) {
|
||||
gkrellm_config_message_dialog("font problem..", "could not load the small font");
|
||||
} else gtk_entry_set_text(GTK_ENTRY(entry_smallfont), app->current_smallfont_name);
|
||||
if (app->bigfont == NULL) {
|
||||
gkrellm_config_message_dialog("font problem..", "could not load the big font");
|
||||
} else gtk_entry_set_text(GTK_ENTRY(entry_bigfont), app->current_bigfont_name);
|
||||
/* force recomputations of some dimensions */
|
||||
app->displayed_hd_changed = 1; app->reshape_cnt++;
|
||||
}
|
||||
}
|
||||
|
||||
static void create_plugin_tab(GtkWidget *tab_vbox)
|
||||
{
|
||||
GtkWidget *tabs = NULL;
|
||||
GtkWidget *options_tab = NULL;
|
||||
GtkWidget *info_tab = NULL;
|
||||
GtkWidget *info = NULL;
|
||||
GtkWidget *about_tab = NULL;
|
||||
GtkWidget *about = NULL;
|
||||
GtkWidget *main_box;
|
||||
|
||||
static gchar *info_text[] =
|
||||
{
|
||||
"<b>" PLUGIN_NAME "\n\n",
|
||||
PLUGIN_DESC "\n\n",
|
||||
"improve your productivity with " PLUGIN_NAME ":\n",
|
||||
"It monitors your hard-drives by sending visual stimuli to your cortex\n",
|
||||
"each time your /dev/hdx writes or reads anything.\n",
|
||||
"Try to launch openoffice and enjoy the gkhdplop show!\n\n",
|
||||
"<i>Usage:\n\n",
|
||||
"- Change the hard drive with the mouse wheel\n",
|
||||
"- Animation reflecting swap activity...\n",
|
||||
"- Background animation reflecting disk activity...\n",
|
||||
"- Small led indicating disk activity...\n",
|
||||
"- Several glittering color schemes...\n",
|
||||
"- Popup display with the io throughput...\n",
|
||||
};
|
||||
|
||||
static gchar *about_text =
|
||||
_(
|
||||
PLUGIN_NAME " " PLUGIN_VERSION "\n"
|
||||
"a " PLUGIN_DESC "\n\n"
|
||||
"Copyright (c) 2004 dae\n"
|
||||
"jolly.frederic@fnac.net\n"
|
||||
"http://quadaemon.free.fr\n\n"
|
||||
"Based on wmhdplop\nCopyright (c) 2003,2004 pouaite\n"
|
||||
PLUGIN_URL "\n\n"
|
||||
"Released under the GNU Public Licence"
|
||||
);
|
||||
|
||||
tabs = gtk_notebook_new();
|
||||
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(tabs), GTK_POS_TOP);
|
||||
gtk_box_pack_start(GTK_BOX(tab_vbox), tabs, TRUE, TRUE, 0);
|
||||
|
||||
/* Options tab */
|
||||
options_tab = gkrellm_gtk_notebook_page(tabs, _("Options"));
|
||||
|
||||
main_box = gtk_vbox_new(FALSE, 0);
|
||||
gtk_widget_set_name(main_box, "main_box");
|
||||
gtk_widget_ref(main_box);
|
||||
gtk_object_set_data_full(GTK_OBJECT (options_tab), "main_box", main_box,
|
||||
(GtkDestroyNotify) gtk_widget_unref);
|
||||
gtk_widget_show(main_box);
|
||||
gtk_container_add(GTK_CONTAINER (options_tab), main_box);
|
||||
|
||||
/* io button */
|
||||
gkrellm_gtk_check_button_connected(main_box, &io_check, !Prefs.disable_io_matrix, 1, 1, 0,
|
||||
option_toggled_cb, NULL, _("Show disk activity"));
|
||||
/* swap button */
|
||||
gkrellm_gtk_check_button_connected(main_box, &swap_check, !Prefs.disable_swap_matrix, 1, 1, 0,
|
||||
option_toggled_cb, NULL, _("Show swap activity"));
|
||||
/* hdlist button */
|
||||
gkrellm_gtk_check_button_connected(main_box, &hdlist_check,
|
||||
(Prefs.hdlist_pos == AL_NONE)?FALSE:TRUE, 1, 1, 0,
|
||||
option_toggled_cb, NULL, _("Show disk name"));
|
||||
/* leds button */
|
||||
gkrellm_gtk_check_button_connected(main_box, &leds_check, !Prefs.disable_hd_leds, 1, 1, 0,
|
||||
option_toggled_cb, NULL, _("Led indicating disk activity"));
|
||||
gtk_widget_set_sensitive(leds_check, (Prefs.hdlist_pos == AL_NONE)?FALSE:TRUE);
|
||||
/* hddtemp button */
|
||||
gkrellm_gtk_check_button_connected(main_box, &hddtemp_check, Prefs.enable_hddtemp, 1, 1, 0,
|
||||
option_toggled_cb, NULL,
|
||||
_("Display hd temperature (requires hddtemp daemon running on port 7634)"));
|
||||
gtk_widget_set_sensitive(hddtemp_check, (Prefs.hdlist_pos == AL_NONE)?FALSE:TRUE);
|
||||
/* colormap spin button */
|
||||
gkrellm_gtk_spin_button(main_box, NULL, Prefs.iomatrix_colormap, 0, 4, 1, 1, 0, 0,
|
||||
cb_colormap_modified, NULL, FALSE, _("Colormap"));
|
||||
|
||||
/* threshold spin button */
|
||||
gkrellm_gtk_spin_button(main_box, &throughput_threshold, Prefs.popup_throughput_threshold, 0., 500, 0.1, 1, 1, 0,
|
||||
cb_spinbutton_modified, NULL, FALSE, _("minimum io throughput (MB/s)"));
|
||||
|
||||
{
|
||||
GtkWidget *frame = gtk_frame_new("Fonts");
|
||||
gtk_box_pack_start(GTK_BOX(main_box), frame, TRUE, FALSE, 0);
|
||||
|
||||
GtkWidget *hbox0 = gtk_hbox_new(FALSE, 4);
|
||||
gtk_container_add(GTK_CONTAINER(frame), hbox0);
|
||||
|
||||
GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(hbox0), vbox, TRUE, FALSE, 0);
|
||||
|
||||
GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0);
|
||||
entry_smallfont = gtk_entry_new();
|
||||
gtk_box_pack_start(GTK_BOX(hbox), entry_smallfont, TRUE, FALSE, 0);
|
||||
GtkWidget *pLabel = gtk_label_new("Small font (without .ttf extension):");
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_smallfont), app->current_smallfont_name);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), pLabel, TRUE, FALSE, 0);
|
||||
|
||||
hbox = gtk_hbox_new(FALSE, 0);
|
||||
gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0);
|
||||
entry_bigfont = gtk_entry_new();
|
||||
gtk_box_pack_start(GTK_BOX(hbox), entry_bigfont, TRUE, FALSE, 0);
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_bigfont), app->current_bigfont_name);
|
||||
pLabel = gtk_label_new("Big font (without .ttf extension)");
|
||||
gtk_box_pack_start(GTK_BOX(hbox), pLabel, TRUE, FALSE, 0);
|
||||
|
||||
gkrellm_gtk_button_connected(hbox0, NULL, TRUE/* expand*/, TRUE /* fill*/, 0 /*pad*/,
|
||||
G_CALLBACK(cb_reload_fonts), NULL, "reload fonts");
|
||||
}
|
||||
|
||||
/* Info tab */
|
||||
info_tab = gkrellm_gtk_framed_notebook_page(tabs, _("Info"));
|
||||
info = gkrellm_gtk_scrolled_text_view(info_tab, NULL, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||
|
||||
gkrellm_gtk_text_view_append_strings(info, info_text, sizeof(info_text) / sizeof(gchar *));
|
||||
|
||||
/* About tab */
|
||||
about_tab = gkrellm_gtk_notebook_page(tabs, _("About"));
|
||||
about = gtk_label_new(about_text);
|
||||
gtk_box_pack_start(GTK_BOX(about_tab), about, TRUE, TRUE, 0);
|
||||
}
|
||||
|
||||
static void save_plugin_config(FILE *f)
|
||||
{
|
||||
fprintf(f, "%s options %d %d %d %d %d %d %f smallfont=%s bigfont=%s\n", PLUGIN_KEYWORD,
|
||||
Prefs.disable_swap_matrix,
|
||||
Prefs.disable_io_matrix,
|
||||
Prefs.disable_hd_leds,
|
||||
Prefs.hdlist_pos,
|
||||
Prefs.enable_hddtemp,
|
||||
Prefs.iomatrix_colormap,
|
||||
Prefs.popup_throughput_threshold,
|
||||
app->current_smallfont_name, app->current_bigfont_name);
|
||||
}
|
||||
|
||||
static void load_plugin_config(gchar *config_line)
|
||||
{
|
||||
char sf[1000], bf[1000]; sf[0] = bf[0] = 0;
|
||||
int n =sscanf(config_line, "options %d %d %d %d %d %d %f smallfont=%1000s bigfont=%1000s",
|
||||
&Prefs.disable_swap_matrix,
|
||||
&Prefs.disable_io_matrix,
|
||||
&Prefs.disable_hd_leds,
|
||||
&Prefs.hdlist_pos,
|
||||
&Prefs.enable_hddtemp,
|
||||
&Prefs.iomatrix_colormap,
|
||||
&Prefs.popup_throughput_threshold,
|
||||
sf, bf);
|
||||
if (n>= 8) Prefs.smallfontname = strdup(sf);
|
||||
if (n>= 9) Prefs.bigfontname = strdup(bf);
|
||||
}
|
||||
|
||||
static GkrellmMonitor hdplop_mon =
|
||||
{
|
||||
PLUGIN_NAME, /* Name, for config tab. */
|
||||
0, /* Id, 0 if a plugin */
|
||||
create_plugin, /* The create_plugin() function */
|
||||
NULL, /* The update_plugin() function */
|
||||
create_plugin_tab, /* The create_plugin_tab() config function */
|
||||
NULL, /* The apply_plugin_config() function */
|
||||
|
||||
save_plugin_config, /* The save_plugin_config() function */
|
||||
load_plugin_config, /* The load_plugin_config() function */
|
||||
PLUGIN_KEYWORD, /* config keyword */
|
||||
|
||||
NULL, /* Undefined 2 */
|
||||
NULL, /* Undefined 1 */
|
||||
NULL, /* private */
|
||||
|
||||
MON_CPU, /* Insert plugin before this monitor. */
|
||||
NULL, /* Handle if a plugin, filled in by GKrellM */
|
||||
NULL /* path if a plugin, filled in by GKrellM */
|
||||
};
|
||||
|
||||
|
||||
GkrellmMonitor *gkrellm_init_plugin(void)
|
||||
{
|
||||
gkrellm_add_meter_style(&hdplop_mon, PLUGIN_STYLE);
|
||||
return (mon = &hdplop_mon);
|
||||
}
|
||||
|
||||
|
||||
|
60
wmhdplop/global.h
Normal file
60
wmhdplop/global.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
#ifndef GLOBAL_H
|
||||
#define GLOBAL_H
|
||||
|
||||
//#include "config.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define UNUSED __attribute((unused))
|
||||
#else
|
||||
# define UNUSED
|
||||
#endif
|
||||
|
||||
#ifdef GLOBALS_HERE
|
||||
# define DECL_GLOB(x) x;
|
||||
# define DECL_GLOB_INIT(x,y) x = y
|
||||
#else
|
||||
# define DECL_GLOB(x) extern x
|
||||
# define DECL_GLOB_INIT(x,y) extern x
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef NO_BLAHBLAH
|
||||
# define BLAHBLAH(n,x) if (Prefs.verbosity >= n) { x; fflush(stdout); }
|
||||
#else
|
||||
# define BLAHBLAH(n,x)
|
||||
#endif
|
||||
|
||||
#ifndef NO_BITFIELDS
|
||||
# define BITFIELD(n) :n
|
||||
#else
|
||||
# define BITFIELD(n)
|
||||
#endif
|
||||
|
||||
#include "dockapp_imlib2.h"
|
||||
|
||||
typedef enum { AL_NONE=0, AL_LEFT=1, AL_HCENTER=2, AL_RIGHT=4, AL_TOP=8, AL_VCENTER=16,AL_BOTTOM=32} align_enum;
|
||||
|
||||
typedef struct {
|
||||
int verbosity;
|
||||
int enable_hddtemp; /* enable querying and display of hd temp */
|
||||
unsigned hddtemp_port;
|
||||
int enable_power_status; /* enable querying of power status */
|
||||
int disable_swap_matrix; /* disable the animation reflecting swap activity */
|
||||
int disable_io_matrix; /* disable background animation reflecting disk activity */
|
||||
int disable_hd_leds; /* hide the small led indicating disk activity (if !disable_hd_leds) */
|
||||
int disable_hd_list; /* hide the list of monitored drives */
|
||||
char *bigfontname, *smallfontname; /* ttf font name + "/size" in pixels */
|
||||
float popup_throughput_threshold;
|
||||
unsigned iomatrix_colormap;
|
||||
unsigned debug_swapio, debug_disk_wr, debug_disk_rd;
|
||||
unsigned popup_throughput_pos, hdlist_pos;
|
||||
int temperatures_unit; /* 'C' or 'F' */
|
||||
DockImlib2Prefs xprefs;
|
||||
} structPrefs;
|
||||
|
||||
DECL_GLOB(structPrefs Prefs);
|
||||
|
||||
#define ASSIGN_STRING(a,v) { if (a) { free(a); a = NULL; } a = strdup(v); assert(a); }
|
||||
|
||||
#endif
|
||||
|
294
wmhdplop/install-sh
Executable file
294
wmhdplop/install-sh
Executable file
|
@ -0,0 +1,294 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
#
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch. It can only install one file at a time, a restriction
|
||||
# shared with many OS's install programs.
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd=$cpprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "$0: no input file specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d "$dst" ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
instcmd=$mkdirprog
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f "$src" ] || [ -d "$src" ]
|
||||
then
|
||||
:
|
||||
else
|
||||
echo "$0: $src does not exist" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "$0: no destination specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d "$dst" ]
|
||||
then
|
||||
dst=$dst/`basename "$src"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
|
||||
if [ ! -d "$pathcomp" ] ;
|
||||
then
|
||||
$mkdirprog "$pathcomp"
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd "$dst" &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
dstfile=`basename "$dst" $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up temp files at exit.
|
||||
|
||||
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
|
||||
|
||||
# Now remove or move aside any old file at destination location. We try this
|
||||
# two ways since rm can't unlink itself on some systems and the destination
|
||||
# file might be busy for other reasons. In this case, the final cleanup
|
||||
# might fail but the new file should still install successfully.
|
||||
|
||||
{
|
||||
if [ -f "$dstdir/$dstfile" ]
|
||||
then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
|
||||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
|
||||
{
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
|
||||
fi &&
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
|
||||
{
|
||||
(exit 0); exit
|
||||
}
|
6290
wmhdplop/ltmain.sh
Normal file
6290
wmhdplop/ltmain.sh
Normal file
File diff suppressed because it is too large
Load diff
336
wmhdplop/missing
Executable file
336
wmhdplop/missing
Executable file
|
@ -0,0 +1,336 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# 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.
|
||||
|
||||
# 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.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case "$1" in
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing 0.4 - GNU automake"
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
aclocal*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case "$f" in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f y.tab.h ]; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if [ ! -f y.tab.c ]; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f lex.yy.c ]; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||
fi
|
||||
if [ -f "$file" ]; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
|
||||
# We have makeinfo, but it failed.
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is missing on your system. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
|
||||
fi
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case "$firstarg" in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case "$firstarg" in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
111
wmhdplop/mkinstalldirs
Executable file
111
wmhdplop/mkinstalldirs
Executable file
|
@ -0,0 +1,111 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain
|
||||
|
||||
errstatus=0
|
||||
dirmode=""
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage" 1>&2
|
||||
exit 0
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p -- . 2>/dev/null; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d
|
||||
do
|
||||
pathcomp="$pathcomp$d"
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=""
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# End:
|
||||
# mkinstalldirs ends here
|
219
wmhdplop/procstat.c
Normal file
219
wmhdplop/procstat.c
Normal file
|
@ -0,0 +1,219 @@
|
|||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include "global.h"
|
||||
#include "procstat.h"
|
||||
#include "devnames.h"
|
||||
|
||||
static ProcStats ps;
|
||||
int use_proc_diskstats;
|
||||
|
||||
void pstat_init(struct pstat *pst, int nslice, float update_interval) {
|
||||
pst->nslice = nslice;
|
||||
ALLOC_VEC(pst->slices, nslice);
|
||||
pst->cur_slice = 0;
|
||||
pst->total = 0;
|
||||
pst->update_interval = update_interval;
|
||||
}
|
||||
|
||||
float pstat_current(struct pstat *pst) {
|
||||
int idx = pst->cur_slice ? pst->cur_slice-1 : pst->nslice-1;
|
||||
return pst->slices[idx]/pst->update_interval;
|
||||
}
|
||||
|
||||
void pstat_add(struct pstat *pst, unsigned long v) {
|
||||
pst->slices[pst->cur_slice] += v;
|
||||
}
|
||||
|
||||
void pstat_advance(struct pstat *pst) {
|
||||
unsigned long v = pst->slices[pst->cur_slice];
|
||||
if (pst->total)
|
||||
pst->slices[pst->cur_slice] -= pst->total;
|
||||
else pst->slices[pst->cur_slice] = 0;
|
||||
pst->total = v;
|
||||
if (++pst->cur_slice >= pst->nslice) pst->cur_slice = 0;
|
||||
pst->slices[pst->cur_slice] = 0;
|
||||
}
|
||||
|
||||
float pstat_meanval(struct pstat *pst) {
|
||||
unsigned long sum = 0;
|
||||
int i;
|
||||
for (i = 0; i < pst->nslice; ++i) sum += pst->slices[i];
|
||||
return sum / pst->update_interval / (pst->nslice-1);
|
||||
}
|
||||
|
||||
float get_read_throughput() {
|
||||
return pstat_current(&ps.disk_read) / 2048.; /* 2048 because we log sector counts */
|
||||
}
|
||||
|
||||
float get_write_throughput() {
|
||||
return pstat_current(&ps.disk_write) / 2048.;
|
||||
}
|
||||
|
||||
float get_swapin_throughput() {
|
||||
return pstat_current(&ps.swap_in) / 2048.;
|
||||
}
|
||||
|
||||
float get_swapout_throughput() {
|
||||
return pstat_current(&ps.swap_out) / 2048.;
|
||||
}
|
||||
|
||||
float get_read_mean_throughput() {
|
||||
return pstat_meanval(&ps.disk_read) / 2048.;
|
||||
}
|
||||
|
||||
float get_write_mean_throughput() {
|
||||
return pstat_meanval(&ps.disk_write) / 2048.;
|
||||
}
|
||||
|
||||
void update_stats() {
|
||||
FILE *f;
|
||||
char line[1024];
|
||||
char hdname[200];
|
||||
int readok = 0, in_our_disk = 0;
|
||||
const char *proc_fname;
|
||||
if (!use_proc_diskstats) proc_fname = "/proc/partitions";
|
||||
else proc_fname = "/proc/diskstats";
|
||||
|
||||
f = fopen(proc_fname, "r");
|
||||
if (!f) { perror(proc_fname); return; }
|
||||
while (fgets(line, sizeof(line), f)) {
|
||||
int major, minor;
|
||||
unsigned long nr, nw;
|
||||
const char *fmt = use_proc_diskstats ?
|
||||
"%d %d %200s %*d %*d %lu %*d %*d %*d %lu" :
|
||||
"%d %d %*u %200s %*d %*d %lu %*d %*d %*d %lu";
|
||||
if (sscanf(line, fmt, &major, &minor, hdname, &nr, &nw) == 5 ||
|
||||
(use_proc_diskstats && is_partition(major,minor) &&
|
||||
/* .. kernel 2.5 uses a different format for partitions and disc */
|
||||
sscanf(line, "%d %d %200s %*d %lu %*d %lu", &major, &minor, hdname, &nr, &nw) == 5)) {
|
||||
DiskList *dl;
|
||||
if (readok == 0) readok = 1;
|
||||
if ((dl=find_dev(major,minor))) {
|
||||
dl->touched_r = (dl->nr - nr) ? 10 : dl->touched_r;
|
||||
dl->touched_w = (dl->nw - nw) ? 10 : dl->touched_w;
|
||||
dl->nr = nr; dl->nw = nw;
|
||||
if (!is_partition(major,minor)) in_our_disk = 1;
|
||||
if (is_displayed(dl->hd_id,dl->part_id) &&
|
||||
((dl->part_id && (!find_id(dl->hd_id, 0) || !is_displayed(dl->hd_id, 0))) || /* partition without host disk */
|
||||
(dl->part_id == 0))) /* disk */
|
||||
{
|
||||
if (!Prefs.debug_disk_rd) {
|
||||
pstat_add(&ps.disk_read, nr);
|
||||
} else {
|
||||
static int cntr = 0; cntr+=(rand()%30) == 0 ? Prefs.debug_disk_rd : 0;
|
||||
pstat_add(&ps.disk_read, nr + cntr);
|
||||
}
|
||||
if (!Prefs.debug_disk_wr) {
|
||||
pstat_add(&ps.disk_write, nw);
|
||||
} else {
|
||||
static int cntw = 0; cntw+=(rand()%30) == 0 ? Prefs.debug_disk_wr : 0;
|
||||
pstat_add(&ps.disk_write, nw + cntw);
|
||||
}
|
||||
readok = 2;
|
||||
}
|
||||
} else if (!is_partition(major,minor)) in_our_disk = 0;
|
||||
/* if (in_our_disk || find_dev(major,minor))*/ {
|
||||
strlist *sl;
|
||||
for (sl = swap_list(); sl; sl=sl->next) {
|
||||
if (strcmp(stripdev(hdname), stripdev(sl->s)) == 0) {
|
||||
if (!Prefs.debug_swapio) {
|
||||
pstat_add(&ps.swap_in, nr);
|
||||
pstat_add(&ps.swap_out, nw);
|
||||
} else {
|
||||
static int cnt = 0; cnt+=Prefs.debug_swapio;
|
||||
pstat_add(&ps.swap_in, nr + cnt);
|
||||
pstat_add(&ps.swap_out, nw + cnt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
pstat_advance(&ps.disk_read);pstat_advance(&ps.disk_write);
|
||||
pstat_advance(&ps.swap_in);pstat_advance(&ps.swap_out);
|
||||
if (readok == 0) { fprintf(stderr, "warning: could not find any info in %s (kernel too old?)\n", proc_fname); exit(1); }
|
||||
else if (readok == 1) { ONLY_ONCE(fprintf(stderr, "warning: could not find any monitored disc in %s\n", proc_fname)); }
|
||||
BLAHBLAH(1,printf("swap: %5.2f,%5.2f disc: %5.2f,%5.2f MB/s\n",
|
||||
get_swapin_throughput(), get_swapout_throughput(),
|
||||
get_read_throughput(), get_write_throughput()));
|
||||
}
|
||||
|
||||
void init_stats(float update_interval) {
|
||||
char s[512];
|
||||
FILE *f;
|
||||
|
||||
pstat_init(&ps.swap_in, (int)(0.5/update_interval)+1, update_interval);
|
||||
pstat_init(&ps.swap_out, (int)(0.5/update_interval)+1, update_interval);
|
||||
pstat_init(&ps.disk_read, (int)(0.5/update_interval)+1, update_interval);
|
||||
pstat_init(&ps.disk_write, (int)(0.5/update_interval)+1, update_interval);
|
||||
f = fopen("/proc/swaps","r");
|
||||
//if (!f) { perror("/proc/swaps"); exit(1); }
|
||||
if (f) {
|
||||
while (fgets(s, 512, f)) {
|
||||
char *s2 = strchr(s,' ');
|
||||
if (s2 && s2 != s && strncmp(s, "/dev/", 5) == 0) {
|
||||
*s2 = 0;
|
||||
add_swap(s);
|
||||
BLAHBLAH(1,printf("found swap partition: %s\n", swap_list()->s));
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
if (!swap_list()) {
|
||||
fprintf(stderr, "Warning: no swap partition found in /proc/swaps !!\n");
|
||||
}
|
||||
if ((f=fopen("/proc/diskstats","r"))) {
|
||||
use_proc_diskstats = 1; fclose(f);
|
||||
}
|
||||
else { use_proc_diskstats = 0; }
|
||||
BLAHBLAH(1,printf("using %s for disc statistics\n", use_proc_diskstats ? "/proc/diskstats" : "/proc/partitions"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* hello I am brain-dead */
|
||||
void scan_all_hd(int add_partitions) {
|
||||
char s[512];
|
||||
FILE *f = NULL;
|
||||
/* find mounted partitions */
|
||||
if (add_partitions && (f = fopen("/etc/mtab","r"))) {
|
||||
while (fgets(s,512,f)) {
|
||||
char partname[512], mountpoint[512];
|
||||
mountpoint[0] = 0;
|
||||
if (sscanf(s,"%500s %500s", partname, mountpoint)>=1) {
|
||||
char *p = strchr(mountpoint, '/');
|
||||
//printf("add_device_by_name(%s, %s)\n", partname, p);
|
||||
add_device_by_name(partname, p);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (f) fclose(f);
|
||||
|
||||
/* second try .. look for hard drives listed in proc/partitions (and only hard-drives .. their partitions
|
||||
are supposed to be listed in mtab) */
|
||||
if ((f = fopen("/proc/partitions","r"))) {
|
||||
while (fgets(s,512,f)) {
|
||||
unsigned major, minor;
|
||||
char name[512]; name[0] = 0;
|
||||
if (sscanf(s,"%d %d %*d %500s", &major, &minor, name)==3) {
|
||||
int hd_id, part_id;
|
||||
/* on n'ajoute que les disques dont au moins une partoche etait dans mtab */
|
||||
if (device_info(major,minor,NULL,&hd_id,&part_id) != 0 && part_id == 0 && find_id(hd_id,-1)) {
|
||||
add_device_by_id(major,minor,NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (f) fclose(f);
|
||||
/* for (c = 'a'; c <= 'z'; ++c) {
|
||||
snprintf(s,512,"/proc/ide/hd%c/media",c);
|
||||
if ((f = fopen(s,"r")) && fgets(s, 512, f) && strcmp(s, "disk\n")==0) {
|
||||
snprintf(s, 512, "/dev/hd%c",c);
|
||||
add_device(s, NULL);
|
||||
}
|
||||
if (f) fclose(f);
|
||||
}*/
|
||||
}
|
35
wmhdplop/procstat.h
Normal file
35
wmhdplop/procstat.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
#ifndef PROCSTAT_H
|
||||
#define PROCSTAT_H
|
||||
#include "util.h"
|
||||
|
||||
struct pstat {
|
||||
unsigned long total;
|
||||
int nslice, cur_slice;
|
||||
unsigned long *slices;
|
||||
float update_interval;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
/* counted in sectors */
|
||||
struct pstat swap_in, swap_out;
|
||||
struct pstat disk_read, disk_write;
|
||||
} ProcStats;
|
||||
|
||||
void pstat_init(struct pstat *pst, int nslice, float update_interval);
|
||||
float pstat_current(struct pstat *pst);
|
||||
void pstat_add(struct pstat *pst, unsigned long v);
|
||||
void pstat_advance(struct pstat *pst);
|
||||
float pstat_meanval(struct pstat *pst);
|
||||
|
||||
/* given in MB/s */
|
||||
float get_read_throughput();
|
||||
float get_write_throughput();
|
||||
float get_swapin_throughput();
|
||||
float get_swapout_throughput();
|
||||
float get_read_mean_throughput();
|
||||
float get_write_mean_throughput();
|
||||
|
||||
void update_stats();
|
||||
void init_stats(float update_interval);
|
||||
void scan_all_hd(int add_partitions);
|
||||
#endif
|
310
wmhdplop/util.c
Normal file
310
wmhdplop/util.c
Normal file
|
@ -0,0 +1,310 @@
|
|||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <stdarg.h>
|
||||
#include "util.h"
|
||||
|
||||
char *
|
||||
str_dup(const char *src) {
|
||||
char *s;
|
||||
s = strdup(src);
|
||||
if (s == NULL) abort();
|
||||
return s;
|
||||
}
|
||||
|
||||
/*
|
||||
verifie si la chaine est vide (cad si elle ne contient que des caractères non imprimables
|
||||
*/
|
||||
int
|
||||
str_is_empty(const char *s) {
|
||||
int i;
|
||||
if (s == NULL) return 1;
|
||||
else if (strlen(s) == 0) return 1;
|
||||
else {
|
||||
i = 0;
|
||||
while (s[i] && s[i] <= ' ') i++;
|
||||
return (i == (int)strlen(s));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* recherche la première occurence d'une des chaines 'keys' dans 'src' et renvoie un pointeur vers
|
||||
cette occurence, ainsi que le numéro de la 'keys' trouvée
|
||||
|
||||
bien sûr c'est pas optimal du tout, mais ON S'EN FOUT(tm)
|
||||
|
||||
et oui, effectivement, 'str_multi_str' est un nom à la con
|
||||
*/
|
||||
char *
|
||||
str_multi_str(const char *src, const char **keys, int nb_keys, int *key_idx)
|
||||
{
|
||||
int i;
|
||||
const char *res;
|
||||
|
||||
assert(key_idx);
|
||||
*key_idx = 0;
|
||||
res = NULL;
|
||||
for (i=0; i < nb_keys; i++) {
|
||||
const char *p;
|
||||
p = strstr(src, keys[i]);
|
||||
if (p && (res==NULL || p < res)) { res = p; *key_idx = i; }
|
||||
}
|
||||
return (char*)res;
|
||||
}
|
||||
|
||||
/* renvoie une chaine (allouée correctement) contenant la substitution de toutes les occurences de
|
||||
'key' dans 'src' par 'substitution' (key et substition sont des tableaux de chaines de
|
||||
caractères, car pour faire plusieurs substitutions, mieux vaut les effectuer simultanement que
|
||||
les enchainer pour eviter les effets de bords
|
||||
*/
|
||||
char *
|
||||
str_multi_substitute(const char *src, const char **keys, const char **substitutions, int nkeys)
|
||||
{
|
||||
const char *p, *p_key;
|
||||
char *dest, *p_dest;
|
||||
int dest_sz, p_len,j;
|
||||
|
||||
if (src == NULL) return NULL;
|
||||
|
||||
/* calcul de la longueur de la destination.. */
|
||||
p = src;
|
||||
dest_sz = strlen(src)+1;
|
||||
|
||||
while ((p_key=str_multi_str(p, keys, nkeys, &j))) {
|
||||
dest_sz += (strlen(substitutions[j]) - strlen(keys[j]));
|
||||
p = p_key+strlen(keys[j]);
|
||||
}
|
||||
|
||||
dest = malloc(dest_sz);
|
||||
|
||||
/* et là PAF ! */
|
||||
p = src;
|
||||
p_dest = dest;
|
||||
while ((p_key=str_multi_str(p, keys, nkeys, &j))) {
|
||||
memcpy(p_dest, p, p_key-p);
|
||||
p_dest += p_key-p;
|
||||
memcpy(p_dest, substitutions[j], strlen(substitutions[j]));
|
||||
p_dest += strlen(substitutions[j]);
|
||||
p = p_key + strlen(keys[j]);
|
||||
}
|
||||
p_len = strlen(p);
|
||||
if (p_len) {
|
||||
memcpy(p_dest, p, p_len); p_dest += p_len;
|
||||
}
|
||||
*p_dest = 0;
|
||||
assert(p_dest - dest == dest_sz-1); /* capote à bugs */
|
||||
return dest;
|
||||
}
|
||||
|
||||
char *
|
||||
str_substitute(const char *src, const char *key, const char *substitution) {
|
||||
return str_multi_substitute(src, &key, &substitution, 1);
|
||||
}
|
||||
|
||||
/* quotage pour les commandes externes.. à priori c'est comme pour open_url
|
||||
mais bon.. je me refuse à donner la moindre garantie sur la sécurité
|
||||
|
||||
be aware
|
||||
*/
|
||||
char *
|
||||
shell_quote(const char *src)
|
||||
{
|
||||
char *quote = "&;`'\\\"|*?~<>^()[]{}$ ";
|
||||
int i,dest_sz;
|
||||
const char *p;
|
||||
char *dest;
|
||||
|
||||
if (src == NULL || strlen(src) == 0) return strdup("");
|
||||
|
||||
dest_sz = strlen(src)+1;
|
||||
for (p=src; *p; p++) {
|
||||
if (strchr(quote, *p)) dest_sz+=1;
|
||||
}
|
||||
dest = malloc(dest_sz);
|
||||
|
||||
for (p=src, i=0; *p; p++) {
|
||||
if (strchr(quote, *p)) {
|
||||
dest[i++] = '\\';
|
||||
}
|
||||
if (*p>=0 && *p < ' ') {
|
||||
dest[i++] = ' ';
|
||||
} else {
|
||||
dest[i++] = *p;
|
||||
}
|
||||
}
|
||||
dest[i] = 0;
|
||||
assert(i == dest_sz-1); /* kapeaute à beugue */
|
||||
return dest;
|
||||
}
|
||||
|
||||
|
||||
static unsigned *crc_table = NULL;
|
||||
|
||||
void gen_crc_table(void) /* build the crc table */
|
||||
{
|
||||
unsigned crc, poly;
|
||||
int i, j;
|
||||
|
||||
poly = 0xEDB88320;
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
crc = i;
|
||||
for (j = 8; j > 0; j--)
|
||||
{
|
||||
if (crc & 1)
|
||||
crc = (crc >> 1) ^ poly;
|
||||
else
|
||||
crc >>= 1;
|
||||
}
|
||||
crc_table[i] = crc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned str_hash(const unsigned char *s, int max_len) /* calculate the crc value */
|
||||
{
|
||||
unsigned crc;
|
||||
int i;
|
||||
|
||||
if (crc_table == NULL) {
|
||||
crc_table = calloc(256, sizeof(unsigned));
|
||||
gen_crc_table();
|
||||
}
|
||||
crc = 0xFFFFFFFF;
|
||||
for (i=0; i < max_len && s[i]; i++) {
|
||||
crc = ((crc>>8) & 0x00FFFFFF) ^ crc_table[ (crc^s[i]) & 0xFF ];
|
||||
}
|
||||
return( crc^0xFFFFFFFF );
|
||||
}
|
||||
|
||||
|
||||
unsigned char char_trans[256];
|
||||
static int char_trans_init = 0;
|
||||
|
||||
static void
|
||||
init_char_trans()
|
||||
{
|
||||
const unsigned char *trans_accents =
|
||||
(const unsigned char*) "éèëêÊËÉÈàâáäÀÂÁÄûüùÙçÇîïíìÏÎÍÌôóòõÔÓÒÕñ";
|
||||
const unsigned char *trans_accents2 =
|
||||
(const unsigned char*) "eeeeeeeeaaaaaaaauuuucciiiiiiiioooooooon";
|
||||
int i;
|
||||
|
||||
for (i=0; i < 256; i++) {
|
||||
unsigned char *p;
|
||||
if ((p=(unsigned char*)strchr((char*)trans_accents, i))) {
|
||||
char_trans[i] = trans_accents2[(p - trans_accents)];
|
||||
} else if (i < (unsigned char)'A' || i > (unsigned char)'Z') {
|
||||
char_trans[i] = i;
|
||||
} else {
|
||||
char_trans[i] = i + 'a' - 'A';
|
||||
}
|
||||
}
|
||||
char_trans_init = 1;
|
||||
}
|
||||
|
||||
unsigned char
|
||||
chr_noaccent_tolower(unsigned char c)
|
||||
{
|
||||
if (char_trans_init == 0) init_char_trans();
|
||||
return char_trans[c];
|
||||
}
|
||||
|
||||
void
|
||||
str_noaccent_tolower(unsigned char *s)
|
||||
{
|
||||
int i;
|
||||
if (s == NULL) return;
|
||||
if (char_trans_init == 0) init_char_trans();
|
||||
i = 0; while(s[i]) {
|
||||
s[i] = char_trans[s[i]]; i++;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned char *
|
||||
str_noaccent_casestr(const unsigned char *meule, const unsigned char *aiguille)
|
||||
{
|
||||
unsigned char *res;
|
||||
char *m = strdup((char*)meule);
|
||||
char *a = strdup((char*)aiguille);
|
||||
|
||||
str_noaccent_tolower((unsigned char*)m);
|
||||
str_noaccent_tolower((unsigned char*)a);
|
||||
res = (unsigned char*)strstr(m, a);
|
||||
free(a); free(m);
|
||||
return res;
|
||||
}
|
||||
|
||||
/* un printf pas très fin, mais avec allocation dynamique..
|
||||
c'est pratique ces ptites choses */
|
||||
char *
|
||||
str_printf(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char *s;
|
||||
int s_sz;
|
||||
|
||||
s_sz = 10; /* a reaugmenter des que la fonction est validee : */
|
||||
s = malloc(s_sz); assert(s);
|
||||
while (1) {
|
||||
int ret;
|
||||
va_start(ap, fmt);
|
||||
ret = vsnprintf(s, s_sz, fmt, ap);
|
||||
va_end(ap);
|
||||
if (ret == -1 || ret >= s_sz-1) {
|
||||
s_sz *= 2;
|
||||
assert(s_sz < 100000);
|
||||
s = realloc(s, s_sz); assert(s);
|
||||
} else
|
||||
break;
|
||||
}
|
||||
s = realloc(s, strlen(s)+1); assert(s);
|
||||
return s;
|
||||
}
|
||||
|
||||
/* read a line in a file and return the result in a dynamically
|
||||
allocated buffer */
|
||||
char *
|
||||
str_fget_line(FILE *f)
|
||||
{
|
||||
int i,c;
|
||||
char *s;
|
||||
int s_sz;
|
||||
|
||||
s_sz = 100; s = malloc(s_sz); assert(s);
|
||||
i = 0;
|
||||
while ((c = fgetc(f)) > 0) {
|
||||
if (c >= ' ' || c == '\t') {
|
||||
s[i++] = c;
|
||||
if (i == s_sz) {
|
||||
s_sz *= 2; assert(s_sz < 100000);
|
||||
s = realloc(s, s_sz); assert(s);
|
||||
}
|
||||
}
|
||||
if (c == '\n') break;
|
||||
}
|
||||
s[i] = 0; assert(i < s_sz);
|
||||
s = realloc(s, strlen(s)+1); assert(s);
|
||||
return s;
|
||||
}
|
||||
|
||||
/* remove spaces at the beginning and at the end */
|
||||
void
|
||||
str_trim(unsigned char *s) {
|
||||
int i,j;
|
||||
|
||||
if (s == NULL) return;
|
||||
j = strlen((char*)s)-1;
|
||||
while (j>=0 && s[j] <= ' ') s[j--] = 0;
|
||||
|
||||
i = 0;
|
||||
while (s[i] && s[i] <= ' ') i++;
|
||||
if (i<=j) {
|
||||
memmove(s, s+i, j+2-i);
|
||||
}
|
||||
}
|
||||
|
||||
/* insertion into a string list */
|
||||
strlist *strlist_ins(strlist *head, const char *s) {
|
||||
strlist *p; ALLOC_OBJ(p);
|
||||
p->s = strdup(s); p->next = head; return p;
|
||||
}
|
68
wmhdplop/util.h
Normal file
68
wmhdplop/util.h
Normal file
|
@ -0,0 +1,68 @@
|
|||
#ifndef UTIL_H
|
||||
#define UTIL_H
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef MAX
|
||||
# define MAX(x,y) ((x)>(y)?(x):(y))
|
||||
#endif
|
||||
#ifndef MIN
|
||||
# define MIN(x,y) ((x)<(y)?(x):(y))
|
||||
#endif
|
||||
#ifndef SQR
|
||||
# define SQR(a) ((a)*(a))
|
||||
#endif
|
||||
#ifndef ABS
|
||||
# define ABS(a) ((a)>0?(a):-(a))
|
||||
#endif
|
||||
#define ALLOC_OBJ(p) { p = calloc(1, sizeof(*p)); assert(p);}
|
||||
#define FREE_OBJ(p) free(p);
|
||||
#define ALLOC_VEC(p, n) { p = calloc(n, sizeof(*(p))); assert(p); }
|
||||
#define SET_VEC(p, v, i0, i1) { int _i; \
|
||||
for (_i = (i0); _i < (i1); _i++) p[_i] = v; }
|
||||
#define FREE_VEC(p) free(p);
|
||||
|
||||
#define ALLOC_ARR(v,nl,nc) \
|
||||
{ int __i; v = calloc(nl,sizeof(*(v))); assert(v); \
|
||||
v[0]=calloc((nc)*(nl), sizeof(**(v))); assert((v)[0]); \
|
||||
for (__i=1; __i < nl; ++__i) (v)[__i] = (v)[__i-1] + nc; }
|
||||
#define FREE_ARR(p) { free(p[0]); free(p); }
|
||||
#define BASE_ARR(p) (p[0])
|
||||
|
||||
#ifndef NO_BLAHBLAH
|
||||
# define BLAHBLAH(n,x) if (Prefs.verbosity >= n) { x; fflush(stdout); }
|
||||
#else
|
||||
# define BLAHBLAH(n,x)
|
||||
#endif
|
||||
|
||||
#define ONLY_ONCE(x) { static int __cnt = 0; if (__cnt++==0) { x;} }
|
||||
#define ONLY_NTIMES(n,x) { static int __cnt = 0; if (__cnt++<n) { x;} }
|
||||
|
||||
|
||||
|
||||
/* macro for str_hache */
|
||||
#define CVINT(a,b,c,d) (a + (b<<8) + (c<<16) + (d<<24))
|
||||
|
||||
#define IS_INSIDE(x, y, xmin, ymin, xmax, ymax) ((x) >= (xmin) && (x) <= (xmax) && (y) >= (ymin) && (y) <= (ymax))
|
||||
|
||||
char *str_dup(const char *s);
|
||||
int str_is_empty(const char *s);
|
||||
char *str_multi_str(const char *src, const char **keys, int nb_keys, int *key_idx);
|
||||
char *str_multi_substitute(const char *src, const char **keys, const char **substitutions, int nkeys);
|
||||
char *str_substitute(const char *src, const char *key, const char *substitution);
|
||||
char *shell_quote(const char *src);
|
||||
unsigned str_hash(const unsigned char *s, int max_len);
|
||||
unsigned char chr_noaccent_tolower(unsigned char c);
|
||||
void str_noaccent_tolower(unsigned char *s);
|
||||
unsigned char *str_noaccent_casestr(const unsigned char *meule, const unsigned char *aiguille);
|
||||
char *str_printf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
|
||||
char *str_fget_line(FILE *f);
|
||||
void str_trim(unsigned char *s);
|
||||
|
||||
typedef struct strlist {
|
||||
char *s;
|
||||
struct strlist *next;
|
||||
} strlist;
|
||||
strlist *strlist_ins(strlist *head, const char *s);
|
||||
#endif
|
1071
wmhdplop/wmhdplop.c
Normal file
1071
wmhdplop/wmhdplop.c
Normal file
File diff suppressed because it is too large
Load diff
70
wmhdplop/wmhdplop.h
Normal file
70
wmhdplop/wmhdplop.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
#ifndef WMHDPLOP_H
|
||||
#define WMHDPLOP_H
|
||||
#ifdef GKRELLM
|
||||
#include <gkrellm2/gkrellm.h>
|
||||
#endif
|
||||
#include "config.h"
|
||||
#include "dockapp_imlib2.h"
|
||||
#include "procstat.h"
|
||||
#include "devnames.h"
|
||||
|
||||
|
||||
typedef struct {
|
||||
int nrow, ncol;
|
||||
int w;
|
||||
unsigned char **pre_cnt;
|
||||
char **intensity; /* > 0 for swap in, < 0 for swap out */
|
||||
} SwapMatrix;
|
||||
|
||||
typedef struct IO_op_lst {
|
||||
enum { OP_READ, OP_WRITE } op;
|
||||
int n; /* "magnitude" of operation (log2 of kb/s) */
|
||||
int i,j; /* location of the IOMatrix */
|
||||
struct IO_op_lst *next;
|
||||
} IO_op_lst;
|
||||
|
||||
#define CMAPSZ 256
|
||||
typedef struct colormap {
|
||||
DATA32 p[CMAPSZ];
|
||||
} cmap;
|
||||
|
||||
typedef struct {
|
||||
int w,h;
|
||||
int * __restrict * __restrict v; /* dim w+2, h+4 */
|
||||
cmap cm;
|
||||
IO_op_lst *ops;
|
||||
} IOMatrix;
|
||||
|
||||
typedef struct {
|
||||
DockImlib2 *dock;
|
||||
Imlib_Font bigfont,smallfont;
|
||||
|
||||
char *current_bigfont_name, *current_smallfont_name;
|
||||
unsigned update_display_delay_ms;
|
||||
unsigned update_stats_mult;
|
||||
|
||||
unsigned char swap_matrix_luminosity, swap_matrix_lighting;
|
||||
|
||||
SwapMatrix sm;
|
||||
IOMatrix iom;
|
||||
|
||||
int nb_hd, nb_dev;
|
||||
enum {HD_ACTIVE, HD_STANDBY, HD_SLEEP, HD_UNKNOWN} *disk_power_mode;
|
||||
int *disk_temperature;
|
||||
|
||||
int filter_hd, filter_part;
|
||||
int displayed_hd_changed;
|
||||
int reshape_cnt;
|
||||
} App;
|
||||
|
||||
void reshape(int w, int h);
|
||||
#ifdef GKRELLM
|
||||
int hdplop_main(int w, int h, GdkDrawable *gkdrawable);
|
||||
void gkrellm_hdplop_update(int update_options);
|
||||
#endif
|
||||
void change_displayed_hd(int dir);
|
||||
void next_displayed_hd();
|
||||
void prev_displayed_hd();
|
||||
void init_fonts(App*);
|
||||
DECL_GLOB_INIT(App *app, NULL);
|
||||
#endif
|
Loading…
Reference in a new issue