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
					
				
					 33 changed files with 30169 additions and 0 deletions
				
			
		
							
								
								
									
										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