rev 10939 - in kde-extras/guidance/trunk/debian: . patches

Michael Meskes meskes at alioth.debian.org
Tue Jun 10 14:27:30 UTC 2008


Author: meskes
Date: 2008-06-10 14:27:30 +0000 (Tue, 10 Jun 2008)
New Revision: 10939

Added:
   kde-extras/guidance/trunk/debian/patches/01_svn20080103.diff
   kde-extras/guidance/trunk/debian/patches/03_desktop_files.diff
   kde-extras/guidance/trunk/debian/patches/06_displayconfig_fix_intel_dpi.patch
   kde-extras/guidance/trunk/debian/patches/07_powermanager_i18n.patch
   kde-extras/guidance/trunk/debian/patches/08_nice_groups_and_privileges.patch
   kde-extras/guidance/trunk/debian/patches/09_mountconfig_no_extensions.patch
   kde-extras/guidance/trunk/debian/patches/10_displayconfig_tryagain.patch
   kde-extras/guidance/trunk/debian/patches/11_wineconfg_amd64.patch
   kde-extras/guidance/trunk/debian/patches/12_powermanager_survive_no_brightness.patch
   kde-extras/guidance/trunk/debian/patches/13_displayconfig_add_new_monitors.patch
   kde-extras/guidance/trunk/debian/patches/14_displayconfig_no_xorg_no_serverlayout.patch
   kde-extras/guidance/trunk/debian/patches/15_powermanager_suspend.patch
   kde-extras/guidance/trunk/debian/patches/16_displayconfig_no_xrrqueryextention.patch
   kde-extras/guidance/trunk/debian/patches/17_kde-powermanager_brightness.patch
   kde-extras/guidance/trunk/debian/patches/18_displayconfig_no_resolutions.patch
   kde-extras/guidance/trunk/debian/patches/19_powermanager_new_names.patch
   kde-extras/guidance/trunk/debian/patches/20_displayconfig_dynamic_driver_list.patch
   kde-extras/guidance/trunk/debian/patches/21_kde-powermanager_unique-check.patch
   kde-extras/guidance/trunk/debian/patches/22_userconfig_utf8.patch
   kde-extras/guidance/trunk/debian/patches/23_kde-powermanager_gpmhelper.patch
   kde-extras/guidance/trunk/debian/patches/24_displayconfig_no_gamma.patch
   kde-extras/guidance/trunk/debian/patches/25_kde-powermanager_allways_change_brightness.patch
   kde-extras/guidance/trunk/debian/patches/26_kde-powermanager_handle_hal_dbus_restarts.patch
   kde-extras/guidance/trunk/debian/patches/27_displayconfig-restore_try_getsize_again.patch
   kde-extras/guidance/trunk/debian/patches/28_kde-powermanager_i18n_strings.patch
   kde-extras/guidance/trunk/debian/patches/29_kde-powermanager_display_consumption_rate.patch
   kde-extras/guidance/trunk/debian/patches/30_displayconfig_no_xorg_correct_detection.patch
   kde-extras/guidance/trunk/debian/patches/31_wineconfig_no_i18_on_keys.patch
   kde-extras/guidance/trunk/debian/patches/32_displayconfig_update_refresh_rate.patch
   kde-extras/guidance/trunk/debian/patches/33_displayconfig_add_new_video_cards.patch
   kde-extras/guidance/trunk/debian/patches/34_kde-powermanager_no_lid_special_behaviour_disable.patch
   kde-extras/guidance/trunk/debian/patches/series
   kde-extras/guidance/trunk/debian/pyversions
Removed:
   kde-extras/guidance/trunk/debian/patches/10_wineconfig_icon.diff
   kde-extras/guidance/trunk/debian/patches/11_no_cpu_freq.diff
   kde-extras/guidance/trunk/debian/patches/12_pm_fix_indentation_actioncollection.diff
   kde-extras/guidance/trunk/debian/patches/13_nvidia_typo.diff
   kde-extras/guidance/trunk/debian/patches/14_powermanager_fixes.diff
   kde-extras/guidance/trunk/debian/pyversions
Modified:
   kde-extras/guidance/trunk/debian/changelog
   kde-extras/guidance/trunk/debian/control
   kde-extras/guidance/trunk/debian/copyright
   kde-extras/guidance/trunk/debian/kde-guidance.lintian-overrides
   kde-extras/guidance/trunk/debian/rules
Log:
  * Added myself as uploader.
  * Added patch to bring kde-guidance to svn version checked out on 20080103
  * Removed patches no longer needed.
  * Bumped Standards-Version to 3.8.0.
  * Added patches from the Kubuntu archive.
  * Fixed some glitches in desktop files.
  * Removed Kubuntu specific parts from rules file.
  * Overwrite python2.4 files with python2.5 ones.
  * Added link to GFDL to copyright file.



Modified: kde-extras/guidance/trunk/debian/changelog
===================================================================
--- kde-extras/guidance/trunk/debian/changelog	2008-06-10 12:53:45 UTC (rev 10938)
+++ kde-extras/guidance/trunk/debian/changelog	2008-06-10 14:27:30 UTC (rev 10939)
@@ -10,10 +10,22 @@
 
   [ Mark Purcell ]
   * Add python-qt-dev dependency to kde-guidance package.
-    mountconfig needs pyqtconfig.
+    mountconfig needs pyqtconfig, closes: #470824
 
- -- Fathi Boudra <fboudra at free.fr>  Sun, 07 Oct 2007 18:55:46 +0200
+  [ Michael Meskes ]
+  * Added myself as uploader.
+  * Added patch to bring kde-guidance to svn version checked out on 20080103,
+    closes: #428002
+  * Removed patches no longer needed.
+  * Bumped Standards-Version to 3.8.0.
+  * Added patches from the Kubuntu archive, closes: #413234, #475011
+  * Fixed some glitches in desktop files.
+  * Removed Kubuntu specific parts from rules file.
+  * Overwrite python2.4 files with python2.5 ones.
+  * Added link to GFDL to copyright file.
 
+ -- Michael Meskes <meskes at debian.org>  Tue, 10 Jun 2008 12:14:22 +0200
+
 kde-guidance (0.8.0-2) unstable; urgency=low
 
   * Add Build-Depends: python-qt-dev

Modified: kde-extras/guidance/trunk/debian/control
===================================================================
--- kde-extras/guidance/trunk/debian/control	2008-06-10 12:53:45 UTC (rev 10938)
+++ kde-extras/guidance/trunk/debian/control	2008-06-10 14:27:30 UTC (rev 10939)
@@ -2,13 +2,13 @@
 Section: kde
 Priority: optional
 Maintainer: Debian KDE Extras Team <pkg-kde-extras at lists.alioth.debian.org>
-Uploaders: Fathi Boudra <fabo at debian.org>, Mark Purcell <msp at debian.org>
+Uploaders: Fathi Boudra <fabo at debian.org>, Mark Purcell <msp at debian.org>, Michael Meskes <meskes at debian.org>
 Build-Depends: cdbs, debhelper (>= 5), quilt, chrpath, kdelibs4-dev,
  libpythonize0-dev, libtool, libxml2-utils, libxss-dev, libxxf86vm-dev,
  pykdeextensions, pyqt-tools, python-kde3, python-kde3-dev, python-sip4-dev,
  python-support (>= 0.6), python-all-dev (>= 2.3.5-11), x11proto-scrnsaver-dev,
  python-qt-dev
-Standards-Version: 3.7.3
+Standards-Version: 3.8.0
 Homepage: http://www.simonzone.com/software/guidance
 
 Package: kde-guidance

Modified: kde-extras/guidance/trunk/debian/copyright
===================================================================
--- kde-extras/guidance/trunk/debian/copyright	2008-06-10 12:53:45 UTC (rev 10938)
+++ kde-extras/guidance/trunk/debian/copyright	2008-06-10 14:27:30 UTC (rev 10939)
@@ -3,7 +3,7 @@
 
 It was downloaded from http://www.simonzone.com/software/guidance
 
-Copyright Holders:
+Copyright (C) 2003 - 2007
    Simon Edwards <simon at simonzone.com>
    Sebastian Kügler <sebas at vizzzion.org>
 
@@ -27,406 +27,10 @@
 Public License can be found in `/usr/share/common-licenses/GPL'.
 
 The documentations provided with kde-guidance is distributed under
-the GNU Free Documentation License (FDL). They are considered free with
+the GNU Free Documentation License (GFDL). They are considered free with
 regards to the Debian Free Software Guidelines (DFSG) because they don't
-contain any unmodifiable parts (invariant sections). The complete text of
-the GNU Free Documentation License can be found below:
+contain any unmodifiable parts (invariant sections). 
 
-		GNU Free Documentation License
-		  Version 1.2, November 2002
+On Debian systems, the complete text of the GNU Free Documentation License
+can be found in `/usr/share/common-licenses/GFDL'.
 
-
- Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
-     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The "Document", below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as "you".  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject.  (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification.  Examples of
-transparent image formats include PNG, XCF and JPG.  Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
-   from that of the Document, and from those of previous versions
-   (which should, if there were any, be listed in the History section
-   of the Document).  You may use the same title as a previous version
-   if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities
-   responsible for authorship of the modifications in the Modified
-   Version, together with at least five of the principal authors of the
-   Document (all of its principal authors, if it has fewer than five),
-   unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the
-   Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications
-   adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice
-   giving the public permission to use the Modified Version under the
-   terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections
-   and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
-   to it an item stating at least the title, year, new authors, and
-   publisher of the Modified Version as given on the Title Page.  If
-   there is no section Entitled "History" in the Document, create one
-   stating the title, year, authors, and publisher of the Document as
-   given on its Title Page, then add an item describing the Modified
-   Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for
-   public access to a Transparent copy of the Document, and likewise
-   the network locations given in the Document for previous versions
-   it was based on.  These may be placed in the "History" section.
-   You may omit a network location for a work that was published at
-   least four years before the Document itself, or if the original
-   publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
-   Preserve the Title of the section, and preserve in the section all
-   the substance and tone of each of the contributor acknowledgements
-   and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document,
-   unaltered in their text and in their titles.  Section numbers
-   or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements".  Such a section
-   may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
-   or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications".  You must delete all sections
-Entitled "Endorsements".
-
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document 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.
-
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation 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.  See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-
-ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-    Copyright (c)  YEAR  YOUR NAME.
-    Permission is granted to copy, distribute and/or modify this document
-    under the terms of the GNU Free Documentation License, Version 1.2
-    or any later version published by the Free Software Foundation;
-    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-    A copy of the license is included in the section entitled "GNU
-    Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
-    with the Invariant Sections being LIST THEIR TITLES, with the
-    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-

Modified: kde-extras/guidance/trunk/debian/kde-guidance.lintian-overrides
===================================================================
--- kde-extras/guidance/trunk/debian/kde-guidance.lintian-overrides	2008-06-10 12:53:45 UTC (rev 10938)
+++ kde-extras/guidance/trunk/debian/kde-guidance.lintian-overrides	2008-06-10 14:27:30 UTC (rev 10939)
@@ -1,4 +1,3 @@
 # false positive warnings from lintian
 kde-guidance: postinst-has-useless-call-to-ldconfig
 kde-guidance: postrm-has-useless-call-to-ldconfig
-kde-guidance: package-has-a-duplicate-relation depends

Added: kde-extras/guidance/trunk/debian/patches/01_svn20080103.diff
===================================================================
--- kde-extras/guidance/trunk/debian/patches/01_svn20080103.diff	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/01_svn20080103.diff	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,5201 @@
+diff --exclude debian -ruN kde-guidance-0.8.0/ChangeLog kde-guidance-0.8.0svn20080103/ChangeLog
+--- kde-guidance-0.8.0/ChangeLog	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/ChangeLog	2008-06-10 11:58:43.000000000 +0200
+@@ -1,3 +1,9 @@
++- Handle "ain't got no cpufreq" more gracefully (Malone bug # 99198)
++- Fix typo in mountconfig that lead to a crash (Malone bug # 87861)
++- BUG: Fix detection of the nvidia proprietary driver (Malone bug #104860)
++- BUG: Displayconfig and displayconfig-restore.py would crash in combination
++  with later versions Xorg if the xrandr extension was not available.
++  (Malone bug #91545)
+ 
+ * Wednesday 29 March 2007 Simon Edwards <simon at simonzone.com>
+ - version 0.8
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/displayconfigabstraction.py kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py
+--- kde-guidance-0.8.0/displayconfig/displayconfigabstraction.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py	2008-06-10 11:58:43.000000000 +0200
+@@ -35,6 +35,11 @@
+     global data_file_dir
+     data_file_dir = dir_name
+ 
++var_data_dir = "/var/lib/guidance-backends"
++def SetVarDataDir(dir_name):
++    global var_data_dir
++    var_data_dir = dir_name
++
+ ############################################################################
+ class XSetup(object):
+     """Represents the current configuration of the X.org X11 server.
+@@ -124,7 +129,6 @@
+ 
+         if len(layout.screen)==0:
+             print "*** Error: no screens were specified in the ServerLayout section"
+-            return
+ 
+         # Handle leftof rightof below and above.
+         (primary_name, secondary_name, layout, self.orientation) = self._decodeServerLayoutScreens(layout.screen)
+@@ -235,18 +239,18 @@
+ 
+         # Detect dualhead Intel cards
+         for gfx_card in self.gfxcards:
+-            if gfx_card._getDetectedGfxCardModel().getDriver() in ['i740','i810'] \
+-                    and len(gfx_card.getScreens()) < 2:
+-
++            if gfx_card._getDetectedGfxCardModel().getDriver() in ['i740','i810', 'intel']:
+                 gfx_card_pci_id = gfx_card.getPCIBusID().split(":")[1:]
+                 base_pci_id = gfx_card_pci_id[:-1]
+ 
+                 for pci_device in pci_bus.devices:
+                     if gfx_card_pci_id != [str(pci_device.pci_bus),str(pci_device.pci_device),str(pci_device.pci_function)]:
+                         if base_pci_id == [str(pci_device.pci_bus),str(pci_device.pci_device)]:
+-                            gfx_cards_needing_second_heads.append(gfx_card)
+                             pci_device_id = "PCI:%i:%i:%i" % (pci_device.pci_bus, pci_device.pci_device, pci_device.pci_function)
+                             found_list = [x for x in found_list if x[0]!=pci_device_id]
++                            # Try to configure a second head later if not yet available
++                            if len(gfx_card.getScreens()) < 2:
++                                gfx_cards_needing_second_heads.append(gfx_card)
+                             break
+ 
+         # Detect dualhead nVidia cards
+@@ -270,7 +274,8 @@
+             if subprocess.call(['/usr/sbin/laptop-detect'])==0:
+                 if len(self.gfxcards)!=0:
+                     gfx_card = self.gfxcards[0]
+-                    if gfx_card not in gfx_cards_needing_second_heads:
++                    if gfx_card not in gfx_cards_needing_second_heads and \
++                       len(gfx_card.getScreens())<2:
+                         gfx_cards_needing_second_heads.append(gfx_card)
+ 
+         # Match up the second heads with any loose sections in xorg.conf.
+@@ -803,6 +808,10 @@
+ 
+         Returns True or False.
+         """
++        # XRandR tends to break Xinerama
++        if self.primary_screen._getGfxCard().getLayout() in \
++           (XSetup.LAYOUT_SINGLE_XINERAMA, XSetup.LAYOUT_DUAL):
++            return False
+         for screen in self.getAllScreens():
+             if screen.isLive() and screen.isResolutionSettingsChanged():
+                 return True
+@@ -1060,6 +1069,10 @@
+                 except KeyError:
+                     self.gfxcard_model = self.detected_model
+ 
++            # Write the current driver in the model
++            if self.x_device[0].driver:
++                self.gfxcard_model.setDriver(self.x_device[0].driver)
++
+             self.proprietary_driver = self.gfxcard_model.getProprietaryDriver()==self.x_device[0].driver
+ 
+             if self.x_device[0].videoram is not None:
+@@ -1085,7 +1098,7 @@
+                         if desktopsetup is not None and desktopsetup._row[2].lower()=='clone':
+                             self.detected_layout = XSetup.LAYOUT_CLONE
+                 # i810 driver
+-                elif self._getCurrentDriver()=='i810':
++                elif self._getCurrentDriver() in ['i810', 'intel']:
+                     clone = self.x_device[0].option.getOptionByName('clone')
+                     if clone is not None:
+                         if xorgconfig.toBoolean(clone._row[2]):
+@@ -1094,7 +1107,7 @@
+         else:
+             self.gfxcard_model = self.detected_model
+ 
+-        self.original_gfxcard_model = self.detected_model
++        self.original_gfxcard_model = self.gfxcard_model
+         self.original_proprietary_driver = self.proprietary_driver
+         self.original_layout = self.layout
+ 
+@@ -1166,10 +1179,8 @@
+     def getAvailableLayouts(self):
+         layouts = XSetup.LAYOUT_SINGLE
+         if len(self.screens)==2:
+-            if self._getCurrentDriver() in ['ati','r128','radeon','fglrx','nvidia']:
++            if self._getCurrentDriver() in ['fglrx', 'nvidia', 'i810']:
+                 layouts |= XSetup.LAYOUT_CLONE | XSetup.LAYOUT_DUAL
+-            elif self._getCurrentDriver() =='i810':
+-                layouts |= XSetup.LAYOUT_CLONE
+         return layouts
+ 
+     def getVideoRam(self):
+@@ -1253,9 +1264,12 @@
+ 
+     def _getAvailableLayouts(self):
+         if len(self.screens)>=2:
++            drv = self._getCurrentDriver()
+             layouts = XSetup.LAYOUT_SINGLE | XSetup.LAYOUT_DUAL
+-            if self._getCurrentDriver() in ['ati','radeon','r128','fglrx','nvidia']:
++            if drv in ['fglrx', 'nvidia', 'i810']:
+                 layouts |= XSetup.LAYOUT_CLONE
++            elif drv in ['ati', 'radeon', 'r128', 'intel']:
++                layouts = XSetup.LAYOUT_SINGLE
+             return layouts
+         else:
+             return XSetup.LAYOUT_SINGLE
+@@ -1278,7 +1292,13 @@
+         # $raw_X->set_devices($card, @{$card->{cards} || []});
+         # $raw_X->get_ServerLayout->{Xinerama} = { commented => !$card->{Xinerama}, Option => 1 }
+         #if defined $card->{Xinerama};
+-        module = self.x_config.getSections('module')[0]
++        module_sections = self.x_config.getSections("Module")
++        if len(module_sections) > 0:
++            module = module_sections[0]
++        else:
++            module = self.x_config.makeSection(None, ["Section", "Module"])
++            self.x_config.append(module)
++
+         module.removeModule('GLcore')
+         module.removeModule('glx')
+         module.removeModule('dbe')
+@@ -1408,7 +1428,12 @@
+                             vsyncline = self.x_device[i].option.makeLine(None,['SecondMonitorVertRefresh',monitor_model.getVerticalSync()])
+                             self.x_device[i].option.append(vsyncline)
+ 
+-            if driver=='i810':  # i810 driver
++            if driver in ['i810']:  # i810 driver
++                if self.layout in (XSetup.LAYOUT_SINGLE_XINERAMA,
++                                   XSetup.LAYOUT_DUAL,
++                                   XSetup.LAYOUT_CLONE):
++                    new_option = self.x_device[i].option.makeLine(None,["MonitorLayout", "CRT,LFP"])
++                    self.x_device[i].option.append(new_option)
+                 if self.layout==XSetup.LAYOUT_CLONE:
+                     new_option = self.x_device[i].option.makeLine(None,["Clone","on"])
+                     self.x_device[i].option.append(new_option)
+@@ -1616,38 +1641,15 @@
+ 
+         # Gamma settings
+         if self.x_live_screen is not None:
+-            # Read the current gamma settings directly from X.
+-            (self.redgamma, self.greengamma, self.bluegamma) = self.x_live_screen.getGamma()
+-
+-            # Round the values off to 2 decimal places.
+-            self.redgamma = round(self.redgamma,2)
+-            self.greengamma = round(self.greengamma,2)
+-            self.bluegamma = round(self.bluegamma,2)
+-
+-            self.allgamma = self.redgamma
+-            self.settingall = self.redgamma==self.greengamma==self.bluegamma
+-        else:
+-            # Set some gamma defaults
+-            self.redgamma = self.greengamma = self.bluegamma = self.allgamma = 1.0
+-            self.settingall = True
+-
+-            # Look for gamma information in xorg.conf
+-            if self.x_config_monitor is not None:
+-                gamma_row = self.x_config_monitor.getRow('gamma')
+-                if gamma_row is not None:
+-                    try:
+-                        if len(gamma_row)==1:
+-                            self.allgamma = float(gamma_row[0])
+-                            self.redgamma = self.greengamma = self.bluegamma = self.allgamma
+-                            self.settingall = True
+-                        elif len(gamma_row.row)==3:
+-                            self.redgamma = float(gamma_row[0])
+-                            self.greengamma = float(gamma_row[1])
+-                            self.bluegamma = float(gamma_row[2])
+-                            self.allgamma = self.redgamma
+-                            self.settingall = False
+-                    except ValueError:
+-                        pass
++            try:
++                (self.redgamma, self.greengamma, self.bluegamma, self.allgama, 
++                 self.settingall) = self._getGammaFromLiveScreen()
++            except:
++                (self.redgamma, self.greengamma, self.bluegamma, self.allgama, 
++                 self.settingall) = self._getGammaFromXorg()
++        else:
++            (self.redgamma, self.greengamma, self.bluegamma, self.allgama, 
++             self.settingall) = self._getGammaFromXorg()
+ 
+         self.originalsizeindex = self.currentsizeindex
+         self.original_size = self.getAvailableResolutions()[self.currentsizeindex]
+@@ -1662,6 +1664,45 @@
+         self.originalallgamma = self.allgamma
+         self.originalsettingall = self.settingall
+ 
++    def _getGammaFromLiveScreen(self):
++        """Reads the gamma information from the x server"""
++        # Read the current gamma settings directly from X.
++        (redgamma, greengamma, bluegamma) = self.x_live_screen.getGamma()
++
++        # Round the values off to 2 decimal places.
++        redgamma = round(self.redgamma,2)
++        greengamma = round(self.greengamma,2)
++        bluegamma = round(self.bluegamma,2)
++
++        allgamma = redgamma
++        settingall = redgamma==greengamma==bluegamma
++        return (redgamma, greengamma, bluegamma, allgamma, settingall)
++
++    def _getGammaFromXorg(self):
++        """Extracts the gamma information from the xorg configuration"""
++        # Set some gamma defaults
++        redgamma = greengamma = bluegamma = allgamma = 1.0
++        settingall = True
++
++        # Look for gamma information in xorg.conf
++        if self.x_config_monitor is not None:
++            gamma_row = self.x_config_monitor.getRow('gamma')
++            if gamma_row is not None:
++                try:
++                    if len(gamma_row)==1:
++                        allgamma = float(gamma_row[0])
++                        redgamma = greengamma = bluegamma = allgamma
++                        self.settingall = True
++                    elif len(gamma_row.row)==3:
++                        redgamma = float(gamma_row[0])
++                        greengamma = float(gamma_row[1])
++                        bluegamma = float(gamma_row[2])
++                        allgamma = self.redgamma
++                        settingall = False
++                except ValueError:
++                    pass
++        return (redgamma, greengamma, bluegamma, allgamma, settingall)
++
+     def _computeSizesFromXorg(self):
+         all_sizes = self.x_live_screen.getAvailableSizes()
+         self.available_sizes = []
+@@ -1682,7 +1723,7 @@
+         if monitor_model is None:
+             # If there is no monitor model selected, then just use a default
+             # model so that we at least get some fairly safe resolutions.
+-            monitor_model = GetMonitorModelDB().getMonitorByName("800x600 @ 60 Hz")
++            monitor_model = GetMonitorModelDB().getMonitorByName("Monitor 800x600")
+ 
+         self.mode_list = GetMonitorModeDB().getAvailableModes(monitor_model,self.monitor_aspect)
+         resolutions = set()
+@@ -2083,7 +2124,11 @@
+                 self.original_monitor_aspect==self.monitor_aspect
+ 
+     def isResolutionSettingsChanged(self):
+-        current_size = self.getAvailableResolutions()[self.currentsizeindex]
++        try:
++            current_size = self.getAvailableResolutions()[self.currentsizeindex]
++        except IndexError:
++            #FIXME: why does this happen?
++            return False
+         return current_size != self.original_size or \
+             self.currentrefreshrate != self.originalrefreshrate or \
+             self.currentrotation != self.originalrotation or \
+@@ -2412,7 +2457,7 @@
+             driver = self.getProprietaryDriver()
+         else:
+             driver = self.getDriver()
+-        if driver in ['i810','fbdev','nvidia','vmware']:
++        if driver in ['i810','intel','fbdev','nvidia','vmware']:
+             return True
+         if self.badfbrestore is not None:
+             return self.badfbrestore
+@@ -2473,10 +2518,12 @@
+         #if arch() .startswith("sparc"):
+         #    self.drivers.extend(["sunbw2", "suncg14", "suncg3", "suncg6", "sunffb", "sunleo", "suntcx"])
+         #else:
+-        self.drivers.extend(["apm", "ark", "chips", "cirrus", "cyrix", "glide", "i128", "i740",
+-            "i810", "imstt", "mga", "neomagic", "newport", "nsc", "nv", "rendition", "r128", "radeon",
+-            "vesa", "s3", "s3virge", "savage", "siliconmotion", "sis", "tdfx", "tga", "trident",
+-            "tseng", "vmware"])
++        self.drivers.extend(["apm", "ark", "chips", "cirrus", "cyrix", "glide",
++                             "i128", "i740", "i810", "intel", "imstt", "mga", 
++                             "neomagic", "newport", "nsc", "nv", "rendition", 
++                             "r128", "radeon", "vesa", "s3", "s3virge", 
++                             "savage", "siliconmotion", "sis", "tdfx", "tga", 
++                             "trident", "tseng", "vmware"])
+ 
+         self.proprietary_drivers = []
+ 
+@@ -2498,8 +2545,12 @@
+         # FIXME x86_64 => 'lib64'
+ 
+         if (os.path.exists("/usr/X11R6/lib/modules/drivers/nvidia_drv.o") and \
+-                os.path.exists("/usr/X11R6/lib/modules/extensions/libglx.so")) or \
++                os.path.exists("/usr/X11R6/lib/modules/extensions/libglx.so")) \
++                or \
+                 (os.path.exists("/usr/lib/xorg/modules/drivers/nvidia_drv.o") and \
++                os.path.exists("/usr/lib/xorg/modules/libglx.so")) \
++                or \
++                (os.path.exists("/usr/lib/xorg/modules/drivers/nvidia_drv.so") and \
+                 os.path.exists("/usr/lib/xorg/modules/libglx.so")):
+             self.proprietary_drivers.append("nvidia")
+ 
+@@ -2676,11 +2727,11 @@
+ ############################################################################
+ monitor_model_db_instance = None # Singleton
+ 
+-def GetMonitorModelDB():
++def GetMonitorModelDB(force=False):
+     """Returns a GetMonitorModelDB instance.
+     """
+     global monitor_model_db_instance
+-    if monitor_model_db_instance is None:
++    if monitor_model_db_instance is None or force == True:
+         monitor_model_db_instance = MonitorModelDB()
+     return monitor_model_db_instance
+ 
+@@ -2709,11 +2760,15 @@
+         self.customdb[self._plugnplay.getName()] = self._plugnplay
+         self.db[self._plugnplay.getName()] = self._plugnplay
+ 
++        # Load monitors from the shipped database
+         filename = "/usr/share/ldetect-lst/MonitorsDB"
+         if not os.path.exists(filename):
+             filename = os.path.join(data_file_dir,"MonitorsDB")
+-
+         self.load(filename)
++        # Load monitors from the custom database
++        filename = os.path.join(var_data_dir, "CustomMonitorsDB")
++        if os.path.exists(filename):
++            self.load(filename)
+ 
+     def load(self,filename,split=";"):
+         fhandle = open(filename,'r')
+@@ -2733,7 +2788,8 @@
+                             monitorobj.setDpms(parts[5].strip()=='1')
+                         self.db[monitorobj.getName()] = monitorobj
+ 
+-                        if monitorobj.getManufacturer()=="Generic":
++                        if monitorobj.getManufacturer() in \
++                                ["Generic LCD Display", "Generic CRT Display"]:
+                             self.genericdb[monitorobj.getName()] = monitorobj
+                         else:
+                             if monitorobj.getManufacturer() not in self.vendordb:
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/displayconfig.desktop kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.desktop
+--- kde-guidance-0.8.0/displayconfig/displayconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,20 +1,30 @@
+ [Desktop Entry]
+ Name=Monitor & Display
+-Name[de]=Monitor & Anzeige
+ Name[el]=Οθόνη & εμφάνιση
++Name[es]=Monitor y pantalla
++Name[et]=Monitor ja kuva
++Name[it]=Schermo
+ Name[ja]=モニタとディスプレイ
+ Name[nl]=Monitor en beeldscherm
+ Name[pt]=Monitor & Ecrã
+-Name[pt_BR]=Monitor & Exibição
+-Name[sv]=Bildskärm
++Name[pt_BR]=Monitor & Visualização
++Name[sr]=Монитор и приказ
++Name[sr at Latn]=Monitor i prikaz
++Name[sv]=Bildskärm och skärm
++Name[xx]=xxMonitor & Displayxx
+ Comment=Display and Monitor Configuration
+-Comment[de]=Einrichtung von Anzeige und Monitor
+ Comment[el]=Ρυθμίσεις εμφάνισης και οθόνης
++Comment[es]=Configuración de la pantalla y el monitor
++Comment[et]=Monitori ja kuva seadistamine
++Comment[it]=Configurazione dello schermo
+ Comment[ja]=モニタとディスプレイの設定
+ Comment[nl]=Configuratie van beeldscherm en monitor
+-Comment[pt]=Configuração do Ecrã e do Monitor
+-Comment[pt_BR]=Configuração do Monitor e da Exibição
+-Comment[sv]=Inställning av bildskärm
++Comment[pt]=Configuração do Monitor e Ecrã
++Comment[pt_BR]=Configuração do Monitor e da Visualização
++Comment[sr]=Подешавање приказа и монитора
++Comment[sr at Latn]=Podešavanje prikaza i monitora
++Comment[sv]=Skärm- och bildskärmsinställning
++Comment[xx]=xxDisplay and Monitor Configurationxx
+ Icon=displayconfig.png
+ Encoding=UTF-8
+ X-KDE-ModuleType=Library
+@@ -25,11 +35,15 @@
+ Exec=kcmshell Peripherals/displayconfig
+ Categories=Qt;KDE;X-KDE-settings-hardware;
+ GenericName=Screen Configuration Editor
+-GenericName[de]=Bearbeiten der Bildschirmeinstellungen
+ GenericName[el]=Επεξεργαστής ρυθμίσεων οθόνης
++GenericName[es]=Editor de la configuración de la pantalla
++GenericName[et]=Ekraani seadistamise redaktor
++GenericName[it]=Editor della configurazione dello schermo
+ GenericName[ja]=スクリーン設定エディタ
+ GenericName[nl]=Scherminstellingen bewerken
+ GenericName[pt]=Editor da Configuração do Ecrã
+-GenericName[pt_BR]=Editor da Configuração da Tela
+-GenericName[sv]=Editor av bildskärmsinställning
+-X-Ubuntu-Gettext-Domain=desktop_guidance
++GenericName[pt_BR]=Editor de Configuração da Tela
++GenericName[sr]=Уређивач подешавања екрана
++GenericName[sr at Latn]=Uređivač podešavanja ekrana
++GenericName[sv]=Editor för skärminställning
++GenericName[xx]=xxScreen Configuration Editorxx
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/displayconfig.py kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py
+--- kde-guidance-0.8.0/displayconfig/displayconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -35,7 +35,7 @@
+ from execwithcapture import *
+ 
+ programname = "Display and Graphics Configuration"
+-version = "0.7.1"
++version = "0.8.0"
+ DUAL_PREVIEW_SIZE = 240
+ 
+ # Are we running as a separate standalone application or in KControl?
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/driver-options.txt kde-guidance-0.8.0svn20080103/displayconfig/driver-options.txt
+--- kde-guidance-0.8.0/displayconfig/driver-options.txt	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/displayconfig/driver-options.txt	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,1054 @@
++Driver options:
++===================
++
++This document contains driver specific options for Xorg and XFree86 and what 
++effect they are meant to have. These options are only valid in conjuntion with 
++the specified driver and generally have no meaning / effect when used with 
++other graphics drivers.
++
++o fbdev
++o fglrx (binary ATi driver)
++o i740
++o i810
++o mga
++o nv
++o nvidia
++o radeon
++o sis
++o vesa
++
++Driver fbdev:
++--------------
++(source: man fbdev)
++
++       Option "fbdev" "string"
++              The framebuffer device to use. Default: /dev/fb0.
++
++       Option "ShadowFB" "boolean"
++              Enable or disable use of the shadow framebuffer layer.  Default:  on.
++
++       Option "Rotate" "string"
++              Enable rotation of the display. The supported values are "CW" (clock‐
++              wise, 90 degrees), "UD" (upside down, 180 degrees) and "CCW" (counter
++              clockwise, 270 degrees). Implies use of the shadow framebuffer layer.
++              Default: off.
++
++
++Driver fglrx (ATi binary driver):
++----------------------------------
++
++Section "Device"
++    Identifier                          "Radeon 9600XT - fglrx"
++    Driver                              "fglrx"
++# ### generic DRI settings ###
++# === disable PnP Monitor  ===
++    #Option                              "NoDDC"
++# === disable/enable XAA/DRI ===
++    Option "no_accel"                   "no"
++    Option "no_dri"                     "no"
++# === misc DRI settings ===
++    Option "mtrr"                       "off" # disable DRI mtrr mapper, driver has its own code for mtrr
++# ### FireGL DDX driver module specific settings ###
++# === Screen Management ===
++    Option "DesktopSetup"               "0x00000000" 
++    Option "MonitorLayout"              "AUTO, AUTO"
++    Option "IgnoreEDID"                 "off"
++    Option "HSync2"                     "" 
++    Option "VRefresh2"                  "" 
++    Option "ScreenOverlap"              "0" 
++# === TV-out Management ===
++    Option "NoTV"                       "yes"     
++    Option "TVStandard"                 "NTSC-M"     
++    Option "TVHSizeAdj"                 "0"     
++    Option "TVVSizeAdj"                 "0"     
++    Option "TVHPosAdj"                  "0"     
++    Option "TVVPosAdj"                  "0"     
++    Option "TVHStartAdj"                "0"     
++    Option "TVColorAdj"                 "0"     
++    Option "GammaCorrectionI"           "0x00000000"
++    Option "GammaCorrectionII"          "0x00000000"
++# === OpenGL specific profiles/settings ===
++    Option "Capabilities"               "0x00000000"
++# === Video Overlay for the Xv extension ===
++    Option "VideoOverlay"               "on"
++# === OpenGL Overlay ===
++# Note: When OpenGL Overlay is enabled, Video Overlay
++#       will be disabled automatically
++    Option "OpenGLOverlay"              "off"
++# === Center Mode (Laptops only) ===
++    Option "CenterMode"                 "off"
++# === Pseudo Color Visuals (8-bit visuals) ===
++    Option "PseudoColorVisuals"         "off"
++# === QBS Management ===
++    Option "Stereo"                     "off"
++    Option "StereoSyncEnable"           "1"
++# === FSAA Management ===
++    Option "FSAAEnable"                 "yes"
++    Option "FSAAScale"                  "4"
++    Option "FSAADisableGamma"           "no"
++    Option "FSAACustomizeMSPos"         "no"
++    Option "FSAAMSPosX0"                "0.000000"
++    Option "FSAAMSPosY0"                "0.000000"
++    Option "FSAAMSPosX1"                "0.000000"
++    Option "FSAAMSPosY1"                "0.000000"
++    Option "FSAAMSPosX2"                "0.000000"
++    Option "FSAAMSPosY2"                "0.000000"
++    Option "FSAAMSPosX3"                "0.000000"
++    Option "FSAAMSPosY3"                "0.000000"
++    Option "FSAAMSPosX4"                "0.000000"
++    Option "FSAAMSPosY4"                "0.000000"
++    Option "FSAAMSPosX5"                "0.000000"
++    Option "FSAAMSPosY5"                "0.000000"
++# === Misc Options ===
++    Option "UseFastTLS"                 "0"
++    Option "BlockSignalsOnLock"         "on"
++    Option "UseInternalAGPGART"         "yes"
++    Option "ForceGenericCPU"            "no"
++    BusID "PCI:1:0:0"    # vendor=1002, device=4152
++    Screen 0
++EndSection
++
++Driver i740:
++-------------
++(No info yet)
++
++
++Driver i810:
++-------------
++
++       Option "NoAccel" "boolean"
++              Disable or enable acceleration.  Default: acceleration is enabled.
++
++       Option "SWCursor" "boolean"
++              Disable  or enable software cursor.  Default: software cursor is dis‐
++              able and a hardware cursor  is  used  for  configurations  where  the
++              hardware cursor is available.
++
++       Option "ColorKey" "integer"
++              This  sets  the  default  pixel  value for the YUV video overlay key.
++              Default: undefined.
++
++       Option "CacheLines" "integer"
++              This allows the user to change the amount of graphics memory used for
++              2D acceleration and video.  Decreasing this amount leaves more for 3D
++              textures.  Increasing it can improve 2D performance at the expense of
++              3D  performance.   Default:  depends  on  the  resolution, depth, and
++              available video memory.  The driver attempts  to  allocate  at  least
++              enough  to  hold  two  DVD-sized YUV buffers by default.  The default
++              used for a specific configuration can be found by examining the  Xorg
++              log file.
++
++       Option "DRI" "boolean"
++              Disable  or enable DRI support.  Default: DRI is enabled for configu‐
++              rations where it is supported.
++
++       The following driver Options are supported for the i810 and i815 chipsets:
++
++       Option "DDC" "boolean"
++              Disable or enable DDC support.  Default: enabled.
++
++       Option "Dac6Bit" "boolean"
++              Enable or disable 6-bits per RGB for 8-bit  modes.   Default:  8-bits
++              per RGB for 8-bit modes.
++
++       Option "XvMCSurfaces" "integer"
++              This option enables XvMC.  The integer parameter specifies the number
++              of surfaces to use.  Valid values are 6 and 7.  Default: XvMC is dis‐
++              abled.
++
++       The following driver Options are supported for the 830M and later chipsets:
++
++       Option "VBERestore" "boolean"
++              Enable  or disable the use of VBE save/restore for saving and restor‐
++              ing the initial text mode.  This is disabled by  default  because  it
++              causes  lockups  on  some  platforms.   However, there are some cases
++              where it must enabled for the  correct  restoration  of  the  initial
++              video mode.  If you are having a problem with that, try enabling this
++              option.  Default: Disabled.
++
++       Option "VideoKey" "integer"
++              This is the same as the "ColorKey" option  described  above.   It  is
++              provided for compatibility with most other drivers.
++
++       Option "XVideo" "boolean"
++              Disable  or  enable  XVideo  support.  Default: XVideo is enabled for
++              configurations where it is supported.
++
++       Option "MonitorLayout" "anystr"
++              Allow different monitor configurations. e.g. "CRT,LFP" will configure
++              a  CRT  on  Pipe  A  and  an LFP on Pipe B. Regardless of the primary
++              heads’ pipe it is always configured as "<PIPEA>,<PIPEB>".   Addition‐
++              ally you can add different configurations such as "CRT+DFP,LFP" which
++              would put a digital flat panel and a CRT on pipe A, and a local  flat
++              panel on pipe B.  For single pipe configurations you can just specify
++              the monitors types on Pipe A, such as "CRT+DFP" which will enable the
++              CRT  and  DFP on Pipe A.  Valid monitors are CRT, LFP, DFP, TV, CRT2,
++              LFP2, DFP2, TV2 and NONE.  NOTE: Some configurations of monitor types
++              may  fail,  this  depends on the Video BIOS and system configuration.
++              Default: Not configured, and will use the  current  head’s  pipe  and
++              monitor.
++
++       Option "Clone" "boolean"
++              Enable  Clone  mode  on  pipe B. This will setup the second head as a
++              complete mirror of the monitor attached to pipe A.  NOTE: Video over‐
++              lay  functions will not work on the second head in this mode.  If you
++              require this, then use the MonitorLayout above and do (as an example)
++              "CRT+DFP,NONE"  to  configure both a CRT and DFP on Pipe A to achieve
++              local mirroring and disable the use of this option.   Default:  Clone
++              mode on pipe B is disabled.
++
++       Option "CloneRefresh" "integer"
++              When the Clone option is specified we can drive the second monitor at
++              a different refresh rate than the primary.  Default: 60Hz.
++
++       Option "CheckLid" "boolean"
++              On mobile platforms it’s desirable to  monitor  the  lid  status  and
++              switch  the  outputs accordingly when the lid is opened or closed. By
++              default this option is on, but may incur  a  very  minor  performance
++              penalty  as  we need to poll a register on the card to check for this
++              activity. It can be turned off using this  option.  This  only  works
++              with the 830M, 852GM and 855GM systems.  Default: enabled.
++
++       Option "FlipPrimary" "boolean"
++              When  using  a  dual  pipe system, it may be preferable to switch the
++              primary screen to the alternate pipe to display on the other  monitor
++              connection.   NOTE:  Using  this  option  may  cause  text mode to be
++              restored incorrectly, and thus should be used with caution.  Default:
++              disabled.
++
++       Option "DisplayInfo" "boolean"
++              It  has  been  found  that a certain BIOS call can lockup the Xserver
++              because of a problem in the Video BIOS. The log file will identify if
++              you  are suffering from this problem and tell you to turn this option
++              off.  Default: enabled
++
++       Option "DevicePresence" "boolean"
++              Tell the driver to perform an active detect  of  the  currently  con‐
++              nected  monitors.  This  option is useful if the monitor was not con‐
++              nected when the machine has  booted,  but  unfortunately  it  doesn’t
++              always work and is extremely dependent upon the Video BIOS.  Default:
++              disabled
++
++
++Driver mga:
++------------
++
++       Option "ColorKey" "integer"
++              Set  the colormap index used for the transparency key for the depth 8
++              plane when operating in 8+24 overlay mode.  The value must be in  the
++              range 2-255.  Default: 255.
++
++       Option "HWCursor" "boolean"
++              Enable or disable the HW cursor.  Default: on.
++
++       Option "MGASDRAM" "boolean"
++              Specify  whether  G100,  G200  or  G400 cards have SDRAM.  The driver
++              attempts to auto-detect this based on the card’s  PCI  subsystem  ID.
++              This  option  may  be  used to override that auto-detection.  The mga
++              driver is not able to auto-detect the presence of of  SDRAM  on  sec‐
++              ondary  heads  in  multihead configurations so this option will often
++              need  to  be  specified  in   multihead   configurations.    Default:
++              auto-detected.
++
++       Option "NoAccel" "boolean"
++              Disable or enable acceleration.  Default: acceleration is enabled.
++
++       Option "NoHal" "boolean"
++              Disable  or enable loading the "mga_hal" module.  Default: the module
++              is loaded when available and when using hardware that it supports.
++
++       Option "OverclockMem"
++              Set clocks to values used by some commercial X  Servers  (G100,  G200
++              and G400 only).  Default: off.
++
++       Option "Overlay" "value"
++              Enable 8+24 overlay mode.  Only appropriate for depth 24.  Recognized
++              values are: "8,24", "24,8". Default: off.  (Note: the G100  is  unac‐
++              celerated  in  the  8+24  overlay mode due to a missing hardware fea‐
++              ture.)
++
++       Option "PciRetry" "boolean"
++              Enable or disable PCI retries.  Default: off.
++
++       Option "Rotate" "CW"
++
++       Option "Rotate" "CCW"
++              Rotate the display clockwise or counterclockwise.  This mode is unac‐
++              celerated.  Default: no rotation.
++
++       Option "ShadowFB" "boolean"
++              Enable or disable use of the shadow framebuffer layer.  Default: off.
++
++       Option "SyncOnGreen" "boolean"
++              Enable or disable combining the sync signals with the  green  signal.
++              Default: off.
++
++       Option "UseFBDev" "boolean"
++              Enable or disable use of on OS-specific fb interface (and is not sup‐
++              ported  on  all  OSs).   See  fbdevhw(4x)  for  further  information.
++              Default: off.
++
++       Option "VideoKey" "integer"
++              This  sets  the  default  pixel  value for the YUV video overlay key.
++              Default: undefined.
++
++       Option "TexturedVideo" "boolean"
++              This has XvImage support use the texture engine rather than the video
++              overlay.   This option is only supported by G200 and later chips, and
++              only at 16 and 32 bits per pixel.  Default: off.
++
++
++Driver nv:
++-----------
++(source: man nv)
++       Option "HWCursor" "boolean"
++              Enable or disable the HW cursor.  Default: on.
++
++       Option "NoAccel" "boolean"
++              Disable or enable acceleration.  Default: acceleration is enabled.
++
++       Option "UseFBDev" "boolean"
++              Enable or disable use of on OS-specific fb interface (and is not sup-
++              ported  on  all  OSs).   See  fbdevhw(4x)  for  further  information.
++              Default: off.
++
++       Option "CrtcNumber" "integer"
++              GeForce2 MX, nForce2, Quadro4, GeForce4, Quadro FX and GeForce FX may
++              have  two video outputs.  The driver attempts to autodetect which one
++              the monitor is connected to.  In the case  that  autodetection  picks
++              the wrong one, this option may be used to force usage of a particular
++              output.  The options are "0" or "1".  Default: autodetected.
++
++       Option "FlatPanel" "boolean"
++              The driver usually can autodetect the  presence  of  a  digital  flat
++              panel.  In the case that this fails, this option can be used to force
++              the driver to treat the attached device  as  a  digital  flat  panel.
++              With  this  driver,  a  digital  flat  panel will only work if it was
++              POSTed by the BIOS, that is, the machine  must  have  booted  to  the
++              panel.   If  you  have  a dual head card you may also need to set the
++              option CrtcNumber described above.  Default: off.
++
++       Option "FPDither" "boolean"
++              Many digital flat panels (particularly ones on laptops) have  only  6
++              bits per component color resolution.  This option tells the driver to
++              dither from 8 bits per component to 6 before the flat panel truncates
++              it.  This  is  only  supported  in  depth 24 on GeForce2 MX, nForce2,
++              GeForce4, Quadro4, Geforce FX and Quadro FX.  Default: off.
++
++       Option "FPScale" "boolean"
++              Supported only on GeForce4, Quadro4, Geforce FX and Quadro FX.   This
++              option  tells to the driver to scale lower resolutions up to the flat
++              panel's native resolution.  Default: on.
++
++       Option "Rotate" "CW"
++
++       Option "Rotate" "CCW"
++              Rotate the display clockwise or counterclockwise.  This mode is unac-
++              celerated.  Default: no rotation.
++
++              Note:  The Resize and Rotate extension will be disabled if the Rotate
++              option is used.
++
++       Option "ShadowFB" "boolean"
++              Enable or disable use of the shadow framebuffer layer.  Default: off.
++
++
++
++Driver nvidia.ko (binary driver):
++----------------------------------
++(source: ftp://download.nvidia.com/XFree86/Linux-x86/1.0-7174/README.txt)
++
++        Option "NvAGP" "integer"
++                Configure AGP support. Integer argument can be one of:
++                0 : disable agp 
++                1 : use NVIDIA's internal AGP support, if possible 
++                2 : use AGPGART, if possible 
++                3 : use any agp support (try AGPGART, then NVIDIA's AGP) 
++                Please note that NVIDIA's internal AGP support cannot
++                work if AGPGART is either statically compiled into your
++                kernel or is built as a module, but loaded into your
++                kernel (some distributions load AGPGART into the kernel
++                at boot up).  Default: 3 (the default was 1 until after
++                1.0-1251).
++
++        Option "NoLogo" "boolean"
++                Disable drawing of the NVIDIA logo splash screen at
++                X startup.  Default: the logo is drawn.
++
++        Option "RenderAccel" "boolean"
++                Enable or disable hardware acceleration of the RENDER
++                extension.  THIS OPTION IS EXPERIMENTAL.  ENABLE IT AT YOUR
++                OWN RISK.  There is no correctness test suite for the
++                RENDER extension so NVIDIA can not verify that RENDER
++                acceleration works correctly.   Default: hardware 
++                acceleration of the RENDER extension is disabled.
++
++        Option "NoRenderExtension" "boolean"
++                Disable the RENDER extension.  Other than recompiling
++                the X-server, XFree86 does not seem to have another way of
++                disabling this.  Fortunatly, we can control this from the
++                driver so we export this option.  This is useful in depth
++                8 where RENDER would normally steal most of the default
++                colormap. Default: RENDER is offered when possible.
++
++        Option "UBB" "boolean"
++                Enable or disable Unified Back Buffer on any Quadro
++                based GPUs (Quadro4 NVS excluded); please see
++                Appendix M for a description of UBB.  This option has
++                no affect on non-Quadro chipsets.  Default: UBB is on
++                for Quadro chipsets.
++
++        Option "NoFlip" "boolean"
++                Disable OpenGL flipping; please see Appendix M for
++                a description.  Default: OpenGL will swap by flipping
++                when possible.
++
++        Option "DigitalVibrance" "integer"
++                Enables Digital Vibrance Control.  The range of valid
++                values are 0 through 255.  This feature is not available
++                on products older than GeForce2.  Default: 0.
++
++        Option "Dac8Bit" "boolean"
++                Most Quadro parts by default use a 10 bit color look
++                up table (LUT) by default; setting this option to TRUE forces
++                these graphics chips to use an 8 bit (LUT).  Default:
++                a 10 bit LUT is used, when available.
++
++        Option "Overlay" "boolean"
++                Enables RGB workstation overlay visuals.  This is only
++                supported on Quadro4 and Quadro FX chips (Quadro4 NVS
++                excluded) in depth 24.  This option causes the server to
++                advertise the SERVER_OVERLAY_VISUALS root window property
++                and GLX will report single and double buffered, Z-buffered
++                16 bit overlay visuals.  The transparency key is pixel
++                0x0000 (hex).  There is no gamma correction support in
++                the overlay plane.  This feature requires XFree86 version
++                4.1.0 or newer (or the Xorg X server).  NV17/18 based
++                Quadros (ie. 500/550 XGL) have additional restrictions,
++                namely, overlays are not supported in TwinView mode
++                or with virtual desktops larger than 2046x2047 in any
++                dimension (eg.  it will not work in 2048x1536 modes).
++                Quadro 7xx/9xx and Quadro FX will offer overlay visuals
++                in these modes (TwinView, or virtual desktops larger
++                than 2046x2047), but the overlay will be emulated with
++                a substantial performance penalty.  RGB workstation
++                overlays are not supported when the Composite extension is
++                enabled.  Default: off.
++
++        Option "CIOverlay" "boolean"
++                Enables Color Index workstation overlay visuals with
++                identical restrictions to Option "Overlay" above.
++                The server will offer visuals both with and without a
++                transparency key.  These are depth 8 PseudoColor visuals.
++                Enabling Color Index overlays on X servers older than
++                XFree86 4.3 will force the RENDER extension to be disabled
++                due to bugs in the RENDER extension in older X servers.
++                Color Index workstation overlays are not supported when the
++                Composite extension is enabled.  Default: off.
++
++        Option "TransparentIndex" "integer"
++                When color index overlays are enabled, use this option
++                to choose which pixel is used for the transparent pixel
++                in visuals featuring transparent pixels.  This value
++                is clamped between 0 and 255 (Note: some applications
++                such as Alias's Maya require this to be zero
++                in order to work correctly).  Default: 0.
++
++        Option "OverlayDefaultVisual" "boolean"
++                When overlays are used, this option sets the default
++                visual to an overlay visual thereby putting the root
++                window in the overlay.  This option is not recommended
++                for RGB overlays.  Default: off.
++
++        Option "RandRRotation" "boolean"
++                Enable rotation support for the XRandR extension.  This
++                allows use of the XRandR X server extension for
++                configuring the screen orientation through rotation.
++                This feature is supported on GeForce2 or better hardware
++                using depth 24.  This requires an XOrg 6.8.1 or newer
++                X server.  This feature does not work with hardware overlays,
++                emulated overlays will be used instead at a substantial
++                performance penalty.  See APPENDIX W for details.
++                Default: off.
++
++        Option "SWCursor" "boolean"
++                Enable or disable software rendering of the X cursor.
++                Default: off.
++
++        Option "HWCursor" "boolean"
++                Enable or disable hardware rendering of the X cursor.
++                Default: on.
++
++        Option "CursorShadow" "boolean" Enable or disable use of a
++                shadow with the hardware accelerated cursor; this is a
++                black translucent replica of your cursor shape at a
++                given offset from the real cursor.  This option is
++                only available on GeForce2 or better hardware (ie
++                everything but TNT/TNT2, GeForce 256, GeForce DDR and
++                Quadro).  Default: no cursor shadow.
++
++        Option "CursorShadowAlpha" "integer"
++                The alpha value to use for the cursor shadow; only
++                applicable if CursorShadow is enabled.  This value must
++                be in the range [0, 255] -- 0 is completely transparent;
++                255 is completely opaque.  Default: 64.
++
++        Option "CursorShadowXOffset" "integer"
++                The offset, in pixels, that the shadow image will be
++                shifted to the right from the real cursor image; only
++                applicable if CursorShadow is enabled.  This value must
++                be in the range [0, 32].  Default: 4.
++
++        Option "CursorShadowYOffset" "integer"
++                The offset, in pixels, that the shadow image will be
++                shifted down from the real cursor image; only applicable
++                if CursorShadow is enabled.  This value must be in the
++                range [0, 32].  Default: 2.
++
++        Option "ConnectedMonitor" "string"
++                Allows you to override what the NVIDIA kernel module
++                detects is connected to your video card.  This may
++                be useful, for example, if you use a KVM (keyboard,
++                video, mouse) switch and you are switched away when
++                X is started.  In such a situation, the NVIDIA kernel
++                module cannot detect what display devices are connected,
++                and the NVIDIA X driver assumes you have a single CRT.
++
++                Valid values for this option are "CRT" (cathode ray
++                tube), "DFP" (digital flat panel), or "TV" (television);
++                if using TwinView, this option may be a comma-separated
++                list of display devices; e.g.: "CRT, CRT" or "CRT, DFP".
++
++                NOTE: anything attached to a 15 pin VGA connector is
++                regarded by the driver as a CRT.  "DFP" should only be
++                used to refer to flatpanels connected via a DVI port.
++
++                Default: string is NULL.
++
++        Option "UseEdidFreqs" "boolean"
++                This option causes the X server to use the HorizSync
++                and VertRefresh ranges given in a display device's EDID,
++                if any.  EDID provided range information will override
++                the HorizSync and VertRefresh ranges specified in the
++                Monitor section.  If a display device does not provide an
++                EDID, or the EDID does not specify an hsync or vrefresh
++                range, then the X server will default to the HorizSync
++                and VertRefresh ranges specified in the Monitor section.
++
++        Option "IgnoreEDID" "boolean"
++                Disable probing of EDID (Extended Display Identification
++                Data) from your monitor.  Requested modes are compared
++                against values gotten from your monitor EDIDs (if any)
++                during mode validation.  Some monitors are known to lie
++                about their own capabilities.  Ignoring the values that
++                the monitor gives may help get a certain mode validated.
++                On the other hand, this may be dangerous if you do not
++                know what you are doing.  Default: Use EDIDs.
++
++        Option "NoDDC" "boolean"
++                Synonym for "IgnoreEDID"
++
++        Option "FlatPanelProperties" "string"
++                Requests particular properties of any connected flat
++                panels as a comma-separated list of property=value pairs.
++                Currently, the only two available properties are 'Scaling'
++                and 'Dithering'.   The possible values for 'Scaling' are:
++                'default' (the driver will use whatever scaling state
++                is current), 'native' (the driver will use the flat
++                panel's scaler, if it has one), 'scaled' (the driver
++                will use the NVIDIA scaler, if possible), 'centered'
++                (the driver will center the image, if possible),
++                and 'aspect-scaled' (the driver will scale with the
++                NVIDIA scaler, but keep the aspect ratio correct).
++                The possible values for 'Dithering' are: 'default'
++                (the driver will decide when to dither), 'enabled' (the
++                driver will always dither when possible), and 'disabled'
++                (the driver will never dither).  If any property is not
++                specified, it's value shall be 'default'.  An example
++                properties string might look like:
++
++                "Scaling = centered, Dithering = enabled"
++
++        Option "UseInt10Module" "boolean"
++                Enable use of the X Int10 module to soft-boot all
++                secondary cards, rather than POSTing the cards through
++                the NVIDIA kernel module.  Default: off (POSTing is done
++                through the NVIDIA kernel module).
++
++        Option "TwinView" "boolean"
++                Enable or disable TwinView.  Please see APPENDIX I for
++                details. Default: TwinView is disabled.
++
++        Option "TwinViewOrientation" "string"
++                Controls the relationship between the two display devices
++                when using TwinView.  Takes one of the following values:
++                "RightOf" "LeftOf" "Above" "Below" "Clone".  Please see
++                APPENDIX I for details. Default: string is NULL.
++
++        Option "SecondMonitorHorizSync" "range(s)"
++                This option is like the HorizSync entry in the Monitor
++                section, but is for the second monitor when using
++                TwinView.  Please see APPENDIX I for details. Default:
++                none.
++
++        Option "SecondMonitorVertRefresh" "range(s)"
++                This option is like the VertRefresh entry in the Monitor
++                section, but is for the second monitor when using
++                TwinView.  Please see APPENDIX I for details. Default:
++                none.
++
++        Option "MetaModes" "string"
++                This option describes the combination of modes to use
++                on each monitor when using TwinView. Please see APPENDIX
++                I for details. Default: string is NULL.
++
++        Option "NoTwinViewXineramaInfo" "boolean"
++                When in TwinView, the NVIDIA X driver normally provides
++                a Xinerama extension that X clients (such as window
++                managers) can use to to discover the current TwinView
++                configuration.  Some window mangers can get confused by
++                this information, so this option is provided to disable
++                this behavior.  Default: TwinView Xinerama information
++                is provided.
++
++        Option "TVStandard" "string"
++                Please see (app-j)  APPENDIX J: CONFIGURING TV-OUT.
++
++        Option "TVOutFormat" "string"
++                Please see (app-j)  APPENDIX J: CONFIGURING TV-OUT.
++
++        Option "TVOverScan" "Decimal value in the range 0.0 to 1.0"
++                Valid values are in the range 0.0 through 1.0; please see
++                (app-j)  APPENDIX J: CONFIGURING TV-OUT.
++
++        Option "Stereo" "integer"
++                Enable offering of quad-buffered stereo visuals on Quadro.
++                Integer indicates the type of stereo glasses being used:
++ 
++                1 - DDC glasses.  The sync signal is sent to the glasses
++                    via the DDC signal to the monitor.  These usually
++                    involve a passthrough cable between the monitor and
++                    video card.
++
++                2 - "Blueline" glasses.  These usually involve
++                    a passthrough cable between the monitor and video
++                    card.  The glasses know which eye to display based
++                    on the length of a blue line visible at the bottom
++                    of the screen.  When in this mode, the root window
++                    dimensions are one pixel shorter in the Y dimension
++                    than requested.  This mode does not work with virtual
++                    root window sizes larger than the visible root window
++                    size (desktop panning).
++
++                3 - Onboard stereo support.  This is usually only found
++                    on professional cards.  The glasses connect via a
++                    DIN connector on the back of the video card.
++
++                4 - TwinView clone mode stereo (aka "passive" stereo).
++                    On video cards that support TwinView, the left eye
++                    is displayed on the first display, and the right
++                    eye is displayed on the second display.  This is
++                    normally used in conjuction with special projectors
++                    to produce 2 polarized images which are then viewed
++                    with polarized glasses.  To use this stereo mode,
++                    you must also configure TwinView in clone mode with
++                    the same resolution, panning offset, and panning
++                    domains on each display.
++
++                Stereo is only available on Quadro cards.  Stereo
++                options 1, 2, and 3 (aka "active" stereo) may be used
++                with TwinView if all modes within each metamode have
++                identical timing values.  Please see (app-l)  APPENDIX
++                L: PROGRAMMING MODES for suggestions on making sure the
++                modes within your metamodes are identical.  The identical
++                modeline requirement is not necessary for Stereo option 4
++                ("passive" stereo).  Currently, stereo operation may
++                be "quirky" on the original Quadro (NV10) chip and
++                left-right flipping may be erratic.  We are trying
++                to resolve this issue for a future release.  Default:
++                Stereo is not enabled.
++
++                Stereo options 1, 2, and 3 (aka "active" stereo) are not
++                supported on Digital Flatpanels.
++
++        Option "AllowDFPStereo" "boolean"
++                By default, the NVIDIA X driver performs a check which
++                disables active stereo (stereo options 1, 2, and 3)
++                if the X screen is driving a DFP.  The "AllowDFPStereo"
++                option bypasses this check.
++
++        Option "NoBandWidthTest" "boolean"
++                As part of mode validation, the X driver tests if a
++                given mode fits within the hardware's memory bandwidth
++                constraints.  This option disables this test.  Default:
++                the memory bandwidth test is performed.
++
++        Option "IgnoreDisplayDevices" "string"
++                This option tells the NVIDIA kernel module to completely
++                ignore the indicated classes of display devices when
++                checking what display devices are connected.  You may
++                specify a comma-separated list containing any of "CRT",
++                "DFP", and "TV".
++
++                For example:
++
++                    Option "IgnoreDisplayDevices" "DFP, TV"
++
++                will cause the NVIDIA driver to not attempt to detect
++                if any flatpanels or TVs are connected.
++
++                This option is not normally necessary; however, some video
++                BIOSes contain incorrect information about what display
++                devices may be connected, or what i2c port should be
++                used for detection.  These errors can cause long delays
++                in starting X.  If you are experiencing such delays, you
++                may be able to avoid this by telling the NVIDIA driver to
++                ignore display devices which you know are not connected.
++
++                NOTE: anything attached to a 15 pin VGA connector is
++                regarded by the driver as a CRT.  "DFP" should only be
++                used to refer to flatpanels connected via a DVI port.
++
++        Option "MultisampleCompatibility" "boolean"
++                Enable or disable the use of separate front and back
++                multisample buffers.  This will consume more memory
++                but is necessary for correct output when rendering to
++                both the front and back buffers of a multisample or
++                FSAA drawable.  This option is necessary for correct
++                operation of SoftImage XSI.  Default: a singlemultisample
++                buffer is shared between the front and back buffers.
++
++        Option "NoPowerConnectorCheck" "boolean"
++                The NVIDIA X driver will abort X server initialization
++                if it detects that a GPU that requires an external power
++                connector does not have an external power connector
++                plugged in.  This option can be used to bypass this test.
++                Default: the power connector test is performed.
++
++        Option "XvmcUsesTextures" "boolean"
++                Forces XvMC to use the 3D engine for XvMCPutSurface
++                requests rather than the video overlay.  Default: video
++                overlay is used when available.
++
++        Option "AllowGLXWithComposite" "boolean"
++                Enables GLX even when the Composite X extension is loaded.
++                ENABLE AT YOUR OWN RISK.  OpenGL applications will not
++                display correctly in many circumstances with this setting
++                enabled.  Default: GLX is disabled when Composite is
++                loaded.
++
++        Option "ExactModeTimingsDVI" "boolean"
++                Forces the initialization of the X server with the exact 
++                timings specified in the ModeLine. Default: For DVI 
++                devices, the X server inilializes with the closest mode in 
++                the EDID list.
++
++
++Driver radeon:
++---------------
++(source: manpage radeon)
++
++       Option "SWcursor" "boolean"
++              Selects software cursor.  The default is off.
++
++       Option "NoAccel" "boolean"
++              Enables or disables all hardware acceleration.
++              The default is to enable hardware acceleration.
++
++       Option "Dac6Bit" "boolean"
++              Enables  or  disables the use of 6 bits per color component when in 8
++              bpp mode (emulates VGA mode).  By default, all 8 bits per color  com-
++              ponent are used.
++              The default is off.
++
++       Option "VideoKey" "integer"
++              This overrides the default pixel value for the YUV video overlay key.
++              The default value is 0x1E.
++
++       Option "UseFBDev" "boolean"
++              Enable or disable use of an OS-specific framebuffer device  interface
++              (which  is  not  supported  on all OSs).  MergedFB does not work when
++              this option is in use.  See fbdevhw(4x) for further information.
++              The default is off.
++
++       Option "AGPMode" "integer"
++              Set AGP data transfer rate.  (used only when DRI is enabled)
++              1      -- x1 (default)
++              2      -- x2
++              4      -- x4
++              others -- invalid
++
++       Option "AGPFastWrite" "boolean"
++              Enable AGP fast write.
++              (used only when DRI is enabled)
++              The default is off.
++
++       Option "BusType" "string"
++              Used to replace previous ForcePCIMode option.  Should  only  be  used
++              when  driver’s  bus detection is incorrect or you want to force a AGP
++              card to PCI mode. Should NEVER force a PCI card to AGP bus.
++              PCI    -- PCI bus
++              AGP    -- AGP bus
++              PCIE   -- PCI Express (falls back to PCI at present)
++              (used only when DRI is enabled)
++              The default is auto detect.
++
++       Option "DDCMode" "boolean"
++              Force to use the modes queried from the connected monitor.
++              The default is off.
++
++       Option "DisplayPriority" "string"
++              Used to prevent flickering  or  tearing  problem  caused  by  display
++              buffer underflow.
++              AUTO   -- Driver calculated (default).
++              BIOS   -- Remain unchanged from BIOS setting.
++                        Use this if the calculation is not correct
++                        for your card.
++              HIGH   -- Force to the highest priority.
++                        Use this if you have problem with above options.
++                        This may affect performence slightly.
++              The default value is AUTO.
++
++       Option "MonitorLayout" "string"
++              This option is used to overwrite the detected monitor types.  This is
++              only required when driver makes a false detection.  The possible mon-
++              itor types are:
++              NONE   -- Not connected
++              CRT    -- Analog CRT monitor
++              TMDS   -- Desktop flat panel
++              LVDS   -- Laptop flat panel
++              This option can be used in following format:
++              Option "MonitorLayout" "[type on primary], [type on secondary]"
++              For example, Option "MonitorLayout" "CRT, TMDS"
++
++              Primary/Secondary head for dual-head cards:
++              (when  only  one  port  is  used,  it  will be treated as the primary
++              regardless)
++              Primary head:
++              DVI port on DVI+VGA cards
++              LCD output on laptops
++              Internal TMDS port on DVI+DVI cards
++              Secondary head:
++              VGA port on DVI+VGA cards
++              VGA port on laptops
++              External TMDS port on DVI+DVI cards
++
++              The default value is undefined.
++
++       Option "MergedFB" "boolean"
++              This enables merged framebuffer mode.  In this mode you have a single
++              shared framebuffer with two viewports looking into it.  It is similar
++              to Xinerama, but has some advantages.  It is  faster  than  Xinerama,
++              the DRI works on both heads, and it supports clone modes.
++              Merged  framebuffer mode provides two linked viewports looking into a
++              single large shared framebuffer.  The  size  of  the  framebuffer  is
++              determined  by  the  Virtual keyword defined on the Screen section of
++              your XF86Config file.  It works just  like  regular  virtual  desktop
++              except you have two viewports looking into it instead of one.
++              For  example,  if you wanted a desktop composed of two 1024x768 view-
++              ports looking into a single desktop you would create a virtual  desk-
++              top of 2048x768 (left/right) or 1024x1536 (above/below), e.g.,
++              Virtual 2048 768 or Virtual 1024 1536
++              The  virtual  desktop  can be larger than larger than the size of the
++              viewports looking into it.  In this case the  linked  viewports  will
++              scroll around in the virtual desktop.  Viewports with different sizes
++              are also supported (e.g., one  that  is  1024x768  and  one  that  is
++              640x480).   In this case the smaller viewport will scroll relative to
++              the larger one such that none of the virtual desktop is inaccessable.
++              If  you  do  not  define a virtual desktop the driver will create one
++              based on the orientation of the heads and size of the largest defined
++              mode in the display section that is supported on each head.
++              The  relation  of  the  viewports  in  specified  by the CRT2Position
++              Option.  The options are Clone , LeftOf  ,  RightOf  ,  Above  ,  and
++              Below.   MergedFB  is  enabled by default if a monitor is detected on
++              each output.  If no position is given it defaults to clone mode  (the
++              old clone options are now deprecated, also, the option OverlayOnCRTC2
++              has been replaced by the Xv attribute XV_SWITCHCRT; the  overlay  can
++              be switched to CRT1 or CRT2 on the fly in clone mode).
++              The maximum framebuffer size that the 2D acceleration engine can han-
++              dle is 8192x8192.  The maximum framebuffer size that  the  3D  engine
++              can handle is 2048x2048.
++              Note: Page flipping does not work well in certain configurations with
++              MergedFB.  If you see rendering errors  or  other  strange  behavior,
++              disable page flipping. Also MergedFB is not compatible with the UseF-
++              BDev option.
++              The default value is undefined.
++
++       Option "CRT2HSync" "string"
++              Set the horizontal sync range for the secondary  monitor.  It is  not
++              required if a DDC-capable monitor is connected.
++              For example, Option "CRT2HSync" "30.0-86.0"
++              The default value is undefined.
++
++       Option "CRT2VRefresh" "string"
++              Set  the vertical refresh range for the secondary monitor.  It is not
++              required if a DDC-capable monitor is connected.
++              For example, Option "CRT2VRefresh" "50.0-120.0"
++              The default value is undefined.
++
++       Option "CRT2Position" "string"
++              Set the relationship of CRT2 relative to  CRT1.  Valid  options  are:
++              Clone , LeftOf , RightOf , Above , and Below
++              For example, Option "CRT2Position" "RightOf"
++              The default value is Clone.
++
++       Option "MetaModes" "string"
++              MetaModes  are mode combinations for CRT1 and CRT2.  If you are using
++              merged frame buffer mode and want  to  change  modes  (CTRL-ALT-+/-),
++              these  define  which modes will be switched to on CRT1 and CRT2.  The
++              MetaModes are defined as CRT1Mode-CRT2Mode (800x600-1024x768).  Modes
++              listed  individually  (800x600)  define clone modes, that way you can
++              mix clone modes with non-clone modes.   Also  some  programs  require
++              "standard" modes.
++              Note:   Any  mode  you  use  in  the MetaModes must be defined in the
++              Screen section of your XF86Config file.  Modes not defined there will
++              be  ignored  when the MetaModes are parsed since the driver uses them
++              to make sure the monitors can handle those  modes.   If  you  do  not
++              define a MetaMode the driver will create one based on the orientation
++              of the heads and size of the largest defined mode in the display sec-
++              tion that is supported on each head.
++              Modes 1024x768 800x600 640x480
++              For  example,  Option "MetaModes" "1024x768-1024x768 800x600-1024x768
++              640x480-800x600 800x600"
++              The default value is undefined.
++
++       Option "OverlayOnCRTC2" "boolean"
++              Force hardware overlay to clone head.
++              The default value is off.
++
++       Option "NoMergedXinerama" "boolean"
++              Since merged framebuffer mode does not use  Xinerama,  apps  are  not
++              able  to  intelligently  place windows.  Merged framebuffer mode pro-
++              vides its own pseudo-Xinerama.  This allows Xinerama compliant appli-
++              cations  to  place  windows  appropriately.   There are some caveats.
++              Since merged framebuffer mode is able to change relative screen sizes
++              and  orientations  on  the  fly, as well has having overlapping view-
++              ports, pseudo-Xinerama, might not always  provide  the  right  hints.
++              Also many Xinerama compliant applications only query Xinerama once at
++              startup; if the information changes, they may not  be  aware  of  the
++              change.   If you are already using Xinerama (e.g., a single head card
++              and a dualhead card providing three heads), pseudo-Xinerama  will  be
++              disabled.
++              This  option  allows you turn off the driver provided pseudo-Xinerama
++              extension.
++              The default value is FALSE.
++
++       Option "MergedXineramaCRT2IsScreen0" "boolean"
++              By default the pseudo-Xinerama provided by the driver makes the left-
++              most or bottom head Xinerama screen 0.  Certain Xinerama-aware appli-
++              cations do special things with screen 0.  To  change  that  behavior,
++              use this option.
++              The default value is undefined.
++
++       Option "MergedDPI" "string"
++              The driver will attempt to figure out an appropriate DPI based on the
++              DDC information and the orientation  of  the  heads  when  in  merged
++              framebuffer  mode.  If this value does not suit you, you can manually
++              set the DPI using this option.
++              For example, Option "MergedDPI" "100 100"
++              The default value is undefined.
++
++       Option "IgnoreEDID" "boolean"
++              Do not use EDID data for mode validation, but DDC is still  used  for
++              monitor detection. This is different from NoDDC option.
++              The default value is off.
++
++       Option "PanelSize" "string"
++              Should only be used when driver cannot detect the correct panel size.
++              Apply to both desktop (TMDS) and laptop (LVDS) digital panels.   When
++              a  valid  panel size is specified, the timings collected from DDC and
++              BIOS will not be used. If you have a  panel  with  timings  different
++              from  that of a standard VESA mode, you have to provide this informa-
++              tion through the Modeline.
++              For example, Option "PanelSize" "1400x1050"
++              The default value is none.
++
++       Option "PanelOff" "boolean"
++              Disable panel output.
++              The default value is off.
++
++       Option "EnablePageFlip" "boolean"
++              Enable page flipping for 3D acceleration. This will increase  perfor-
++              mance but not work correctly in some rare cases, hence the default is
++              off.
++              Note: Page flipping does not work well in certain configurations with
++              MergedFB.   If  you  see  rendering errors or other strange behavior,
++              disable page flipping.
++
++       Option "ForceMinDotClock" "frequency"
++              Override minimum dot clock. Some Radeon BIOSes report a  minimum  dot
++              clock  unsuitable  (too  high) for use with television sets even when
++              they actually can produce lower dot clocks. If this is the  case  you
++              can  override the value here.  Note that using this option may damage
++              your hardware.  You have been warned. The frequency parameter may  be
++              specified  as  a  float value with standard suffixes like "k", "kHz",
++              "M", "MHz".
++
++       Option "RenderAccel" "boolean"
++              Enables or disables hardware Render acceleration.  This  driver  does
++              not  support  component  alpha (subpixel) rendering.  It is only sup-
++              ported on Radeon series up to and including 9200 (9500/9700 and newer
++              unsupported).  The default is to enable Render acceleration.
++
++       Option "SubPixelOrder" "string"
++              Force  subpixel order to specified order.  Subpixel order is used for
++              subpixel decimation on flat panels.
++              NONE   -- No subpixel (CRT like displays)
++              RGB    -- in horizontal RGB order (most flat panels)
++              BGR    -- in horizontal BGR order (some flat panels)
++
++              This option is intended to be used in following cases:
++              1. The default subpixel order is incorrect for your panel.
++              2. Enable subpixel decimation on analog panels.
++              3. Adjust to one display type in dual-head clone mode setup.
++              4. Get better performance with Render acceleration on digital  panels
++              (use NONE setting).
++              The default is NONE for CRT, RGB for digital panels
++
++       Option "DynamicClocks" "boolean"
++              Enable  dynamic clock scaling.  The on-chip clocks will scale dynami-
++              cally based on usage. This can help reduce heat and increase  battery
++              life  by  reducing power usage.  Some users report reduced 3D prefor-
++              mance with this enabled.  The default is off.
++
++
++
++Driver sis:
++------------
++
++       Option "NoAccel" "boolean"
++              Disable  or enable 2D acceleration. Default: acceleration is enabled.
++
++       Option "HWCursor" "boolean"
++              Enable or disable the HW cursor. Default: HWCursor is on.
++
++       Option "SWCursor" "boolean"
++              The opposite of HWCursor. Default: SWCursor is off.
++
++       Option "Rotate" "CW"
++              Rotate the display clockwise. This mode is  unaccelerated,  and  uses
++              the  Shadow Frame Buffer layer. Using this option disables the Resize
++              and Rotate extension (RandR).  Default: no rotation.
++
++       Option "Rotate" "CCW"
++              Rotate the display counterclockwise. This mode is unaccelerated,  and
++              uses  the  Shadow  Frame Buffer layer. Using this option disables the
++              Resize and Rotate extension (RandR).  Default: no rotation.
++
++       Option "ShadowFB" "boolean"
++              Enable or disable use of  the  shadow  framebuffer  layer.   Default:
++              Shadow framebuffer is off.
++
++       Option "CRT1Gamma" "boolean"
++              Enable or disable gamma correction.  Default: Gamma correction is on.
++
++
++
++Driver vesa:
++-------------
++(source: man vesa)
++
++       Option "ShadowFB" "boolean"
++              Enable or disable use of the shadow framebuffer layer.  Default:  on.
++              This option is recommended for performance reasons.
++
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/infimport.py kde-guidance-0.8.0svn20080103/displayconfig/infimport.py
+--- kde-guidance-0.8.0/displayconfig/infimport.py	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/displayconfig/infimport.py	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,297 @@
++#!/usr/bin/python
++#
++# Based on inf2mondb.py from RedHat
++#
++# originally by Matt Wilson <msw at redhat.com>
++# option parsing and database comparison by Fred New
++# ini parsing completely rewritten by Matt Domsch <Matt_Domsch at dell.com> 2006
++#
++# Copyright 2002 Red Hat, Inc.
++# Copyright 2006 Dell, Inc.
++# Copyright 2007 Sebastian Heinlein
++#
++# This software may be freely redistributed under the terms of the GNU
++# library public license.
++#
++# You should have received a copy of the GNU Library Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++"""
++Provides an importer for Microsoft Windows monitor descriptions
++
++The code can be used as a python module for or as a script to add new monitor
++definitions to a monitor database.
++
++In code example: Read the list of monitors from an inf file.
++
++import infimport
++monitors = infimport.get_monitors_from_inf(PATH)
++
++Script example: To check for monitors of an inf file that are not yet in the database.
++
++./infimport.py MONITORS.inf /usr/share/hwdata/MonitorsDB
++"""
++
++import sys
++import string
++import re
++import ConfigParser
++import os
++
++import logging
++
++logging.basicConfig()
++log = logging.getLogger("infimport")
++#log.setLevel(logging.DEBUG)
++log.setLevel(logging.INFO)
++
++# this is a class to deal with various file line endings and leading whitespace
++# converts all \r line endings to \n.
++# It also strips leading whitespace.
++# NOTE: be sure to always return _something_, even if it is just "\n", or we 
++# break the file API.  (nothing == eof)
++class myFile(object):
++    def __init__(self, *args):
++        self.fd = open(*args)
++
++    def close(self):
++        return self.fd.close()
++    
++    def readline(self, *args):
++        line = self.fd.readline(*args)
++        line = line.replace('\r', '\n')
++        line = line.replace('\n\n', '\n')
++        line = line.lstrip(" \t")
++        return line
++
++
++# we will use this to override default option parsing in ConfigParser to handle
++# Microsoft-style "INI" files. (Which do not necessarily have " = value " after
++# the option name
++OPTCRE = re.compile(
++        r'(?P<option>[^:=\s][^:=]*)'          # very permissive!
++        r'\s*(?P<vi>[:=]{0,1})\s*'            # any number of space/tab,
++                                              # optionally followed by
++                                              # separator (either : or =)
++                                              # optionally followed
++                                              # by any # space/tab
++        r'(?P<value>.*)$'                     # everything up to eol
++        )
++
++percentSplit = re.compile(r'%(?P<field>.*)%')
++def _percent_to_string(ini, strings, name):
++    mo = percentSplit.match(name)
++    if (mo):
++        field = mo.group('field')
++        try:
++            val = strings[field.lower()]
++        except KeyError:
++            return ""
++        return val.strip(" '\"")
++    return ""
++
++def get_monitors_from_database(path):
++    """Returns a dictonary of the found monitor models in the given 
++       monitor models database"""
++    monitors = {}
++    try:
++        mdb = open(path, 'r')
++    except IOError, (errno, str):
++        log.error("Unable to open %s: %s" % (path, str))
++        return {}
++    for line in mdb.readlines():
++        if len(line.strip()) == 0 or line.startswith('#'):
++            continue
++        line_split = line.split(";")
++        vendor = line_split[0].strip()
++        name = line_split[1].strip()
++        id = line_split[2].strip()
++        if monitors.has_key((vendor, name, id)):
++            log.warn("Duplicated entry: %s" % line)
++        else:
++            monitors[(vendor, name, id)] = line
++    mdb.close()
++    return monitors
++
++def get_monitors_from_inf(path):
++    """Returns a dictonary of the found monitor models in the given .inf file"""
++    monitors = {}
++    ini = ConfigParser.ConfigParser()
++    # FIXME: perhaps could be done in a nicer way, but __builtins__ is a dict
++    #        for imported modules
++    #ini.optionxform = __builtins__.str
++    ini.optionxform = type("")
++    ini.OPTCRE = OPTCRE
++    try:
++        f = myFile(path)
++        ini.readfp(f)
++        f.close()
++    except IOError, (errno, str):
++        log.error("Unable to open %s: %s" % (path, str))
++        sys.exit(1)
++
++    # a dictionary of manufacturers we're looking at
++    manufacturers = {}
++    # a big fat dictionary of strings to use later on.
++    strings = {}
++
++    # This RE is for EISA info lines
++    # %D5259A%=D5259A, Monitor\HWP0487
++    monitor1Re = re.compile(r'.*,.*Monitor\\(?P<id>[^\s]*)')
++    # This one is for legacy entries
++    # %3020%     =PB3020,   MonID_PB3020
++    monitor2Re = re.compile(r'.*,.*MonID_(?P<id>[^\s]*)')
++
++    for section in ini.sections():
++        if section.lower() == "manufacturer":
++            for mfr in ini.options(section):
++                # generate the vendor.arch funny entries
++                manufacturer_values = string.split(ini.get(section, mfr), 
++                                                       ',')
++                manufacturers[manufacturer_values[0]] = mfr
++                while len(manufacturer_values) > 1:
++                    manufacturers["%s.%s" % (manufacturer_values[0], 
++                                             manufacturer_values[-1])] = mfr
++                    manufacturer_values = manufacturer_values[0:-1]
++
++        elif section.lower() == "strings":
++            for key in ini.options(section):
++                strings[key.lower()] = string.strip(ini.get(section, key))
++
++    for mfr in manufacturers.keys():
++        if ini.has_section(mfr):
++            monitor_vendor_name = manufacturers[mfr]
++            for monitor_name in ini.options(mfr):
++                v = ini.get(mfr, monitor_name)
++                v = v.split(',')
++                install_key = v[0].strip()
++
++                line = ini.get(mfr, monitor_name)
++                # Find monitor inf IDs and EISA ids
++
++                edid = "0"
++                mo = monitor1Re.match(line)
++                if mo:
++                    edid = mo.group('id')
++                else:
++                    mo = monitor2Re.match(line)
++                    if mo:
++                        edid = mo.group('id').strip()
++
++                #if self.monitors.has_key(edid.lower()):
++                #   continue
++
++                if ini.has_section(install_key):
++                    line = ini.get(install_key, "AddReg")
++                    if line:
++                        sline = line.split(',')
++                        registry = sline[0]
++                        try:
++                            resolution = sline[1]
++                        except IndexError:
++                            resolution = ""
++                        try:
++                            dpms = sline[2]
++                        except IndexError:
++                            dpms = ""
++
++                        if ini.has_section(registry):
++                            for line in ini.options(registry):
++                                if string.find(line, 'HKR,"MODES') >= 0:
++                                    sline = line.split('"')
++                                    try:
++                                        syncline = sline[3]
++                                    except IndexError:
++                                        syncline = ","
++                                    syncline = syncline.split(',')
++                                    hsync = syncline[0].strip()
++                                    vsync = syncline[1].strip()
++
++                                    vendor_clear = _percent_to_string(ini,
++                                            strings, monitor_vendor_name)
++                                    monitor_clear = _percent_to_string(ini,
++                                            strings, monitor_name)
++
++                                    output = "%s; %s; %s; %s; %s" % \
++                                             (vendor_clear, monitor_clear,
++                                              edid, hsync, vsync)
++                                    if dpms.lower().strip() == "dpms":
++                                        output = output + "; 1"
++
++                                    if not monitors.has_key((vendor_clear,
++                                            monitor_clear, edid.lower())):
++                                        log.debug("added %s" % output)
++                                        monitors[(vendor_clear,
++                                                  monitor_clear,
++                                                  edid.lower())] = output
++                                    else:
++                                        log.warn("duplicated entry %s" % output)
++    return monitors
++
++def write_monitors_to_file(monitors, path):
++    """Writes monitors as a monitor models database"""
++    try:
++        if os.path.exists(path):
++            os.remove(path)
++        mdb = open(path, 'w')
++        mdb.writelines(map(lambda l: "%s\n" % l, monitors.values()))
++        mdb.close()
++    except IOError, (errno, str):
++        log.error("Unable to write %s: %s" % (path, str))
++        return False
++
++def append_monitors_to_file(monitors, path):
++    """Appends monitors to a monitor models database"""
++    try:
++        if os.path.exists(path):
++            os.remove(path)
++        mdb = open(path, 'a')
++        mdb.writelines(map(lambda l: "%s\n" % l, monitors.values()))
++        mdb.close()
++    except IOError, (errno, str):
++        log.error("Unable to write %s: %s" % (path, str))
++        return False
++
++if __name__ == "__main__":
++    from optparse import OptionParser
++    import sys
++
++    parser = OptionParser()
++    parser.add_option("-a", "--append",
++                      action="store_true", dest="append",
++                      help="Append new models to the database")
++    parser.add_option("-o", "--output",
++                      default=None,
++                      action="store", type="string", dest="output",
++                      help="Write changes to an alternative file")
++    parser.usage = "%prog [options] INF_FILE [MONITOR_DATABASE]"
++    (options, args) = parser.parse_args()
++
++    if len(args) == 2:
++        # continue with normal operation
++        pass
++    elif len(args) == 1:
++        # jsut print the monitors from the given inf file
++        monitors_inf = get_monitors_from_inf(args[0])
++        for mon in monitors_inf.values():
++            print "%s" % mon
++        sys.exit()
++    else:
++        parser.error("You have to specify an .inf file that contains the "
++                     "monitor models that you want to add and a "
++                     "monitor model database")
++
++    monitors_inf = get_monitors_from_inf(args[0])
++    monitors_db = get_monitors_from_database(args[1])
++
++    monitors_new = {}
++    for mon in monitors_inf.keys():
++        if not monitors_db.has_key(mon):
++            log.info("New monitor: %s" % monitors_inf[mon])
++            monitors_new[mon] = monitors_inf[mon]
++
++    if options.append:
++        if options.output:
++            append_monitors_to_file(monitors_new, options.output)
++        else:
++            append_monitors_to_file(new_monitors, args[1])
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/ldetect-lst/Cards+ kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/Cards+
+--- kde-guidance-0.8.0/displayconfig/ldetect-lst/Cards+	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/Cards+	2008-06-10 11:58:43.000000000 +0200
+@@ -1971,6 +1971,9 @@
+ NAME NVIDIA GeForce 7 Series
+ SEE NVIDIA GeForce
+ 
++NAME NVIDIA GeForce 8 Series
++SEE NVIDIA GeForce
++
+ # IMS
+ 
+ NAME IMS TwinTurbo (generic)
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/ldetect-lst/MonitorsDB kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/MonitorsDB
+--- kde-guidance-0.8.0/displayconfig/ldetect-lst/MonitorsDB	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/MonitorsDB	2008-06-10 11:58:43.000000000 +0200
+@@ -5,12 +5,11 @@
+ #
+ # Each line has format:
+ #   <Manufacturer>; <Monitor name>; <EISA ID (if any)>; <horiz sync in \
+-#   Khz>; <verc sync in Hz>; DPMS support
++#   Khz>; <vert sync in Hz>; DPMS support
+ #
+ # Horiz and vert sync can be a range; like 35.2-55.75; or 31.5,35.5
+ # BUT remember to use ';' to separate fields
+ #
+-# $Id$
+ 
+ Aamazing; Aamazing CM-8426; cm-8426; 31.0-60.0; 40.0-80.0; 1
+ Aamazing; Aamazing MS-8431; ms-8431; 15.0-36.0; 50.0-70.0; 1
+@@ -18,7 +17,6 @@
+ Acer; Acer 1455; API5514; 30.0-54.0; 50.0-120.0
+ Acer; Acer 1555; API5515; 30.0-54.0; 50.0-120.0
+ Acer; Acer 15P; acer_15p; 15.0-70.0; 45.0-90.0; 1
+-Acer; Acer 1768i; api424c; 30.0-69.0; 50.0-110.0; 1
+ Acer; Acer 211c; API9708; 30.0-107.0; 50.0-160.0
+ Acer; Acer 33; acer_33; 31.0-38.0; 50.0-90.0; 1
+ Acer; Acer 33D; API4421; 31.0-35.5; 50.0-100.0
+@@ -60,6 +58,40 @@
+ Acer; Acer 7176ie; api454c; 31.0-70.0; 55.0-90.0; 1
+ Acer; Acer 7176is; api534c; 31.0-70.0; 55.0-90.0; 1
+ Acer; Acer 7178ie; api454e; 31.0-90.0; 55.0-90.0; 1
++Acer; Acer AL501; ABO5580; 24.0-60.0; 56.0-75.0
++Acer; Acer AC501; ABO5572; 30.0-70.0; 50.0-120.0
++Acer; Acer AL502; ACR1602; 30.0-60.0; 55.0-75.0
++Acer; Acer AL506; ACRAD03; 24.0-61.0; 54.0-76.0
++Acer; Acer AC511; ACRAC02; 30.0-54.0; 50.0-120.0
++Acer; Acer AL511; ABO5581; 24.0-60.0; 56.0-75.0
++Acer; Acer AC701; ABO7086; 30.0-70.0; 50.0-160.0
++Acer; Acer AL702; ACR7204; 31.5.0-81.0; 56.3.0-75.0
++Acer; Acer AF705; ABO7084; 30.0-70.0; 50.0-120.0
++Acer; Acer AC711; ABO7087; 30.0-70.0; 50.0-160.0
++Acer; Acer AC713; ACRAC04; 30.0-72.0; 50.0-160.0
++Acer; Acer AF715; ACRAC05; 30.0-98.0; 50.0-160.0
++Acer; Acer AC901; ACR1902; 30.0-96.0; 50.0-160.0
++Acer; Acer AL1511; ACRAD14; 30.0-63.0; 55.0-75.0
++Acer; Acer AL1512; AL1512; 28.0-63.0; 55.0-78.0
++Acer; Acer AL1521; ACRAD05; 30.0-63.0; 55.0-75.0
++Acer; Acer AL1702; ACRAD31; 30.0-82.0; 56.0-76.0
++Acer; Acer AL1703; ACRAD34; 30.0-82.0; 50.0-75.0
++Acer; Acer AL1711; ACRAD12; 30.0-83.0; 55.0-75.0
++Acer; Acer AL1713; ACRAD17; 30.0-80.0; 56.0-75.0
++Acer; Acer AL1714; ACRAD18; 30.0-82.0; 50.0-75.0
++Acer; Acer AL1715; ACR5770; 24.0-80.0; 49.0-75.0
++Acer; Acer AL1721; ACRAD04; 30.0-83.0; 55.0-75.0
++Acer; Acer AL1731 (Analog); ACRAD06; 30.0-80.0; 56.0-75.0
++Acer; Acer AL1731 (Digital); ACRAE06; 30.0-64.0; 56.0-75.0
++Acer; Acer AL1732; ACR06C4; 30.0-83.0; 50.0-75.0
++Acer; Acer AL1911; ACRAD10; 24.0-80.0; 56.0-75.0
++Acer; Acer AL1912; ACR5990; 24.0-80.0; 49.0-75.0
++Acer; Acer AL1913; ACRAD36; 30.0-82.0; 56.0-76.0
++Acer; Acer AL1914; ACRAD29; 30.0-83.0; 55.0-75.0
++Acer; Acer AL1916W; ACRAD52; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL1931; ACRAD07; 24.0-80.0; 56.0-75.0
++Acer; Acer AL2032W; ACR07F0; 30.0-83.0; 50.0-75.0
++Acer; Acer 1768i; api424c; 30.0-69.0; 50.0-110.0; 1
+ Acer; Acer 76c; API9706; 30.0-72.0; 50.0-120.0
+ Acer; Acer 76e; API9702; 30.0-72.0; 50.0-110.0
+ Acer; Acer 76i; API494C; 30.0-64.0; 50.0-110.0
+@@ -72,19 +104,17 @@
+ Acer; Acer 77e; API971C; 30.0-72.0; 50.0-120.0
+ Acer; Acer 77e; API9808; 30.0-72.0; 50.0-120.0
+ Acer; Acer 78c; API9719; 30.0-86.0; 50.0-120.0
+-Acer; Acer 78c; API9805; 31.0-86.0; 50.0-120.0
++Acer; Acer 78c/G781; API9805; 31.0-86.0; 50.0-120.0
+ Acer; Acer 78i; API494E; 30.0-82.0; 50.0-110.0
+ Acer; Acer 78ie; API424E; 30.0-86.0; 50.0-120.0
+ Acer; Acer 78ie; API454E; 30.0-86.0; 50.0-120.0
+ Acer; Acer 79g; API9716; 30.0-95.0; 50.0-160.0
+-Acer; Acer 79g; API971E; 30.0-95.0; 50.0-160.0
+-Acer; Acer 98e; API9806; 30.0-86.0; 50.0-160.0
++Acer; Acer 79g/P791; API971E; 30.0-95.0; 50.0-160.0
++Acer; Acer 98e/V981; API9806; 30.0-86.0; 50.0-160.0
+ Acer; Acer 98i; API4962; 30.0-82.0; 50.0-120.0
+ Acer; Acer 99c; API9718; 30.0-95.0; 50.0-160.0
+-Acer; Acer 99g; API9804; 30.0-107.0; 50.0-160.0
++Acer; Acer 99g/P911; API9804; 30.0-107.0; 50.0-160.0
+ Acer; Acer 99sl; API9721; 30.0-98.0; 50.0-160.0
+-Acer; Acer AL1722; ACRad04; 30-83; 55-75; 1280x1024
+-Acer; Acer AL1921; ACRad25; 30-83; 55-75; 1280x1024
+ Acer; Acer F31; api1035; 31.5-60.0; 56.0-75.0; 1
+ Acer; Acer F31e; api7601; 31.5-60.0; 56.0-85.0; 1
+ Acer; Acer FP350; API7614; 31.5-60.0; 56.0-75.0
+@@ -133,7 +163,6 @@
+ Acer; Aspire 76is; API534C; 30.0-69.0; 50.0-110.0
+ Acer; Aspire 77is; API9707; 30.0-69.0; 50.0-110.0
+ Acer; Aspire 77s; API9803; 30.0-72.0; 50.0-120.0
+-Acer; ACR AL2023; ACR07e7; 31-81; 56-75; 1600x1200
+ Action Systems, Inc.; Action Monitor CA-1454; ACI0608; 30.0-54.0; 50.0-100.0; 1
+ Action Systems, Inc.; Action Monitor CA-1570; ACI0622; 30.0-70.0; 50.0-120.0; 1
+ Action Systems, Inc.; Action Monitor CH-1999; ACI1999; 30.0-99.0; 50.0-160.0; 1
+@@ -179,7 +208,7 @@
+ ADI; ADI MicroScan 3V; adi0640; 24.6-48.9; 50.0-100.0; 1
+ ADI; ADI MicroScan 4A; sm-5515; 30.0-58.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 4G; adi4g; 30.0-64.0; 50.0-100.0; 1
+-ADI; ADI MicroScan 4GP; adi4gp; 30-64; 50-100; 1
++ADI; ADI MicroScan 4GP; adi4gp; 30.0-64.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 4P/4P+; adi1630; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 4P/4P+; adi1632; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 4P/4P+; adi1633; 30.0-69.0; 50.0-100.0; 1
+@@ -212,7 +241,7 @@
+ ADI; ADI MicroScan 4V; adi0750; 30-64; 50-100; 1
+ ADI; ADI MicroScan 4V; adi0755; 30-64; 50-100; 1
+ ADI; ADI MicroScan 4V; adi0940; 30-64; 50-100; 1
+-ADI; ADI MicroScan 4V; adi4v; 30-64; 50-95; 1
++ADI; ADI MicroScan 4V; adi4v; 30.0-64.0; 50.0-95.0; 1
+ ADI; ADI MicroScan 5AP; adi5ap; 30-64; 50-100; 1
+ ADI; ADI MicroScan 5EP; adi5ep; 30-64; 50-100; 1
+ ADI; ADI MicroScan 5G; adi1550; 30.0-95.0; 50.0-120.0; 1
+@@ -224,6 +253,7 @@
+ ADI; ADI MicroScan 5G; adi1572; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan 5G; adi1c50; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan 5G; adi1c52; 30.0-95.0; 50.0-120.0; 1
++ADI; ADI MicroScan 5GT; adi1530; 30.0-94.0; 50.0-160.0; 1
+ ADI; ADI MicroScan 5L; adi3e50; 30.0-56.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5L; adi3f50; 30.0-56.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5P/5P+; adi1730; 30.0-69.0; 50.0-100.0; 1
+@@ -252,6 +282,7 @@
+ ADI; ADI MicroScan 5P/5P+; adi2630; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5P/5P+; adi2640; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5P/5P+; adi2650; 30.0-69.0; 50.0-100.0; 1
++ADI; ADI MicroScan 5PD; adi3430; 30.0-86.0; 50.0-160.0; 1
+ ADI; ADI MicroScan 5T; adi3650; 30.0-56.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5T; adi3750; 30.0-56.0; 50.0-100.0; 1
+ ADI; ADI MicroScan 5V; adi0b30; 30.0-64.0; 50.0-100.0; 1
+@@ -282,15 +313,17 @@
+ ADI; ADI MicroScan 6P; adi20b3; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan 6P; adi20b4; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan 6P; adi20b5; 30.0-95.0; 50.0-120.0; 1
++ADI; ADI MicroScan 6T+; adi7850; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan 9L; adi4E50; 31.0-91.0; 56.0-85.0; 1
+ ADI; ADI MicroScan G55; adi3630; 30.0-86.0; 50.0-120.0; 1
+ ADI; ADI MicroScan G56; adi3730; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan G60; adi3930; 30.0-86.0; 50.0-120.0; 1
+ ADI; ADI MicroScan G66; adi3e50; 30.0-95.0; 50.0-120.0; 1
+ ADI; ADI MicroScan G70; adi3830; 30.0-110.0; 50.0-120.0; 1
+-ADI; ADI MicroScan M700; ADI8830; 30-70; 50-160; 1
+ ADI; ADI MicroScan P40; adi2c30; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan P50; adi3330; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI MicroScan P55; adi3430; 30.0-82.0; 50.0-120.0; 1
++ADI; ADI ProVista 5PM; adi3530; 30.0-69.0; 50.0-160.0; 1
+ ADI; ADI ProVista 14; adi1350; 30.6-48.0; 50.0-100.0; 1
+ ADI; ADI ProVista E30; adi1830; 30.0-54.0; 50.0-100.0; 1
+ ADI; ADI ProVista E30; adi1832; 30.0-54.0; 50.0-100.0; 1
+@@ -321,8 +354,34 @@
+ ADI; ADI ProVista E40; adi1950; 30.0-64.0; 50.0-100.0; 1
+ ADI; ADI ProVista E40; adi1952; 30.0-64.0; 50.0-100.0; 1
+ ADI; ADI ProVista E44; adi2e30; 30.0-69.0; 50.0-100.0; 1
++ADI; ADI ProVista E44+; adi7650; 30.0-70.0; 50.0-160.0; 1
+ ADI; ADI ProVista E55; adi4430; 30.0-69.0; 50.0-100.0; 1
+ ADI; ADI ProVista E66; adi3e30; 30.0-86.0; 50.0-120.0; 1
++ADI; ADI TM-34; adi5F10; 31.0-38.0; 50.0-120.0; 1
++ADI; ADI TM-29; adi8110; 31.0-50.0; 50.0-120.0; 1
++ADI; ADI MicroScan A600; adi5D10; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan A610; adi6450; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan E50; adi2E30; 30.0-70.0; 50.0-120.0; 1
++ADI; ADI MicroScan E66; adi8930; 30.0-96.0; 50.0-160.0; 1
++ADI; ADI MicroScan E66; adi3E30; 30.0-96.0; 50.0-155.0; 1
++ADI; ADI MicroScan E75; adi5230; 30.0-86.0; 50.0-160.0; 1
++ADI; ADI MicroScan F520; adi9830; 30.0-70.0; 50.0-160.0; 1
++ADI; ADI MicroScan F720; adi9530; 30.0-70.0; 50.0-160.0; 1
++ADI; ADI MicroScan F730; adi9630; 30.0-70.0; 50.0-160.0; 1
++ADI; ADI MicroScan GT56; adi3730; 30.0-94.0; 50.0-160.0; 1
++ADI; ADI MicroScan G500; adi5130; 30.0-70.0; 50.0-120.0; 1
++ADI; ADI MicroScan G700; adi7550; 30.0-86.0; 50.0-160.0; 1
++ADI; ADI MicroScan G700i; adi9750; 30.0-86.0; 50.0-160.0; 1
++ADI; ADI MicroScan G710; adi5450; 30.0-96.0; 50.0-160.0; 1
++ADI; ADI MicroScan G900; adi3E50; 30.0-96.0; 50.0-160.0; 1
++ADI; ADI MicroScan G910; adi5750; 30.0-110.0; 50.0-160.0; 1
++ADI; ADI MicroScan G1000; adi5850; 30.0-121.0; 50.0-160.0; 1
++ADI; ADI MicroScan I600; adi8350; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan I610; adiA950; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan I612; adi8450; 31.0-61.0; 56.0-75.0; 1
++ADI; ADI MicroScan M500; adi8630; 30.0-54.0; 50.0-160.0; 1
++ADI; ADI MicroScan M510; adi8730; 30.0-70.0; 50.0-160.0; 1
++ADI; ADI MicroScan M700; adi8830; 30.0-70.0; 50.0-160.0; 1
+ Amptron International,Inc.; Amptron CS19; AMPCS19; 30.0-95.0; 50.0-120.0
+ Amptron International,Inc.; Amptron AV8S; AMPAV8S; 30.0-68.0; 50.0-110.0
+ Amptron International,Inc.; Amptron ES15; AMPD556; 30.0-54.0; 50.0-120.0
+@@ -348,25 +407,18 @@
+ AOC; AOC SPECTRUM 5Vlr & 5VlrA; aocd566; 30.0-66.0; 50.0-100.0; 1
+ AOC; AOC SPECTRUM 7Clr; aocf764; 30.0-64.0; 47.0-100.0; 1
+ AOC; AOC SPECTRUM 7Dlr & 7DlrA; aoce750; 30.0-68.0; 50.0-120.0; 1
+-AOC; AOC SPECTRUM 7Glr & 7GlrA; aoca785; 30.0-95.0; 50.0-160.0; 1
++AOC; AOC SPECTRUM 7Glr & 7GlrA; aoca785; 30.0-85.0; 50.0-130.0; 1
+ AOC; AOC SPECTRUM 7Nlr; aoca782; 30.0-82.0; 50.0-110.0; 1
+ AOC; AOC SPECTRUM 7Vlr & 7VlrA & 7Vlr+ & 7VlrA+; aoca770; 30.0-70.0; 50.0-130.0; 1
+ AOC; AOC SPECTRUM 9Glr; aoce995; 30.0-95.0; 47.0-150.0; 1
+ Apollo; Apollo 1280x1024-68Hz; 0; 73.702; 68.24
+ Apollo; Apollo 1280x1024-70Hz; 0; 75.118; 70.07
+-Apple; Apple 23 Cinema HD; APP9218; 30.0-90.0; 50.0-70.0; 1
+ Apple; Apple eMac; APP079d; 71-73; 70-140
+-Apple; Apple HiRes Display 1152x864; 0; 30.0-100.0; 50.0-160.0
+-Apple; Apple HiRes Display 1280x1024; 0; 30.0-130.0; 50.0-160.0
+ Apple; Apple iMac CRT; APP059d; 60.015; 75-117
+ Apple; Apple iMac LCD 15; APP229c; 28.0-49.0; 60
+ Apple; Apple iMac LCD 17; APP279c; 28.0-49.0; 60
+-Apple; Apple iMac (Rev A or B) 15; APP019d; 59-63; 50-150
+-Apple; Apple iBook 800x600; 0; 28-50; 43.0-75.0
+-Apple; Apple iBook2 12 (1024x768); APP129c; 30-70; 43.0-72.0
+-Apple; Apple iBook2 15 (1024x768); APP1a9c; 30-70; 43.0-72.0
+-Apple; Apple iMac/PowerBook 1024x768; 0; 30.0-70.0; 50.0-160.0
+-Apple; Apple LoRes Display 640x480; 0; 28.0-33.0; 43.0-72.0
++Apple; Apple iBook; 0; 28-50; 60
++Apple; Apple iBook2 12; APP129c; 30-70; 60
+ Apple; Apple PowerBook G4 12 (2003); APP2a9c; 30-70; 60
+ Apple; Apple PowerBook G4 12 (2003); APP2b9c; 30-70; 60
+ Apple; Apple PowerBook G3 (pre-1999); 0; 119; 196
+@@ -376,7 +428,7 @@
+ Apple; Apple Aluminum PowerBook G4; APP359c; 30.0-100.0; 50-60
+ Apple; Apple Studio Display 15 LCD; APP1592; 28.0-49.0; 60
+ Apple; Apple Studio Display 15 LCD (pre-2001); APPf401; 48-60; 60-75
+-Apple; Apple Studio Display 17 LCD; APP1792; 30-130; 48.0-160.0
++Apple; Apple Studio Display 17 LCD; APP1792; 30-130; 60
+ Apple; Apple Studio Display 20 LCD; APP1992; 30-130; 60
+ Apple; Apple Cinema Display 20 LCD; APP1d92; 30-75; 60
+ Apple; Apple Cinema Display 22 LCD; APP1692; 30-130; 60
+@@ -386,8 +438,8 @@
+ Apple; Apple Color Plus 14; 0; 35.0 ; 67.0
+ Apple; Apple ColorSync 17; 0; 30-82; 40-120
+ Apple; Apple ColorSync 20; 0; 30-94; 48-120
+-Apple; Apple Macintosh 16 Color Display; 0; 50.0; 75.0
+-Apple; Apple Macintosh 21 Color Display; 0; 68.7; 75.0
++Apple; Apple Macintosh 16" Color Display; 0; 50.0; 75.0
++Apple; Apple Macintosh 21" Color Display; 0; 68.7; 75.0
+ Apple; Apple Multiple Scan 14; 0; 31.5-48.1; 60-72
+ Apple; Apple Multiple Scan 15; 0; 30-61 ; 60-75
+ Apple; Apple Multiple Scan 15AV; 0; 30-56.5; 56-75
+@@ -398,12 +450,10 @@
+ Apple; Apple Performa Display; 0; 35.0 ; 66.7
+ Apple; Apple Studio Display 17 CRT; 0; 30-85; 48-160
+ Apple; Apple Studio Display 21 CRT; 0; 31-107; 48-120
+-Apple; Apple Vision 1710; 0; 30-80; 40-120
++Apple; Apple Vision 1710; APP1017; 30-80; 40-120
+ Apple; Apple Vision 1710AV; 0; 30-82; 50-120
+ Apple; Apple Vision 750AV; 0; 30-82; 40-120
+-Apple; Apple Vision 850 AV; 0; 30-94; 48-120
+-Apple; Apple TiPowerBook 1152x768; 0; 30.0-100.0; 50.0-160.0
+-Apple; Apple TiPowerBook 1280x854; 0; 30.0-100.0; 50.0-160.0
++Apple; Apple Vision 850 AV; APP0352; 30-94; 48-120
+ AST; AST Sabre; ast8009; 30.0-64.0; 50.0-90.0; 1
+ AST; AST Vision 20H; ast8008; 29.0-82.0; 50.0-150.0; 1
+ AST; AST Vision 4I; ast8002; 30.0-38.0; 50.0-90.0; 1
+@@ -425,87 +475,198 @@
+ AT&T; AT&T 17 in. Color Value; 0; 30-64; 50-90
+ AT&T; AT&T CRT-365; 0; 30.0-75.0; 60.0-70.0
+ AT&T; AT&T CRT-395; 0; 30.0-66.0; 50.0-90.0
+-Belinea; Belinea 101410; 0; 24-61.0; 50.0-77.0
+-Belinea; Belinea 101510; 0; 24-61.0; 50.0-77.0
+-Belinea; Belinea 101520; 0; 48.0-48.0; 60.0-60.0
+-Belinea; Belinea 101525; MAX05f5; 30.0-61.0; 56.0-75.0; 1
+-Belinea; Belinea 101530; 0; 30.0-70.0; 50.0-85.0
+-Belinea; Belinea 101536; MAX0600; 30.0-61.0; 56.0-75.0; 1
+-Belinea; Belinea 101550; 0; 30.0-70.0; 50.0-85.0
+-Belinea; Belinea 101715 6b3; MAX06b3; 30.0-67.0; 56.0-75.0; 1
+-Belinea; Belinea 101715; MAX06b5; 31-83; 56-75; 
+-Belinea; Belinea 101740; MAX06CC; 30.0-80.0; 50.0-75.0; 1
+-Belinea; Belinea 101750; MAX06ac; 30-84; 56-75; 1280x1024
+-Belinea; Belinea 101810; 0; 31.0-80.0; 60.0-85.0
+-Belinea; Belinea 102005; MAX07d3; 30-83; 50-85; 1600x1200
+-Belinea; Belinea 102010; 0; 30.0-54.0; 50.0-120.0
+-Belinea; Belinea 102020; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 102030; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 103010; 0; 30.0-70.0; 50.0-150.0
+-Belinea; Belinea 103015; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 103020; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 103030; 0; 30.0-70.0; 50.0-150.0
+-Belinea; Belinea 103040; 0; 30.0-86.0; 50.0-150.0
+-Belinea; Belinea 103050; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 103052; max06b9; 30.0-97.0; 50.0-150.0; 1
+-Belinea; Belinea 103060; 0; 30.0-95.0; 50.0-150.0
+-Belinea; Belinea 103070; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 104010; 0; 30.0-54.0; 50.0-120.0
+-Belinea; Belinea 104040; 0; 30.0-38.0; 50.0-90.0
+-Belinea; Belinea 104050; 0; 31.5-50.0; 50.0-100.0
+-Belinea; Belinea 104060; 0; 30.0-50.0; 50.0-100.0
+-Belinea; Belinea 104065; max4065; 30.0-50.0; 50.0-120.0; 1
+-Belinea; Belinea 104070; 0; 30.0-38.0; 50.0-90.0
+-Belinea; Belinea 105030; 0; 30.0-64.0; 50.0-100.0
+-Belinea; Belinea 105035; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105045; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 105046; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 105050; 0; 30.0-64.0; 50.0-100.0
+-Belinea; Belinea 105060; 0; 30.0-64.0; 50.0-90.0
+-Belinea; Belinea 105065; 0; 30.0-64.0; 50.0-100.0
+-Belinea; Belinea 105066; 0; 30.0-65.0; 50.0-120.0
+-Belinea; Belinea 105070; 0; 30.0-65.0; 50.0-100.0
+-Belinea; Belinea 105075; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105076; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105080; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105090; 0; 30.0-64.0; 55.0-90.0
+-Belinea; Belinea 105095 (high); 0; 30.0-64.0; 55.0-120.0
+-Belinea; Belinea 105095; max3539; 30.0-64.0; 55.0-90.0; 1
+-Belinea; Belinea 105520; 0; 30.0-64.0; 50.0-100.0
+-Belinea; Belinea 105540; 0; 30.0-64.0; 50.0-90.0
+-Belinea; Belinea 105550; 0; 24.0-69.0; 50.0-120.0
+-Belinea; Belinea 105560; 0; 24.0-68.0; 50.0-100.0
+-Belinea; Belinea 105570; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105575; max7555; 30.0-69.0; 50.0-120.0; 1
+-Belinea; Belinea 105576; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105586; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 105590; 0; 30.0-85.0; 50.0-120.0
+-Belinea; Belinea 105595; 0; 30.0-85.0; 50.0-120.0
+-Belinea; Belinea 105596; 0; 30.0-85.0; 50.0-120.0
+-Belinea; Belinea 106020; 0; 30.0-95.0; 50.0-150.0
+-Belinea; Belinea 106030; 0; 30.0-96.0; 50.0-160.0
+-Belinea; Belinea 106040; 0; 30.0-82.0; 50.0-90.0
+-Belinea; Belinea 106050; 0; 30.0-85.0; 50.0-120.0
+-Belinea; Belinea 106060; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 106070; 0; 30.0-95.0; 50.0-180.0
+-Belinea; Belinea 106090; 0; 30.0-95.0; 50.0-150.0
+-Belinea; Belinea 107010; 0; 30.0-69.0; 50.0-160.0
+-Belinea; Belinea 107015; 0; 30.0-70.0; 50.0-180.0
+-Belinea; Belinea 107020; 0; 30.0-70.0; 50.0-120.0
+-Belinea; Belinea 107025; 0; 30.0-70.0; 50.0-180.0
+-Belinea; Belinea 107030; 0; 30.0-86.0; 50.0-160.0
+-Belinea; Belinea 107035; 0; 30.0-95.0; 50.0-180.0
+-Belinea; Belinea 107040; 0; 30.0-85.0; 50.0-120.0
+-Belinea; Belinea 107050; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 107060; 0; 30.0-69.0; 50.0-120.0
+-Belinea; Belinea 107065; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 108010; 0; 30.0-115.0; 50.0-160.0
+-Belinea; Belinea 108015; 0; 30.0-115.0; 50.0-160.0
+-Belinea; Belinea 108020; 0; 30.0-107.0; 50.0-160.0
+-Belinea; Belinea 108050; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 108060; 0; 30.0-115.0; 50.0-160.0
+-Belinea; Belinea 108090; 0; 30.0-95.0; 50.0-160.0
+-Belinea; Belinea 108095; 0; 30.0-95.0; 50.0-160.0
++Belinea; Belinea 10 14 10; MAX0582; 30.0-61.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 15 10; MAX05E6; 30.0-61.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 15 15; MAX05EB; 30.0-61.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 20; MAX05F0; 48.0-48.0; 60.0-60.0 ; 1
++Belinea; Belinea 10 15 25; MAX05F5; 30.0-60.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 30; MAX05FA; 30.0-70.0; 50.0-85.0 ; 1
++Belinea; Belinea 10 15 35; MAX05FF; 30.0-61.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 36 / Art. No. 101536; MAX0600; 30.0-60.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 36 / Art. No. 111504; MAX05E0; 30.0-62.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 36 / Art. No. 111508; MAX05E4; 30.0-63.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 36 / Art. No. 111513; MAX05E9; 30.0-63.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 36 / Art. No. 111514; MAX05EA; 30.0-63.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 37; MAX0601; 30.0-60.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 40; MAX0604; 30.0-61.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 50; MAX060E; 30.0-70.0; 50.0-85.0 ; 1
++Belinea; Belinea 10 15 51; MAX05E1; 31.0-62.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 55 / Art. No. 101555; MAX0613; 31.0-66.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 55 / Art. No. 111501; MAX05DD; 31.0-66.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 55 / Art. No. 111503; MAX05DF; 31.0-62.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 55 / Art. No. 111509; MAX05E5; 31.0-62.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 55 / Art. No. 111516; MAX05EC; 31.0-62.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 56 / Art. No. 101556; MAX0614; 31.0-66.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 56 / Art. No. 111502; MAX05DE; 31.0-66.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 60; MAX0618; 30.0-61.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 15 70; MAX0622; 30.0-62.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 15 75; MAX05E3; 30.0-63.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 15 80; MAX05E8; 31.0-62.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 05 / Art. No. 111718; MAX06B6; 30.0-83.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 05 / Art. No. 111723; MAX06BB; 30.0-83.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 10 / Art. No. 101710; MAX06AE; 30.0-81.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 10 / Art. No. 111722; MAX06BA; 30.0-83.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 10 / Art. No. 111728; MAX06C0; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 10 / Art. No. 111738; MAX06CA; 30.0-83.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 17 11 / Art. No. 111724; MAX06BC; 30.0-83.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 11 / Art. No. 111743; MAX06CF; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 17 11 / Art. No. 111750; MAX06D6; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 17 13; MAX06DB; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 15 / Art. No. 111706; MAX06AA; 31.0-83.0; 56.0-75 ; 1
++Belinea; Belinea 10 17 15 / Art. No. 111715; MAX06B3; 31.0-81.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 15 / Art. No. 111717; MAX06B5; 31.0-83.0; 56.0-75 ; 1
++Belinea; Belinea 10 17 15 / Art. No. 111746; MAX06D2; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 17; MAX06DC; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 20 / Art. No. 111747; MAX06D3; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 20; MAX06B8; 30.0-81.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 17 25 / Art. No. 111707; MAX06AB; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 25 / Art. No. 111719; MAX06B7; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 25 / Art. No. 111727; MAX06BF; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 25 / Art. No. 111737; MAX06C9; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 25 / Art. No. 111751; MAX06D7; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 27; MAX06DD; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 28; MAX06D9; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 101730; MAX06C2; 30.0-81.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 111703; MAX06A7; 31.0-82.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 111711; MAX06AF; 30.0-83.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 111716; MAX06B4; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 111731; MAX06C3; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 30 / Art. No. 111744; MAX06D0; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 35 / Art. No. 111714; MAX06B2; 30.0-83.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 17 35 / Art. No. 111734; MAX06C6; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 35 / Art. No. 111745; MAX06D1; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 17 35 / Art. No. 111749; MAX06D5; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 10 17 40; MAX06CC; 30.0-80.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 41; MAX06CD; 30.0-80.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 17 50 / Art. No. 111708; MAX06AC; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 50 / Art. No. 111732; MAX06C4; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 50 / Art. No. 111739; MAX06CB; 31.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 10 17 51 / Art. No. 111709; MAX06AD; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 51 / Art. No. 111733; MAX06C5; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 17 51 / Art. No. 111742; MAX06CE; 30.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 10 18 10; MAX0712; 31.0-80.0; 60.0-85.0 ; 1
++Belinea; Belinea 10 18 20; MAX0716; 30.0-81.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 18 30; MAX0726; 30.0-82.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 19 01 / Art. No. 111914; MAX077A; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 01 / Art. No. 111922; MAX0782; 30.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 10 19 02 / Art. No. 111916; MAX077C; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 02 / Art. No. 111923; MAX0783; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 03 / Art. No. 111928; MAX0788; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 06; MAX0772; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 10 / Art. No. 101910; MAX0776; 30.0-82.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 19 10 / Art. No. 111904; 0; 20.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 10 19 10 / Art. No. 111908; MAX0774; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 10 / Art. No. 111929; MAX0789; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 11; MAX077E; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 15 / Art. No. 111915; MAX077B; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 15 / Art. No. 111921; MAX0781; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 20 / Art. No. 111902; MAX076E; 30.0-84.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 20 / Art. No. 111912; MAX0778; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 20 / Art. No. 111919; MAX077F; 30.0-83.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 19 25; MAX0784; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 27; MAX0785; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 19 30; MAX0786; 30.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 10 19 35; MAX0787; 30.0-83.0; 56.0-76.0 ; 1
++Belinea; Belinea 10 20 05; MAX07D3; 30.0-83.0; 50.0-85.0 ; 1
++Belinea; Belinea 10 20 10; MAX07FA; 30.0-54.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 20 15 / Art. No. 112001; MAX07D1; 30.0-82.0; 50.0-75.0 ; 1
++Belinea; Belinea 10 20 15 / Art. No. 112004; MAX07D4; 30.0-83.0; 50.0-85.0 ; 1
++Belinea; Belinea 10 20 20; MAX07E4; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 20 25; MAX07D2; 30.0-83.0; 50.0-86.0 ; 1
++Belinea; Belinea 10 20 30 W; MAX07D7; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 20 30; MAX07EE; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 20 35 W; MAX07D5; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 10 30 10; MAX0BC2; 30.0-70.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 15; MAX0BC7; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 30 20; MAX0BCC; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 30 22 Black; MAX06A9; 30.0-72.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 22; MAX0BCE; 30.0-72.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 25; MAX0BD1; 30.0-70.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 26 / Art. No. 103026; MAX0BD2; 30.0-70.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 26 / Art. No. 121701; MAX06A5; 30.0-70.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 26 / Art. No. 121713; MAX06B1; 30.0-72.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 26 / Art. No. 121729; MAX06C1; 30.0-72.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 30; MAX0BD6; 30.0-70.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 35; MAX0BDB; 30.0-70.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 40; MAX0BE0; 30.0-86.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 45; MAX0BE5; 30.0-87.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 50; MAX0BEA; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 51; MAX06A8; 30.0-97.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 52; MAX06B9; 30.0-97.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 55 / Art. No. 103055; MAX0BEF; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 55 / Art. No. 121712; MAX06B0; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 60; MAX0BF4; 30.0-95.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 65; MAX0BF9; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 70; MAX0BFE; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 75 / Art. No. 103075; MAX0C03; 30.0-70.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 30 75 / Art. No. 121726; MAX06BE; 30.0-72.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 80; MAX0C08; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 85 / Art. No. 103085; MAX0C0D; 30.0-86.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 85 / Art. No. 121702; MAX06A6; 30.0-86.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 30 90; MAX0C12; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 40 10; MAX0FAA; 30.0-54.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 40 40; MAX0FC8; 30.0-38.0; 50.0-80.0 ; 1
++Belinea; Belinea 10 40 45; MAX0FCD; 30.0-50.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 40 65; MAX0FE1; 30.0-50.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 30; MAX13A6; 30.0-64.0; 50.0-100.0 ; 1
++Belinea; Belinea 10 50 35; MAX13AB; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 45; MAX13B5; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 46; MAX13B6; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 50; MAX13BA; 30.0-64.0; 50.0-100.0 ; 1
++Belinea; Belinea 10 50 65; MAX5620; 30.0-64.0; 50.0-100.0 ; 1
++Belinea; Belinea 10 50 66; MAX5624; 30.0-65.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 75; MAX13D3; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 76; MAX13D4; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 50 95; MAX3539; 30.0-64.0; 55.0-120.0 ; 1
++Belinea; Belinea 10 55 40; MAX3430; 30.0-64.0; 50.0-90.0 ; 1
++Belinea; Belinea 10 55 50; MAX15AE; 24.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 70; MAX15C2; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 75; MAX15C7; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 76; MAX15C8; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 86; MAX15D2; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 90; MAX15D6; 30.0-85.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 95; MAX15DB; 30.0-85.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 55 96; MAX15DC; 30.0-85.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 60 20; MAX1784; 30.0-95.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 60 30; MAX178E; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 35; MAX1793; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 50; MAX17A2; 30.0-85.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 60 55 / Art. No. 106055; MAX17A7; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 55 / Art. No. 121901; MAX076D; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 60; MAX17AC; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 65; MAX17B1; 30.0-96.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 70; MAX17B6; 30.0-95.0; 50.0-180.0 ; 1
++Belinea; Belinea 10 60 75 / Art. No. 106075; MAX17BB; 30.0-98.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 75 / Art. No. 121903; MAX076F; 30.0-96.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 60 80; MAX17C0; 30.0-110.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 60 90; MAX17CA; 30.0-95.0; 50.0-150.0 ; 1
++Belinea; Belinea 10 60 95; MAX17CF; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 70 10; MAX1B62; 30.0-69.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 70 15; MAX1B67; 30.0-70.0; 50.0-180.0 ; 1
++Belinea; Belinea 10 70 20; MAX1B6C; 30.0-70.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 70 25; MAX1B71; 30.0-70.0; 50.0-180.0 ; 1
++Belinea; Belinea 10 70 30; MAX1B76; 30.0-86.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 70 35; MAX1B7B; 30.0-95.0; 50.0-180.0 ; 1
++Belinea; Belinea 10 70 40; MAX1B80; 30.0-85.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 70 50; MAX1B8A; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 70 60; MAX1B94; 30.0-69.0; 50.0-120.0 ; 1
++Belinea; Belinea 10 70 65; MAX1B99; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 10; MAX1F4A; 30.0-115.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 15; MAX1F4F; 30.0-115.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 20; MAX1F54; 30.0-107.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 25; MAX1F59; 30.0-107.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 30 / Art. No. 122101; MAX0835; 30.0-125.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 35 / Art. No. 122103; MAX0837; 30.0-125.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 50; MAX1F72; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 60; MAX1F7C; 30.0-115.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 80; MAX1F90; 30.0-121.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 90; MAX1F9A; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 10 80 95; MAX1F9F; 30.0-95.0; 50.0-160.0 ; 1
++Belinea; Belinea 1705 S1 / Art. No. 111754; MAX06DA; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 1770 S1 / Art. No. 111758; MAX06DE; 30.0-83.0; 50.0-77.0 ; 1
++Belinea; Belinea 1905 G1; MAX078D; 30.0-83.0; 50.0-76.0 ; 1
++Belinea; Belinea 1905 S1; MAX078B; 31.0-83.0; 56.0-75.0 ; 1
++Belinea; Belinea 2080 S1 / Art. No. 112008; MAX07D8; 30.0-83.0; 50.0-85.0 ; 1
+ BenQ; BenQ FP231W (Analog); BNQ7669; 31.0-80.0; 56.0-76.0; 1
+ BenQ; BenQ FP231W (Digital); BNQ766A; 31.0-80.0; 56.0-76.0; 1
+ BenQ; BenQ FP531; BNQ765E; 31-63.0; 56.0-75.0; 1
+@@ -532,17 +693,16 @@
+ BenQ; BenQ FP882 (Analog); BNQ7633; 31.5-83.0; 56.0-76.0; 1
+ BenQ; BenQ FP882 (Digital); BNQ763D; 31.5-71.0; 56.0-76.0; 1
+ BenQ; BenQ FP937s; BNQ7685; 31-83.0; 56.0-76.0; 1
++BenQ; BenQ FP951; BNQ7666; 31.0-83.0; 56.0-76.0; 1
+ BenQ; BenQ FP991; BNQ7646; 31.0-83.0; 56.0-76.0; 1
+ BenQ; BenQ FP992; BNQ7276; 31.0-83.0; 56.0-76.0; 1
+ BenQ; BenQ P992; BNQ0106; 30.0-98.0; 50.0-160.0; 1
+ BenQ; BenQ T720; BNQ7659; 31.5-83.0; 60.0-76.0; 1
+ BenQ; BenQ T903; BNQ7680; 31-83.0; 56.0-76.0; 1
+-BenQ; BenQ T904; BNQ7681; 31-83; 56-76; 
++BenQ; BenQ T904; BNQ7681; 31-83.0; 56.0-76.0; 1
+ Bridge; Bridge BM17C; brg00ab; 30.0-70.0; 50.0-160.0; 1
+-Brother; Brother BM85L; 0; 30.0-64.0; 50.0-100.0; 1
+ Bus Computer Systems; Bus Computer Systems Bus_VGA; bus_vga; 31.5-38.0; 50.0-70.0; 1
+ Carroll Touch; Carroll Touch CT1381A; ct1381a; 15.7-38.0; 45.0-90.0; 1
+-CMC; CMC 17 AD; CMO7801; 30-82; 50-75; 1280x1024
+ Colorgraphic; Colorgraphic EG2040; eg2040; 20.0-40.0; 40.0-100.0; 1
+ Compal; Compal BJ350; CPL9565; 31.5-61.0; 50-90
+ Compal; Compal BP350; CPL9566; 24-60; 56-75
+@@ -662,13 +822,13 @@
+ Compaq; Compaq 172; cpq_172; 31.5-82.0; 50.0-90.0; 1
+ Compaq; Compaq Advanced Graphics; ags; 54.0; 50.0-75.0; 1
+ Compaq; Compaq Internal VGA Panel; ivga; 31.5; 50.0-70.0; 1
+-Compaq; Compaq MV920; CPQ3027; 30-96; 50-160; 1600x1200
+ Compaq; Compaq P110 Color Monitor; cpq1321; 30.0-107.0; 48.0-160.0; 1
++Compaq; Compaq P1110 Color Monitor; 0; 50.0-160.0; 30.0-121.0; 1
+ Compaq; Compaq P1210 Color Monitor; cpq1386; 30.0-121.0; 50.0-160.0; 1
+ Compaq; Compaq P1610 Color Monitor; cpq1327; 30.0-96.0; 48.0-160.0; 1
+ Compaq; Compaq P50 Color Monitor; cpq1323; 30.0-69.0; 50.0-125.0; 1
+ Compaq; Compaq P70 Color Monitor; cpq1320; 30.0-92.0; 48.0-150.0; 1
+-Compaq; Compaq P710; CPQ1384; 30-96; 50-140; 1600x1200
++Compaq; Compaq P710 Color Monitor; cpq1384; 30.0-96.0; 50.0-130.0; 1
+ Compaq; Compaq P75 Color Monitor; cpq1330; 30.0-85.0; 50.0-150.0; 1
+ Compaq; Compaq P900 Color Monitor; cpq1353; 30.0-107.0; 50.0-120.0; 1
+ Compaq; Compaq P910 Color Monitor; cpq1385; 30.0-108.0; 50.0-140.0; 1
+@@ -760,7 +920,7 @@
+ Compaq;Compaq FP15 Flat Panel Monitor;cpq145c;30.0-61.0;56.0-76.0;1
+ Compaq;Compaq FP7317 Flat Panel Monitor;cpq145b;30.0-81.0;56.0-76.0;1
+ Compaq;Compaq P1220 Color Monitor;cpq1421;30.0-130.0;50.0-160.0;1
+-Compdyne; Compudyne KD-1500N; 0; 30.00-66; 50-90
++Compdyne; Compudyne KD-1500N; 0; 74.8; 30.00-66; 50-90
+ Compeq USA/Focus; Compeq CT-1458; ct-1458; 15.0-48.0; 47.0-100.0; 1
+ Compeq USA/Focus; Compeq CT-1958; ct-1958; 15.0-51.0; 47.0-100.0; 1
+ Conrac; Conrac 7126; 7126; 15.0-32.0; 48.0-75.0; 1
+@@ -794,7 +954,6 @@
+ Cornerstone; Cornerstone p1600; crn0010; 31.0-117.0; 50.0-160.0; 1
+ Cornerstone; Cornerstone p1700; crn0012; 31.0-130.0; 50.0-160.0; 1
+ Cornerstone; Cornerstone v300; crn0013; 31.0-93.0; 50.0-160.0; 1
+-CTL; CTL 910TF; dwe90a5; 30.0-95.0; 50-160; 1
+ CTX; CTX 1451; ctx1451; 30.0-50.0; 45.0-90.0; 1
+ CTX; CTX 1451ES; ctx-1451es; 30-50; 50-90; 1
+ CTX; CTX 1451GM; ctx-1451gm; 30-50; 50-90; 1
+@@ -811,11 +970,8 @@
+ CTX; CTX 15-Group 65KHz/100Hz Monitor; ctx3500; 30.0-65.0; 50.0-100.0; 1
+ CTX; CTX 1765; ctx1765; 30.0-65.0; 45.0-110.0; 1
+ CTX; CTX 1765GM; ctx-1765gm; 30.0-65.0; 50.0-100.0; 1
+-CTX; CTX 1769UA; 0; 30.0-70.0; 50.0-160.0
+ CTX; CTX 1785; ctx1785; 30.0-85.0; 45.0-110.0; 1
+ CTX; CTX 1785GM; ctx-1785gm; 30.0-85.0; 50.0-100.0; 1
+-CTX; CTX 1792UA; 0; 30.0-95.0; 50.0-160.0
+-CTX; CTX 1792UD; 0; 30.0-95.0; 50.0-160.0
+ CTX; CTX 19D-Group 107KHz/160Hz Monitor; ctx5100; 30.0-107.0; 50.0-160.0; 1
+ CTX; CTX 2085; ctx2085; 30.0-85.0; 45.0-110.0; 1
+ CTX; CTX 2185; ctx2185; 30.0-85.0; 45.0-110.0; 1
+@@ -929,20 +1085,6 @@
+ CTX; CTX VL710 series, EX710 series; ctx3661; 30.0-92.0; 50.0-160.0; 1
+ CTX; CTX VL950 series, EX950 series, PL9 series; ctx3700; 30.0-95.0; 50.0-160.0; 1
+ CTX; CTX VL950 series, EX950 series, PL9 series; ctx3710; 30.0-95.0; 50.0-160.0; 1
+-Cybervision; Cybervision C112; CYB3131; 30-95; 50-150; 1
+-Cybervision; Cybervision C40; CYB5031; 30-50; 50-90; 1
+-Cybervision; Cybervision C50-2; CYB5434; 30-54; 50-100; 1
+-Cybervision; Cybervision C50; CYB5331; 30-50; 50-90; 1
+-Cybervision; Cybervision C52-2; CYB5334; 30-70; 50-120; 1
+-Cybervision; Cybervision C52; CYB5332; 30-70; 50-90; 1
+-Cybervision; Cybervision C70-2; CYB5635; 30-70; 50-120; 1
+-Cybervision; Cybervision C70; CYB5631; 30-70; 50-90; 1
+-Cybervision; Cybervision C72-2; CYB5637; 30-70; 50-120; 1
+-Cybervision; Cybervision C72; CYB5632; 30-70; 50-120; 1
+-Cybervision; Cybervision C92; CYB5931; 30-85; 50-150; 1
+-Cybervision; Cybervision CP21; CYB5032; 30-50; 50-75; 1
+-Cybervision; Cybervision CP45; CYB5333; 30-62; 50-75; 1
+-Daewoo; Daewin LCD17/HGM; hglec20; 31.5-80.0; 58.0-75.0; 1
+ Daewoo; Daewoo 1509B; dwe5093; 30.0-69.0; 50.0-120.0; 1
+ Daewoo; Daewoo 1705B; dwe7053; 30.0-69.0; 50.0-120.0; 1
+ Daewoo; Daewoo 431X; dwe4312; 30.0-54.0; 50.0-120.0; 1
+@@ -986,14 +1128,13 @@
+ Daytek; Daytek TM-1569D; oec020f; 30.0-70.0; 50.0-120.0; 1
+ Daytek; Daytek TM-1769D; oec0211; 30.0-70.0; 50.0-120.0; 1
+ Daytek; Daytek TM-1770D; oec0707; 30.0-70.0; 50.0-120.0; 1
+-Daytek; Vista v19; STC032b; 30.0-95.0; 50.0-160.0
++Daytek; Daytek 755DF; oec7704; 30.0-70.0; 50.0-150.0; 1
+ Dell; Dell 1024i; 0; 35.5; 87.0; 1
+ Dell; Dell 1024i-P/1024i-Color; 0; 35.5; 87.0; 1
+-Dell; Dell 1024x768 Laptop Display Panel; 0; 31.5-48.5; 59.0-75.0; 1
+-Dell; Dell 1280x800 Laptop Display Panel (16/10); 0; 30.0-107.0; 50.0-185.0; 1
++Dell; Dell 1024x768 Laptop Display Panel; QDS005; 31.5-48.5; 59.0-75.0; 1
+ Dell; Dell 1280x1024 Laptop Display Panel; 0; 31.5-90.0; 59.0-75.0; 1
+ Dell; Dell 1400FP; del8162; 31.0-60.0; 55.0-86.0; 1
+-Dell; Dell 1400x1050 Laptop Display Panel; 0; 31.5-90.0; 59.0-75.0; 1
++Dell; Dell 1400x1050 Laptop Display Panel; SEC3450; 31.5-90.0; 59.0-75.0; 1
+ Dell; Dell 1401FP; delc0ec; 31.0-80.0; 56.0-76.0; 1
+ Dell; Dell 1500FP; del715d; 30.0-61.0; 56.0-75.0; 1
+ Dell; Dell 1501FP (Analog); del73a4; 30.0-61.0; 56.0-75.0; 1
+@@ -1007,7 +1148,6 @@
+ Dell; Dell 1569; del1569; 30.0-69.0; 50.0-110.0; 1
+ Dell; Dell 1569; del6915; 30.0-69.0; 50.0-110.0; 1
+ Dell; Dell 1600x1200 Laptop Display Panel; 0; 31.5-90.0; 59.0-85.0; 1
+-Dell; Dell 1680x1050 Laptop Display Panel (16/10); 0; 30.0-107.0; 50.0-185.0; 1
+ Dell; Dell 1700FP; del3092; 30.0-80.0; 56.0-76.0; 1
+ Dell; Dell 1701FP (Analog); del3002; 31.0-80.0; 56.0-76.0; 1
+ Dell; Dell 1701FP (Digital); del3001; 31.0-80.0; 56.0-76.0; 1
+@@ -1019,9 +1159,19 @@
+ Dell; Dell 1704FPV (Digital); DEL3016; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1704FPT (Digital); DEL4005; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1704FPT (Analog); DEL4004; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1706FPV (Analog); DEL3017; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1706FPV (Digital); DEL3018; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1707FP (Analog); DEL4012; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1707FP (Digital); DEL4013; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1707FPV(Analog); DEL4021; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1707FPV(Digital); DEL4022; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1708FP(Analog); DEL4023; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1708FP(Digital); DEL4024; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1726T-HS/D1025HT; del5319; 31.0-85.0; 50.0-100.0; 1
+ Dell; Dell 1800FP (Analog); DELE000; 30.0-80.0; 56.0-85.0; 1
++Dell; Dell 1800FP (Analog); DELE002; 30.0-80.0; 56.0-75.0; 1
+ Dell; Dell 1800FP (Digital); DELE001; 30.0-70.0; 56.0-85.0; 1
++Dell; Dell 1800FP (Digital); DELE003; 30.0-70.0; 56.0-75.0; 1
+ Dell; Dell 1801FP (Analog); DELE004; 30.0-80.0; 56.0-75.0; 1
+ Dell; Dell 1801FP (Digital); DELE005; 30.0-80.0; 56.0-75.0; 1
+ Dell; Dell 1900FP (Analog); DEL300B; 30.0-80.0; 56.0-76.0; 1
+@@ -1030,13 +1180,32 @@
+ Dell; Dell 1901FP (Digital); DEL4001; 30.0-80.0; 56.0-76.0; 1
+ Dell; Dell 1905FP (Analog); DEL400C; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1905FP (Digital); DEL400D; 30.0-81.0; 56.0-76.0; 1
+-Dell; Dell 1920x1200 Laptop Display Panel (16/10); 0; 30.0-107.0; 50.0-185.0; 1
++Dell; Dell 1906FP (Analog); DEL400E; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1906FP (Digital); DEL400F; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1907FP (Analog); DEL4014; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1907FP (Digital); DEL4015; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1907FPV(Analog); DEL4019; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1908FP(Analog); DEL4025; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1908FP(Digital); DEL4026; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1907FPV(Digital); DEL4020; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 2000FP (Analog); DELA002; 31.5-80.0; 56.0-76.0; 1
+ Dell; Dell 2000FP (Digital); DELA003; 31.5-80.0; 56.0-76.0; 1
+-Dell; Dell 2001FP (Analog); DELa007; 31-80; 56-76; 1600x1200
++Dell; Dell 2001FP (Analog); DELA007; 31.0-80.0; 56.0-76.0; 1
+ Dell; Dell 2001FP (Digital); DELA008; 31.0-80.0; 56.0-76.0; 1
+ Dell; Dell 2005FPW (Analog); DELE008; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell 2005FPW (Digital); DELE009; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell 2007FP (Analog); DELA020; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2007FP (Digital); DELA021; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2007WFP (Analog); DELA018; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2007WFP (Digital); DELA019; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2405FPW (Analog); DELA00F; 30.0-83.0; 56.0-76.0
++Dell; Dell 2405FPW (Analog); DELA00F; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2405FPW (Digital); DELA010; 30.0-83.0; 56.0-76.0
++Dell; Dell 2405FPW (Digital); DELA010; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2407WFP (Analog); DELA016; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2407WFP (Digital); DELA017; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2707WFP; DELD013; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 3007WFP; DEL4016; 30.0-100.0; 56.0-76.0; 1
+ Dell; Dell 800M; del5697; 30.0-70.0; 50.0-130.0; 1
+ Dell; Dell 828FI; del3319; 30.0-70.0; 50.0-120.0; 1
+ Dell; Dell D1025HE; del6124; 31.5-92.0; 50.0-150.0; 1
+@@ -1045,7 +1214,7 @@
+ Dell; Dell D1028L; del730b; 31.0-70.0; 50.0-120.0; 1
+ Dell; Dell D1226H; del7077; 30.0-95.0; 50.0-160.0; 1
+ Dell; Dell D1428L; del3276; 31.0-48.0; 43.0-75.0; 1
+-Dell; Dell D1626HT; DEL515b; 30-107; 50-160; 
++Dell; Dell D1626HT; del515b; 31.0-107.0; 50.0-160.0; 1
+ Dell; Dell D2026T; del5314; 31.0-96.0; 50.0-100.0; 1
+ Dell; Dell D2128-TCO; del602f; 31.0-102.0; 50.0-150.0; 1
+ Dell; Dell D825HR; del62ff; 31.0-70.0; 50.0-120.0; 1
+@@ -1057,11 +1226,22 @@
+ Dell; Dell E151FPp; DEL7006; 30.0-61.0; 56.0-76.0; 1
+ Dell; Dell E152FP; DELA009; 30.0-63.0; 56.0-76.0; 1
+ Dell; Dell E153FP; DELA00C; 30.0-63.0; 56.0-76.0; 1
++Dell; Dell E156FP; DELA013; 30.0-63.0; 56.0-76.0; 1
++Dell; Dell E157FP; DELA022; 30.0-63.0; 56.0-76.0; 1
+ Dell; Dell E171FP; DEL300F; 30.0-80.0; 56.0-76.0; 1
+ Dell; Dell E171FPb; DELA006; 31.0-80.0; 56.0-76.0
+ Dell; Dell E172FP; DELA00A; 31.0-80.0; 56.0-76.0; 1
+ Dell; Dell E173FP; DELA00B; 31.0-80.0; 56.0-76.0; 1
++Dell; Dell E176FP; DELA014; 31.0-80.0; 56.0-75.0; 1
++Dell; Dell E177FP; DELA023; 31.0-80.0; 56.0-75.0; 1
++Dell; Dell E178FP; DELA027; 31.0-80.0; 56.0-75.0; 1
+ Dell; Dell E193FP; DEL700E; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell E196FP; DELA015; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell E197FP; DELA024; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell E198FP; DELA028; 31.0-83.0; 56.0-76.0; 1
++Dell; DELL E207WFP; DELD010; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell E207WFP; DELD011; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell E228WFP; DELD015; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell E550; dela2f1; 30.0-54.0; 50.0-120.0; 1
+ Dell; Dell E550mm; dela355; 30.0-54.0; 50.0-120.0; 1
+ Dell; Dell E551a; dela000; 30.0-54.0; 50.0-120.0; 1
+@@ -1074,8 +1254,9 @@
+ Dell; Dell E772c; DELD002; 30.0-70.0; 50.0-160.0; 1
+ Dell; Dell E772p; DEL7005; 30.0-70.0; 50.0-160.0; 1
+ Dell; Dell E773c; DELD005; 30.0-70.0; 50.0-160.0; 1
+-Dell; Dell E773s; DEL3012; 30.0-70.0; 50.0-160.0; 1
++Dell; Dell E773mm; DELD009; 30.0-70.0; 50.0-160.0; 1
+ Dell; Dell E773p; DEL700B; 30.0-70.0; 50.0-160.0; 1
++Dell; Dell E773s; DEL3012; 30.0-70.0; 50.0-160.0; 1
+ Dell; Dell Eizo 9080i; 0; 30.0-64.0; 50.0-90.0; 1
+ Dell; Dell ES-17; del635e; 31.0-85.0; 50.0-100.0; 1
+ Dell; Dell GPD-16C; 0; 20.0-50.0; 50.0-90.0; 1
+@@ -1089,6 +1270,7 @@
+ Dell; Dell M781s; del32b0; 30.0-85.0; 50.0-160.0; 1
+ Dell; Dell M782; DEL3008; 30.0-85.0; 50.0-160.0; 1
+ Dell; Dell M782p; DEL7004; 30.0-85.0; 50.0-160.0; 1
++Dell; Dell M783c; DELD008; 30.0-85.0; 50.0-160.0; 1
+ Dell; Dell M783p; DEL700D; 30.0-85.0; 50.0-160.0; 1
+ Dell; Dell M783s; DEL3013; 30.0-85.0; 50.0-160.0; 1
+ Dell; Dell M791; del7001; 30.0-96.0; 50.0-160.0; 1
+@@ -1097,26 +1279,30 @@
+ Dell; Dell M992; DEL300E; 30.0-96.0; 50.0-160.0; 1
+ Dell; Dell M993c; DELD006; 30.0-96.0; 50.0-160.0; 1
+ Dell; Dell M993s; DEL3014; 30.0-96.0; 50.0-160.0; 1
+-Dell; Dell P1110; DEL50ab; 30-121; 48-160; 1280x1024
++Dell; Dell P1110; del50ab; 30.0-121.0; 48.0-160.0; 1
+ Dell; Dell P1130; del5000; 30.0-130.0; 48.0-170.0; 1
++Dell; Dell P1230; DEL700C; 30.0-130.0; 50.0-160.0; 1
+ Dell; Dell P1690; del5348; 30.0-96.0; 50.0-160.0; 1
+ Dell; Dell P780; del510f; 30.0-85.0; 48.0-120.0; 1
+-Dell; Dell P790; DEL62f5; 30-92; 50-150; 1024x768
++Dell; Dell P790; del62f5; 30.0-92.0; 50.0-150.0; 1
+ Dell; Dell P791; del3000; 30.0-96.0; 50.0-160.0; 1
+ Dell; Dell P792; DEL5001; 30.0-96.0; 48.0-170.0; 1
+ Dell; Dell P793; DEL3005; 30.0-96.0; 50.0-160.0; 1
+ Dell; Dell P990; del50dd; 30.0-96.0; 48.0-120.0; 1
+ Dell; Dell P991; del5178; 30.0-107.0; 48.0-120.0; 1
+ Dell; Dell P992; DEL5002; 30.0-107.0; 48.0-170.0; 1
+-Dell; Dell P1230; DEL700C; 30.0-130.0; 50.0-160.0; 1
++Dell; Dell SE177FP; DELF001; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SE197FP; DELF002; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SP1908FP; DEL4030; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SP1908FP (DVI); DEL4031; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell Super VGA; 0; 30.0-38.5; 50.0-90.0; 1
+ Dell; Dell Super VGA Colour; 0; 29.0-38.0; 47.0-100.0; 1
+ Dell; Dell Super VGA DL 1428 I/L; 0; 35.5; 87.0; 1
+ Dell; Dell Super VGA Jostens; 0; 30.0-48.1; 50.0-72.0; 1
+ Dell; Dell UGA DL 1460 NI; 0; 30.0-58.2; 50.0-72.2; 1
+-Dell; Dell Ultrascan 14C; 0; 30.0-50.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 14C-E; 0; 30.0-60.0; 50.0-100.0; 1
+ Dell; Dell Ultrascan 14C-EN; 0; 30.0-60.0; 50.0-100.0; 1
++Dell; Dell Ultrascan 14C; 0; 30.0-50.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 14ES; 0; 31.5-62.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 14LR; 0; 30.0-58.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 14XE; del139a; 30.0-62.0; 50.0-120.0; 1
+@@ -1124,8 +1310,8 @@
+ Dell; Dell Ultrascan 14XE; del139c; 30.0-62.0; 50.0-120.0; 1
+ Dell; Dell Ultrascan 14XE; del139d; 30.0-62.0; 50.0-120.0; 1
+ Dell; Dell Ultrascan 15ES/15ES-P; 0; 31.5-62.0; 50.0-90.0; 1
+-Dell; Dell Ultrascan 15FS/15FS-E; 0; 30.0-60.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 15FS-N/15FS-EN; 0; 30.0-60.0; 50.0-100.0; 1
++Dell; Dell Ultrascan 15FS/15FS-E; 0; 30.0-60.0; 50.0-90.0; 1
+ Dell; Dell Ultrascan 15LR; 0; 31.5-57.0; 55.0-90.0; 1
+ Dell; Dell Ultrascan 15TE; 0; 31.0-64.0; 50.0-120.0; 1
+ Dell; Dell Ultrascan 17ES; 0; 30.0-78.0; 50.0-130.0; 1
+@@ -1200,7 +1386,6 @@
+ Digital Equipment Corp.; Digital FR-PCXAV-WY; dec06f9; 30.0-95.0; 50.0-152.0; 1
+ Digital Equipment Corp.; Digital FR-PCXAV-YY; dec0739; 30.0-85.0; 48.0-150.0; 1
+ Digital Equipment Corp.; Digital FR-PCXBV-JZ; dec5a09; 30.0-69.0; 50.0-110.0; 1
+-Eizo Nanao; Eizo Nanao L557; ENC1689; 31-64; 59-61; 1280x1024
+ Eizo; Eizo 9060S; eiz0302; 15.5-38.5; 50.0-90.0; 1
+ Eizo; Eizo 9065S; eiz0303; 30.0-50.0; 50.0-90.0; 1
+ Eizo; Eizo 9070S; eiz0306; 20.0-50.0; 50.0-90.0; 1
+@@ -1257,7 +1442,7 @@
+ Eizo; Eizo FX-D7; eiz1413; 30.0-96.0; 50.0-160.0; 1
+ Eizo; Eizo FX-E7; eiz1406; 30.0-95.0; 50.0-160.0; 1
+ Eizo; Eizo FX-E8; eiz1407; 31.5-110.0; 50.0-160.0; 1
+-Eizo; Eizo NANAO FlexScan FX-C7; eiz1420; 30.0-96.0; 50.0-160.0; 1
++Eizo; Eizo Nanao FlexScan FX-C7; eiz1420; 30.0-96.0; 50.0-160.0; 1
+ Eizo; Eizo Nanao FlexScan FX-E7S; eiz1418; 30.0-110.0; 50.0-160.0; 1
+ Eizo; Eizo T57; eiz1005; 27.0-92.0; 50.0-160.0; 1
+ Eizo; Eizo T57S; eiz1001; 30.0-92.0; 50.0-160.0; 1
+@@ -1278,6 +1463,8 @@
+ Eizo Nanao; Eizo L351; enc1616; 30.0-50.0; 59.0-61.0; 1
+ Eizo Nanao; Eizo L371D; enc1617; 27.0-65.0; 59.0-61.0; 1
+ Eizo Nanao; Eizo L371; enc1618; 27.0-61.0; 50.0-75.0; 1
++EIZO Nanao; Eizo L568D; enc1733; 31.0-64.0; 59.0-61.0; 1
++EIZO Nanao; Eizo L568; enc1734; 24.0-80.0; 50.0-75.0; 1
+ Eizo Nanao; Eizo L771; enc1622; 27.0-81.0; 50.0-75.0; 1
+ Eizo Nanao; Eizo T550; enc1600; 30.0-82.0; 50.0-160.0; 1
+ Eizo Nanao; Eizo T561; enc1615; 30.0-96.0; 50.0-160.0; 1
+@@ -1296,8 +1483,6 @@
+ Elitegroup Computer Systems; ECS VERTOS 2102; ecs0009; 24.0-90.0; 50.0-100.0; 1
+ Elsa AG; Elsa Ecomo Office; els4160; 30.0-86.0; 50.0-130.0; 1
+ Elsa AG; Elsa GDM-17E40; 135; 29-82; 50-150
+-EMC; EMC 787n Flat Panel; EMC0313; 30-80; 50-160; 1
+-EMC; EMC EF-836; 0; 31.5,35.5; 50-90
+ EMC; EMC SA-560; 0; 30-64; 50-100; 1
+ Epson; Epson CG1428I; epson2; 35.5; 56.0-87.0; 1
+ Epson; Epson CG1428N; epson3; 48.0; 56.0-87.0; 1
+@@ -1360,6 +1545,7 @@
+ Fujitsu; Fujitsu FMV-DP97X2; fuja901; 30.0-92.0; 50.0-120.0; 1
+ Fujitsu; Fujitsu FMV-DP97X3; fujaa01; 30.0-70.0; 50.0-150.0; 1
+ Fujitsu; Fujitsu FMV-DP97X4; fuj6110; 30.0-92.0; 50.0-120.0; 1
++Fujitsu; Fujitsu 38B1; FUS0371; 30.0-61.0; 55.0-75.0; 1
+ Fujitsu; Fujitsu FMVDP97X5(G)/FMVDP97X6; fuj6210; 30.0-92.0; 50.0-150.0; 1
+ Fujitsu; Fujitsu FMVDP97X5(G)/X6/9711; fuj6210; 30.0-92.0; 50.0-150.0; 1
+ Fujitsu; Fujitsu FMVDP97X7(G)/X8; fuj6310; 30.0-85.0; 50.0-150.0; 1
+@@ -1408,8 +1594,6 @@
+ Fujitsu; Fujitsu x177; fuj2218; 30.0-92.0; 50.0-150.0; 1
+ Fujitsu; Fujitsu x191; icl2800; 30.0-96.0; 50.0-160.0; 1
+ Funai Electric Company of Taiwan; Funai 17GD; fcm3313; 30.0-70.0; 50.0-120.0; 1
+-Futura; Futura K7034LD 0; 30.0-95.0; 50.0-160.0; 1
+-Futura; Futura K9034LD 0; 30.0-95.0; 50.0-160.0; 1
+ Gateway; Gateway 14SVGA; 14svga; 31.5-35.5; 50-90; 1
+ Gateway; Gateway AN1_15; gwy07d0; 30-60; 50-100; 1
+ Gateway; Gateway CM751; gwy0013; 31-95; 50-160; 1
+@@ -1432,58 +1616,129 @@
+ Gateway; Gateway EV500; gwy138a; 31-69; 50-110; 1
+ Gateway; Gateway EV500; gwy138b; 31-69; 50-110; 1
+ Gateway; Gateway EV500; gwy138c; 31-69; 50-110; 1
++Gateway; Gateway EV500B; gwy1390; 30.0-70.0; 50.0-160.0; 1
+ Gateway; Gateway EV500; gwy5005; 31-69; 50-110; 1
+-Gateway; Gateway EV575; gwy15c7; 31.0-60.0; 50.0-110.0+; 1
++Gateway; Gateway EV500; gwy1393; 30.0-70.0; 50.0-120.0; 1
++Gateway; Gateway EV530; gwy1394; 30.0-56.0; 50.0-120.0; 1
++Gateway; Gateway EV575; gwy15c7; 31.0-60.0; 50.0-110.0; 1
+ Gateway; Gateway EV700; gwy1b5a; 31-69; 50-110; 1
+ Gateway; Gateway EV700; gwy1b5b; 31-69; 50-110; 1
+ Gateway; Gateway EV700; gwy1b5c; 31-69; 50-110; 1
+ Gateway; Gateway EV700; gwy1b5d; 31-69; 50-110; 1
+ Gateway; Gateway EV700; gwy1b5e; 31-69; 50-110; 1
+ Gateway; Gateway EV700; gwy1b5f; 31-69; 50-110; 1
+-Gateway; Gateway EV700; GWY1B62; 30.0-70.0; 50.0-160.0
++Gateway; Gateway EV700; gwy1B62; 30.0-70.0; 50.0-160.0; 1
++Gateway; Gateway EV700; gwy1B67; 30.0-69.0; 50.0-120.0; 1
+ Gateway; Gateway EV700; gwy7658; 30.0-70.0; 50.0-120.0; 1
++Gateway; Gateway EV700B; gwy1B64; 30.0-70.0; 50.0-160.0; 1
+ Gateway; Gateway EV700-H; gwy7659; 30.0-70.0; 50.0-120.0; 1
++Gateway; Gateway EV700C; gwy1B66; 30.0-70.0; 50.0-160.0; 1
++Gateway; Gateway EV730; gwy1B69; 30.0-69.0; 50.0-120.0; 1
++Gateway; Gateway EV730; gwy1B6A; 30.0-71.0; 50.0-160.0; 1
++Gateway; Gateway EV730; gwy1B6B; 30.0-71.0; 50.0-160.0; 1
++Gateway; Gateway EV910C; gwy232C; 30.0-95.0; 50.0-160.0; 1
+ Gateway; Gateway EV900; gwy8883; 30.0-95.0; 50.0-160.0; 1
+ Gateway; Gateway EVF720; gwy031b; 30.0-96.0; 50.0-130.0; 1
+ Gateway; Gateway FPD1500; gwy05dc; 30-61; 56-75; 1
++Gateway; Gateway FPD1510 (Analog); gwy05E6; 31.0-61.0; 56.0-75.0; 1
++Gateway; Gateway FPD1510 (Digital); gwy05E7; 31.0-61.0; 56.0-75.0; 1
++Gateway; Gateway FPD1520 R0; gwy05F0; 37.0-66.0; 50.0-75.0; 1
++Gateway; Gateway FPD1520 R1; gwy05F1; 31.0-60.0; 55.0-75.0; 1
++Gateway; Gateway FPD1520 R2; gwy05F2; 31.0-61.0; 56.0-75.0; 1
++Gateway; Gateway FPD1530 R0; gwy05FA; 31.0-63.0; 55.0-75.0; 1
++Gateway; Gateway FPD1530 R1; gwy05FB; 31.0-66.0; 50.0-75.0; 1
++Gateway; Gateway FPD1530 R2; gwy05FC; 31.0-63.0; 56.0-75.0; 1
++Gateway; Gateway FPD1530 R3; gwy05FD; 31.0-66.0; 50.0-75.0; 1
++Gateway; Gateway FPD1530 R4; gwy05FE; 31.0-63.0; 56.0-75.0; 1
++Gateway; Gateway FPD1530 R5; gwy05FF; 31.0-63.0; 56.0-75.0; 1
++Gateway; Gateway FPD1540 R0; gwy0604; 31.0-63.0; 55.0-75.0; 1
++Gateway; Gateway FPD1540 R1; gwy0605; 31.0-63.0; 55.0-75.0; 1
++Gateway; Gateway FPD1540 R2; gwy0606; 31.0-63.0; 55.0-75.0; 1
++Gateway; Gateway FPD1700 R0; gwy06A4; 31.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD1700 R1; gwy06A5; 31.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD1720; gwy06C3; 30.0-82.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R0; gwy06C2; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R1; gwy06C4; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R2; gwy06C5; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R3; gwy06C6; 30.0-83.0; 50.0-75.0; 1
++Gateway; Gateway FPD1730 R4; gwy06C7; 30.0-83.0; 50.0-75.0; 1
++Gateway; Gateway FPD1730 R5; gwy06C8; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R6; gwy06C9; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R7; gwy06CA; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R8; gwy06CB; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R9; gwy06CC; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R10; gwy06CE; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1730 R11; gwy06CF; 30.0-83.0; 56.0-75.0; 1
+ Gateway; Gateway FPD1800; gwy0708; 63.9; 60.0; 1
++Gateway; Gateway FPD1810 (Analog); gwy0712; 31.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD1810 (Digital); gwy0713; 31.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD1830 R0 (Analog); gwy0726; 30.0-83.0; 56.0-76.0; 1
++Gateway; Gateway FPD1830 R0 (Digital); gwy0727; 30.0-83.0; 56.0-76.0; 1
++Gateway; Gateway FPD1830 R1 (Analog); gwy0728; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1830 R1 (Digital); gwy0729; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1830 R2 (Analog); gwy072C; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1830 R2 (Digital); gwy072D; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1830 R3 (Analog); gwy0726; 30.0-83.0; 56.0-85.0; 1
++Gateway; Gateway FPD1830 R3 (Digital); gwy0727; 30.0-83.0; 56.0-85.0; 1
++Gateway; Gateway FPD1830 R4 (Analog); gwy072E; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1830 R4 (Digital); gwy072F; 30.0-68.0; 56.0-75.0; 1
++Gateway; Gateway FPD1930 (Analog); gwy078A; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1930 (Digital); gwy078B; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1940 (Analog); gwy0794; 30.0-83.0; 56.0-75.0; 1
++Gateway; Gateway FPD1940 (Digital); gwy0795; 30.0-71.0; 56.0-75.0; 1
++Gateway; Gateway FPD2020 R0 (Analog); gwy07E4; 30.0-96.0; 56.0-75.0; 1
++Gateway; Gateway FPD2020 R0 (Digital); gwy07E5; 30.0-80.0; 56.0-75.0; 1
++Gateway; Gateway FPD2020 R1 (Analog); gwy07E6; 30.0-96.0; 56.0-85.0; 1
++Gateway; Gateway FPD2020 R1 (Digital); gwy07E7; 30.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD2020 R2 (Analog); gwy07E9; 28.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD2020 R2 (Digital); gwy07E8; 28.0-80.0; 56.0-85.0; 1
++Gateway; Gateway FPD2200 (Analog); gwy0899; 30.0-70.0; 56.0-61.0; 1
++Gateway; Gateway FPD2200 (Digital); gwy0898; 30.0-70.0; 56.0-61.0; 1
++Gateway; Gateway LE500; gwy1392; 30.0-70.0; 50.0-120.0; 1
+ Gateway; Gateway PFL2-15A; gwy060e; 48.0; 60; 1
+ Gateway; Gateway Vivitron 15; vivitron15; 31-64; 50-120; 1
+ Gateway; Gateway Vivitron 17; vivitron17; 31.5-64; 50-120; 1
+ Gateway; Gateway Vivitron 20; vivitron20; 29-82; 50-150; 1
+ Gateway; Gateway VX1100; gwy0454; 31.0-108.0; 50.0-160.0; 1
+ Gateway; Gateway VX1110; gwy045b; 31.0-115.0; 50.0-160.0; 1
+-Gateway; Gateway VX1120; gwy0460; 30-121; 50-160; 1
++Gateway; Gateway VX1120; gwy0460; 30.0-121.0; 50.0-160.0; 1
++Gateway; Gateway VX1120; gwy046A; 30.0-130.0; 50.0-160.0; 1
++Gateway; Gateway VX1130; gwy046B; 30.0-140.0; 50.0-160.0; 1
+ Gateway; Gateway VX700A; gwy044e; 30.0-86.0; 50.0-130.0; 1
+ Gateway; Gateway VX700; gwy044d; 30.0-86.0; 50.0-120.0; 1
+ Gateway; Gateway VX700; mel1673; 30.0-86.0; 50.0-120.0; 1
+ Gateway; Gateway VX720; gwy02d0; 30.0-96.0; 50.0-130.0; 1
++Gateway; Gateway VX720A; gwy02DA; 30.0-96.0; 50.0-160.0; 1
++Gateway; Gateway VX730; gwy1B68; 30.0-85.0; 50.0-160.0; 1
++Gateway; Gateway VX730; gwy1B6C; 30.0-85.0; 50.0-160.0; 1
++Gateway; Gateway VX730; gwy1B6D; 30.0-85.0; 50.0-160.0; 1
+ Gateway; Gateway VX900; gwy0013; 30.0-95.0; 50.0-160.0; 1
+ Gateway; Gateway VX900; gwy9095; 30.0-95.0; 50.0-160.0; 1
+ Gateway; Gateway VX900T; gwy00c0; 30.0-96.0; 48.0-120.0; 1
+ Gateway; Gateway VX920; gwy0398; 30.0-96.0; 50.0-140.0; 1
+-Generic; 1024x768 @ 60 Hz; 0; 31.5-48.5; 50-70
+-Generic; 1024x768 @ 70 Hz; 0; 31.5-57.0; 50-70
+-Generic; 1280x1024 @ 60 Hz; 0; 31.5-64.3; 50-70
+-Generic; 1280x1024 @ 74 Hz; 0; 31.5-79.0; 50-90
+-Generic; 1280x1024 @ 76 Hz; 0; 31.5-82; 50-90
+-Generic; 1400x1050; 0; 31.5-82; 50-90
+-Generic; 1600x1200 @ 70 Hz; 0; 31.5-88.0; 50-90
+-Generic; 1600x1200 @ 76 Hz; 0; 31.5-94.0; 50-90
+-Generic; 640x480 @ 60 Hz; 0; 31.5; 50-61
+-Generic; 800x600 @ 56 Hz; 0; 31.5-35.1; 50-61
+-Generic; 800x600 @ 60 Hz; 0; 31.5-37.9; 50-70
+-Generic; Flat Panel 1024x768; 0; 31.5-55; 40-70
+-Generic; Flat Panel 1280x768; 0; 31.5-90; 60
+-Generic; Flat Panel 1280x800; 0; 31.5-90; 60
+-Generic; Flat Panel 1280x1024; 0; 31.5-90; 60
+-Generic; Flat Panel 1440x900; 0; 31.5-90; 60
+-Generic; Flat Panel 1400x1050; 0; 31.5-90; 60
+-Generic; Flat Panel 1680x1050; 0; 31.5-90; 60
+-Generic; Flat Panel 1600x1200; 0; 31.5-90; 60
+-Generic; Flat Panel 1920x1200; 0; 31.5-90; 60
+-Generic; Flat Panel 640x480; 0; 31.5; 40-70
+-Generic; Flat Panel 800x600; 0; 31.5-37.9; 40-70
++Gateway; Gateway VX920A; gwy03A2; 30.0-110.0; 50.0-160.0; 1
++Gateway; Gateway VX930; gwy232D; 30.0-97.0; 50.0-160.0; 1
++Gateway; Gateway PF41700; gtw7900; 30.0-82.0; 56.0-75.0; 1
++Gateway; Gateway PF41500; gtw7800; 31.0-63.0; 56.0-75.0; 1
++Generic LCD Display; LCD Panel 640x480; 0; 31.5; 56.0 - 65.0
++Generic LCD Display; LCD Panel 800x600; 0; 31.5-37.9; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1024x768; 0; 31.5-48.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1280x800; 0; 31.5-50.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1280x1024; 0; 31.5-64.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1360x768; 0; 31.5-48.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1400x1050; 0; 31.5-65.5; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1440x900; 0; 31.5-56.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1600x1200; 0; 31.5-74.7; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1680x1050; 0; 31.5-65.5; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1920x1080; 0; 31.5-67.0; 56.0 - 65.0
++Generic LCD Display; LCD Panel 1920x1200; 0; 31.5-74.5; 56.0 - 65.0
++Generic LCD Display; LCD Panel 2560x1600; 0; 31.5-99.0; 56.0 - 65.0
++Generic CRT Display; Monitor 640x480; 0; 31.5; 50-61
++Generic CRT Display; Monitor 800x600; 0; 31.5-35.1; 50-61
++Generic CRT Display; Monitor 1024x768; 0; 31.5-61.0; 50-75
++Generic CRT Display; Monitor 1280x1024; 0; 31.5-81.0; 50-75
++Generic CRT Display; Monitor 1400x1050; 0; 31.5-94.0; 50-85
++Generic CRT Display; Monitor 1600x1200; 0; 31.5-107.5; 50-85
+ Geritec; Geritec PR568; BMM0238; 31-60; 60-75
+ Golden Dragon; Golden Dragon TY-1411; ty-1411; 15.5-37.0; 50.0-120.0; 1
+ Golden Dragon; Golden Dragon TY-2015; ty-2015; 30.0-65.0; 49.0-88.0; 1
+@@ -1493,7 +1748,6 @@
+ Goldstar; Goldstar LG StudioWorks74m; 0; 30.0-50.0; 50.0-90.0
+ Goldstar; Goldstar LG StudioWorks76i; 0; 30.0-65.0; 50.0-110.0
+ Goldstar; Goldstar LG StudioWorks76m; 0; 30.0-65.0; 50.0-110.0
+-Goldstar; Goldstar LG StudioWorks77i; 0; 30.0-70.0; 50.0-160.0; 1
+ Goldstar; Goldstar LG StudioWorks78i; 0; 30.0-85.0; 50.0-120.0
+ Goldstar; Goldstar LG StudioWorks78T; 0; 30.0-85.0; 50.0-120.0
+ GoldStar Technology, Inc.; GoldStar 1423; 1423; 31.5; 70; 1
+@@ -1521,7 +1775,6 @@
+ HCI; HCI Maxiscan; maxiscan; 15.0-35.0; 50.0-70.0; 1
+ Hewlett-Packard; HP 1024 LCD Flat Panel 14-inch Display; 0; 32-61; 50-90
+ Hewlett-Packard; HP 1024 LE Flat Panel 14-inch Display; 0; 32-54; 50-105
+-Hewlett-Packard; HP 2025 (P4831) 20.2-inch LCD Monitor; hwp144a; 30-94; 56-85; 1
+ Hewlett-Packard; HP A1295A 24-inch Display; 0; 30-96; 50-160; 1
+ Hewlett-Packard; HP A4033A 21-inch Display; 0; 30-80; 50-120; 1
+ Hewlett-Packard; HP A4331A 20-inch Display; 0; 30-82; 48-150; 1
+@@ -1565,7 +1818,7 @@
+ Hewlett-Packard; HP D2830 Ergo 1024 15-inch Display; hwp0b0e; 30.0-69.0; 50.0-160.0; 1
+ Hewlett-Packard; HP D2831 Ergo 1024 Extra Low Emissions 15-inch Display; hwp0b0f; 30.0-69.0; 50.0-160.0; 1
+ Hewlett-Packard; HP D2832 HP 500 15-inch Monitor; hwp0b10; 30.0-70.0; 50.0-120.0; 1
+-Hewlett-Packard; HP D2835 Ultra VGA 1280 17-inch Display; hwp0b13; 30.0-69.0; 50.0-160.0; 1
++Hewlett-Packard; HP D2835 Ultra VGA 1280 17-inch Display; hwp0b13; 30.0-69.0; 50.0-132.0; 1
+ Hewlett-Packard; HP D2836 Ultra VGA 1280 Extra Low Emissions 17-inch Display; hwp0b14; 30.0-69.0; 50.0-160.0; 1
+ Hewlett-Packard; HP D2837 HP 70 17-inch Display; hwp0b15; 31.0-70.0; 50.0-120.0; 1
+ Hewlett-Packard; HP D2838 M700 17-inch Display; hwp0b16; 30.0-86.0; 50.0-160.0; 1
+@@ -1636,8 +1889,6 @@
+ Hewlett-Packard; HP M910 19-inch Display; 0; 29-107; 50-150
+ Hewlett-Packard; HP M920 19-inch Display; 0; 29-107; 50-150
+ Hewlett-Packard; HP P1230 Color Monitor; HWP2617; 30.0-140.0; 50.0-160.0; 1
+-Hewlett-Packard; HP P4819 HP P1130 21-inch Monitor; hwp12d3; 30.0-130.0; 48.0-170.0; 1
+-Hewlett-Packard; HP P4829 L1820 18.1-inch LCD Monitor; hwp12dd; 31-80; 56-75; 1
+ Hewlett-Packard; HP P4829J L1820 18.1-inch LCD Monitor; 0; 25-82; 54-88; 1
+ Hewlett-Packard; HP Pavilion M45/S40 Monitor; hwp14b2; 31.468-50.0; 56.0-75.0; 1
+ Hewlett-Packard;HP F1503 Flat Panel Monitor;hwp2590;30.0-63.0;56.0-76.0;1
+@@ -1654,6 +1905,7 @@
+ Hewlett-Packard;HP L1530 Flat Panel Monitor;hwp260c;30.0-63.0;56.0-76.0;1
+ Hewlett-Packard;HP L1925 Flat Panel Monitor;hwp259a;30.0-82.0;56.0-76.0;1
+ Hewlett-Packard;HP L1925 Flat Panel Monitor;hwp259b;30.0-82.0;56.0-76.0;1
++Hewlett-Packard;HP L1940 Flat Panel Monitor;hwp262e;30.0-83.0;56.0-76.0;1
+ Hewlett-Packard;HP P930 Color Monitor;hwp03a2;30.0-110.0;50.0-160.0;1
+ Hewlett-Packard;HP L1502 Flat Panel Monitor;hwp2600;30.0-61.0;56.0-76.0;1
+ Hewlett-Packard;HP 1825 Flat Panel Monitor;hwp0721;30.0-82.0;56.0-76.0;1
+@@ -1663,6 +1915,18 @@
+ Hewlett-Packard;HP M703 Color Monitor;hwp2584;30.0-70.0;50.0-140.0;1
+ Hewlett-Packard;HP VF15 Flat Panel Monitor;hwp2608;30.0-61.0;56.0-76.0;1
+ Hewlett-Packard;HP P1130 Color Monitor;hwp12d3;30.0-130.0;48.0-170.0;1
++Hewlett-Packard;HP F2105 Flat Panel Monitor;hwp2655;30.0-94.0;48.0-85.0;1
++Hewlett-Packard;HP L1506 Flat Panel Monitor;hwp265b;30.0-83.0;50.0-76.0;1
++Hewlett-Packard;HP L1740 LCD Flat Panel Monitor;hwp2649;30.0-83.0;56.0-76.0;1
++Hewlett-Packard;HP L1755 LCD Flat Panel Monitor;hwp264b;30.0-82.0;56.0-75.0;1
++Hewlett-Packard;HP L1906 Flat Panel Monitor;hwp265e;30.0-83.0;50.0-76.0;1
++Hewlett-Packard;HP L1940 LCD Flat Panel Monitor;hwp262f;30.0-83.0;65.0-76.0;1
++Hewlett-Packard;HP L1940T Flat Panel Monitor;hwp2683;30.0-83.0;56.0-76.0;1
++Hewlett-Packard;HP L1955 LCD Flat Panel Monitor;hwp262c;30.0-82.0;56.0-75.0;1
++Hewlett-Packard;HP LP2065 Flat Panel Monitor;hwp0a72;30.0-92.0;48.0-85.0;1
++Hewlett-Packard;HP L2335 LCD Flat Panel Monitor;hwp2615;30.0-92.0;48.0-85.0;1
++Hewlett-Packard;HP LP2465 Flat Panel Monitor;hwp2676;30.0-92.0;48.0-85.0;1
++Hewlett-Packard; HP TFT5600 RKM; 0; 29.2-48.4; 60; 1
+ Highscreen; Highscreen LE 1024; 45; 31.4-31.6,35.1-35.2,35.5-35.6; 50-87
+ Hitachi, Ltd.; Hitachi 20-AP; 20-ap; 30.0-65.0; 55.0-80.0; 1
+ Hitachi, Ltd.; Hitachi 20-APF; 20-apf; 30.0-65.0; 55.0-80.0; 1
+@@ -1816,8 +2080,6 @@
+ Hyundai Electronics Industries Co., Ltd.; Hyundai HT-7695B; hei769b; 30.0-95.0; 50.0-150.0; 1
+ Hyundai Electronics Industries Co., Ltd.; Hyundai ImageFlat F790D; heif790; 30.0-96.0; 50.0-150.0; 1
+ Hyundai Electronics Industries Co., Ltd.; Hyundai ImageFlat F910; heif910; 30.0-110.0; 50.0-150.0; 1
+-Hyundai Electronics Industries Co., Ltd.; Hyundai Image Quest B91A; HIQ500a; 31-83; 56-75; 1280x1024
+-Hyundai Electronics Industries Co., Ltd.; Hyundai Image Quest Q17; IQT217a; 31-80; 56-75; 1
+ IBM; IBM 2112; ibm2112; 31.0-38.0; 50.0-80.0; 1
+ IBM; IBM 2113; ibm2113; 31.0-38.0; 50.0-80.0; 1
+ IBM; IBM 2114; ibm2114; 31.0-62.0; 50.0-120.0; 1
+@@ -1916,7 +2178,7 @@
+ IBM; IBM P201; ibmp201; 30.0-107.0; 50.0-160.0; 1
+ IBM; IBM P50; ibm1999; 30.0-69.0; 50.0-120.0; 1
+ IBM; IBM P70; ibm199a; 29.0-82.0; 50.0-120.0; 1
+-IBM; IBM T85A; ibm252f; 30.0-82.0; 56.0-75.0; 1
++IBM; IBM P76; IBM1996; 30.0-94.0; 48.0-120.0
+ ICL; ICL 14C; icl14c; 34.2-36.2; 50.0-90.0; 1
+ ICL; ICL 14M; icl14m; 31.5; 70; 1
+ ICL; ICL 14V; icl14v; 37.9; 58.0-75.0; 1
+@@ -1944,19 +2206,13 @@
+ Iiyama; Iiyama A101GT, VisionMasterPro 501; ivm2118; 27.0-96.0; 50.0-160.0; 1
+ Iiyama; Iiyama A102GT, VisionMasterPro 502; ivm2128; 27.0-110.0; 50.0-160.0; 1
+ Iiyama; Iiyama A201HT, VisionMaster Pro 510; ivm2140; 30.0-130.0; 50.0-160.0; 1
+-Iiyama; Iiyama LS902U; IVM1938; 30-96; 50-160; 
+ Iiyama; Iiyama MA201D, VisionMaster Pro 511; ivm2150; 30.0-110.0; 50.0-180.0; 1
+ Iiyama; Iiyama A701GT, VisionMasterPro 400; ivm1711; 27.0-96.0; 50.0-160.0; 1
+ Iiyama; Iiyama A702HT, VisionMaster Pro 410; ivm1740; 27.0-96.0; 50.0-160.0; 1
+ Iiyama; Iiyama A705MT, VisionMaster Pro 411 /i70A; ivm174a; 30.0-86.0; 50.0-180.0; 1
+ Iiyama; Iiyama A901HT, VisionMaster Pro 450; ivm1901; 27.0-115.0; 50.0-160.0; 1
+ Iiyama; Iiyama A902MT, VisionMaster Pro 451; ivm1918; 30.0-115.0; 50.0-180.0; 1
+-Iiyama; Iiyama AS4314UT 17inches; ivm4648; 24.0-80.0; 56.0-75.0; 1
+-Iiyama; Iiyama AS4612UT 18inches; ivm4698; 24.0-80.0; 56.0-85.0; 1
+ Iiyama; Iiyama DR-3114; dr-3114; 38.0; 43.0-70.0; 1
+-Iiyama; Iiyama HM204DT, VisionMaster Pro 514; IVM216a; 30.0-142.0; 50.0-200.0; 1
+-Iiyama; Iiyama HM704UTC, Diamondtron; ivm175c; 30.0-96.0; 50-160; 1
+-Iiyama; Iiyama MA201D, VisionMaster Pro 511; ivm2150; 30.0-110.0; 50.0-180.0; 1
+ Iiyama; Iiyama MA901U, VisionMaster Pro 452; ivm1928; 30.0-96.0; 50.0-180.0; 1
+ Iiyama; Iiyama MF-5014A; mf-5014a; 15.5-38.5; 50.0-90.0; 1
+ Iiyama; Iiyama MF-5015A; mf-5015a; 15.5-38.5; 50.0-90.0; 1
+@@ -1974,7 +2230,6 @@
+ Iiyama; Iiyama MF-5321; mf-5321; 30.0-80.0; 50.0-90.0; 1
+ Iiyama; Iiyama MF-5421; mf-5421; 30.0-80.0; 50.0-90.0; 1
+ Iiyama; Iiyama MF-5621; mf-5621; 30.0-80.0; 50.0-90.0; 1
+-Iiyama; Iiyama MF-8115, VisionMaster 15; mf-8115; 30.0-65.0; 50.0-100.0; 1
+ Iiyama; Iiyama MF-8217; mf-8217; 30.0-60.0; 50.0-90.0; 1
+ Iiyama; Iiyama MF-8221E/T, VisionMaster; ivm2100; 24-94; 50-160; 1
+ Iiyama; Iiyama MF-8515G, VisionMaster; ivm1501; 27-69; 50-160; 1
+@@ -2013,6 +2268,7 @@
+ Iiyama; Iiyama TXA3813/3823MT; ivm3820; 24.8-61.0; 55.0-76.0; 1
+ Iiyama; Iiyama TXA3832HT, Prolite38c; ivm3808; 24.8-68.7; 56.0-85.0; 1
+ Iiyama; Iiyama TXA3833JT, Prolite38g; ivm3818; 24.8-60.0; 56.0-75.0; 1
++Iiyama; Iiyama Prolite E485S; ivm4822; 30.0-83.0; 56.0-76.0; 1
+ Iiyama; Iiyama Vision Master MF-8221; mf-8221; 24.8-85.0; 50.0-120.0; 1
+ Iiyama; Iiyama Vision Master MF-8317; mf-8317; 30.0-65.0; 50.0-90.0; 1
+ Iiyama; Iiyama Vision Master MF-8421; mf-8421; 24.8-85.0; 50.0-120.0; 1
+@@ -2139,20 +2395,17 @@
+ LG Electronics Inc.; LG 1520DM; 1520dm; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1527; 1527; 30.0-57.0; 50.0-110.0; 1
+ LG Electronics Inc.; LG 1527; gsm3a9a; 30.0-57.0; 50.0-110.0; 1
++LG Electronics Inc.; LG L1710B(Digital); GSM4358; 30.0-71.0; 56.0-70.0
++LG Electronics Inc.; LG L1710B(Analog); GSM4356; 30.0-83.0; 56.0-70.0
+ LG Electronics Inc.; LG 1725; 1725; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1725DM; 1725dm; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1725s; gsm42cf; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1727; 1727; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1730DM; 1730dm; 30.0-82.0; 50.0-120.0; 1
++LG Electronics Inc.; LG L1730P(Digital); GSM439E; 30.0-71.0; 56.0-75.0
++LG Electronics Inc.; LG L1730P(Analog); GSM439D; 30.0-83.0; 56.0-75.0
++LG Electronics Inc.; LG L1740B; 1740b; 30-83; 56-75; 1
+ LG Electronics Inc.; LG 2010; 2010; 30.0-85.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG 575MS; GSM3b06; 31-69; 56-85; 1
+-LG Electronics Inc.; LG 786LS; GSM4353; 31-83; 55-75; 1
+-LG Electronics Inc.; LG Electronics Inc. N 2200P; GSM55f3; 30-124; 50-160; 1600x1200
+-LG Electronics Inc.; LG Flatron 775 FT; GSM42d1; 30-70; 50-160; 1
+-LG Electronics Inc.; LG Flatron 795FT; gsm42c6; 30.0-96.0; 50.0-160.0; 1
+-LG Electronics Inc.; LG Flatron 915FT; gsm4a4d; 30.0-107.0; 50.0-200.0; 1
+-LG Electronics Inc.; LG Flatron 995FT Plus; gsm4a5d; 30.0-96.0; 50.0-160.0; 1
+-LG Electronics Inc.; LG Flatron L1715S; 30 - 83;56 - 75;1
+ LG Electronics Inc.; LG StudioWorks 20i; gsm4e21; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG Studioworks28i; sw28i; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 44i; gsm36b9; 30.0-50.0; 50.0-90.0; 1
+@@ -2179,14 +2432,13 @@
+ LG Electronics Inc.; LG StudioWorks 78T; gsm426d; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 7D; gsm427e; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 7DT; gsm4281; 30.0-65.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG StudioWorks 995E; gsm4a4c; 30.0-96.0; 50.0-160.0; 1
+ Link Computer, Inc.; Link Computer CE-8; ce-8; 15.5-38.0; 50.0-90.0; 1
+ Link Computer, Inc.; Link Computer CM-3; cm-3; 15.5-36.0; 50.0-70.0; 1
+ Lite-On; Lite-On 1570; ltn1570; 30.0-70.0; 50.0-120.0; 1
+ Lite-On; Lite-On 1770NSL; ltn1770; 30.0-70.0; 50.0-120.0; 1
+ Lite-On; Lite-On A1454NEL; ltna443; 30.0-54.0; 50.0-100.0; 1
+ Lite-On; Lite-On A1454NE; ltna442; 30.0-54.0; 50.0-100.0; 1
+-Lite-On; Lite-On A1554NEL; LTNa543; 30-54; 50-100; 
++Lite-On; Lite-On A1554NEL; ltna543; 30.0-54.0; 50.0-100.0; 1
+ Lite-On; Lite-On A1554NE; ltna542; 30.0-54.0; 50.0-100.0; 1
+ Lite-On; Lite-On A1570NSL; ltna595; 30.0-69.0; 50.0-120.0; 1
+ Lite-On; Lite-On A1570NST(92); ltna596; 30.0-69.0; 50.0-120.0; 1
+@@ -2228,12 +2480,10 @@
+ Lite-On; Lite-On DC150AT; ltn020c; 31.0-61.0; 56.0-85.0; 1
+ Lite-On; Lite-On DP150AT; ltn020b; 31.0-61.0; 56.0-85.0; 1
+ Lite-On; Lite-On DR150ATA; ltn0209; 31.0-61.0; 56.0-85.0; 1
+-Lite-On; Lite-On H15ANC; ltn021c; 31.5-60.1; 56.3-75.0; 1
+ Lite-On; Lite-On L140PTA; ltn0201; 45.0-54.0; 57.0-65.0; 1
+ Lite-On; Lite-On L150ATA; ltn0202; 24.0-61.0; 56.0-85.0; 1
+ Lite-On; Lite-On L150PTA; ltn0203; 48.0-61.0; 56.0-61.0; 1
+ Lite-On; Lite-On P150AT; ltn0207; 24.0-61.0; 56.0-85.0; 1
+-Lite-On; Lite-On S1770NSL; ltn1704; 30-70; 50-160; 1
+ Logitec; Logitec LCM-15FA2; LOG1040; 30.0-70.0; 50.0-120.0
+ Logitec; Logitec LCM-15FA3; LOG1053; 30.0-70.0; 50.0-120.0
+ Logitec; Logitec LCM-15FA; LOG1026; 30.0-69.0; 50.0-120.0
+@@ -2343,9 +2593,11 @@
+ MAG Technology Co., Ltd.; MAG XJ796; mag9703; 30.0-96.0; 50.0-160.0; 1
+ MAG Technology Co., Ltd.; MAG XJ810; mag8997; 30.0-95.0; 50.0-160.0; 1
+ MAG Technology Co., Ltd.; MAG XJ910; mag9158; 30.0-110.0; 50.0-160.0; 1
+-MED; MED 2914; MED2914; 30-98; 50-120
++Maxdata Computer; Maxdata Belinea 10 30 52; max06b9; 30.0-97.0; 50.0-150.0; 1
++Maxdata Computer; Maxdata Belinea 10 40 65; max4065; 30.0-50.0; 50.0-120.0; 1
++Maxdata Computer; Maxdata Belinea 10 50 95; max3539; 30.0-64.0; 55.0-90.0; 1
++Maxdata Computer; Maxdata Belinea 10 55 75; max7555; 30.0-69.0; 50.0-120.0; 1
+ MegaImage; MegaImage 17; 106; 30-64; 50-100
+-Megavision; MV173 LCD; ate8506;  31.0-80.0; 58.0-75.0;
+ Microtec; Microtec MD15-9; PBR023c; 30.0-70.0; 50.0-150.0; 1
+ Microvitec, Inc.; Microvitec 1020/LP; 1020lp; 15.0-36.5; 45.0-100.0; 1
+ Microvitec, Inc.; Microvitec 1020/SP; 1020sp; 15.0-36.5; 45.0-100.0; 1
+@@ -2492,6 +2744,7 @@
+ Monitronix; Monitronix MX-240EZ; mx-240ez; 30.0-75.0; 40.0-120.0; 1
+ Monitronix; Monitronix MX240; mx240; 30.0-90.0; 20.0-120.0; 1
+ Morse; Morse Monitor; morsemon; 30.0-57.0; 50.0-90.0; 1
++Mtek; Mtek 9" Monochrome MT-0910; 0; 28-37.5; 40-60; 0
+ Nanao; Nanao 9060S; nan0502; 15.5-38.5; 50.0-90.0; 1
+ Nanao; Nanao 9060S; nan0902; 15.5-38.5; 50.0-90.0; 1
+ Nanao; Nanao 9065S; nan0503; 30.0-50.0; 50.0-90.0; 1
+@@ -2641,7 +2894,6 @@
+ NEC; NEC MultiSync 95; nec5dca; 31.0-96.0; 55.0-160.0; 1
+ NEC; NEC MultiSync A500; nec3d90; 31.0-65.0; 55.0-120.0; 1
+ NEC; NEC MultiSync A500+; nec3dc2; 31.0-70.0; 55.0-120.0; 1
+-NEC; NEC MultiSync A700; nec43d0; 31.0-65.0; 55.0-120.0; 1
+ NEC; NEC MultiSync A700; nec43d0; 31.0-69.0; 55.0-120.0; 1
+ NEC; NEC MultiSync A700+; nec43ee; 31.0-70.0; 55.0-120.0; 1
+ NEC; NEC MultiSync A900; nec4be6; 31.0-92.0; 55.0-160.0; 1
+@@ -2723,7 +2975,6 @@
+ NEC; NEC MultiSync LCD1850DX; NEC65B3; 31.0-82.0; 50.0-85.0; 1
+ NEC; NEC MultiSync LCD1850X; NEC65C0; 31.0-82.0; 50.0-85.0; 1
+ NEC; NEC MultiSync LCD1850E; NEC65D1; 31.0-82.0; 55.0-85.0; 1
+-NEC; NEC MultiSync LCD1850E; NEC65D1; 31.0-82.0; 55.0-85.0; 1
+ NEC; NEC MultiSync LCD1855NX (Analog); NEC65F7; 31.0-83.0; 56.0-75.0; 1
+ NEC; NEC MultiSync LCD1855NX (Digital); NEC65F8; 31.0-68.0; 56.0-75.0; 1
+ NEC; NEC MultiSync LCD1860NX (Analog); NEC65E8; 31.0-82.0; 55.0-85.0; 1
+@@ -2983,7 +3234,6 @@
+ Packard Bell; Packard Bell PnP 7480; pbn7483; 30.0-69.0; 50.0-90.0; 1
+ Packard Bell; Packard Bell PnP 7680; pbn7683; 30.0-69.0; 50.0-90.0; 1
+ Packard Bell; Packard Bell Pnp LCD15; pbn5105; 60.0; 75.0; 1
+-Panasonic; Panasonic 264a; MEI264a; 30-61; 50-120; 
+ Panasonic; Panasonic C1491; mp2; 30-49; 50-90; 1
+ Panasonic; Panasonic C-1591E; 7e_f; 30-69; 50-160; 1
+ Panasonic; Panasonic C-1591EA; 7e_e; 30-69; 50-160; 1
+@@ -2994,7 +3244,6 @@
+ Panasonic; Panasonic E15; mei2618; 30-61; 50-90; 1
+ Panasonic; Panasonic E21; mei1638; 30-89; 50-160; 1
+ Panasonic; Panasonic E50; mei2637; 30.0-61.0; 50.0-120.0; 1
+-Panasonic; Panasonic E70i; MEI2c03; 30.0-70.0; 50.0-180.0; 1
+ Panasonic; Panasonic LC40; mei1e02; 24.0-61.0; 50.0-77.0; 1
+ Panasonic; Panasonic LC50S (TX-D5L31F); mei1e07; 30.0-61.0; 50.0-77.0; 1
+ Panasonic; Panasonic P15; mei2617; 30-69; 50-160; 1
+@@ -3111,26 +3360,22 @@
+ Peacock; Peacock P1796 C2; actb013; 30-97; 50-150; 1
+ PC Brand; PC Brand Super_VGA; super_vga; 28.0-38.0; 50.0-90.0; 1
+ Philips; Magnavox MB7000(17inch/CM6800); phla17b; 30.0-66.0; 50.0-130.0; 1
+-Philips; Philips 150S; PHL0805; 30-61; 56-75; 1024x768
+ Philips; Philips 104B(14inch/CM1300); phl104b; 30.0-54.0; 50.0-110.0; 1
+ Philips; Philips 104B(14inch/CM2300); phlb14b; 30.0-54.0; 50.0-120.0; 1
+ Philips; Philips 105B(15inch/CM1200); phla15b; 30.0-66.0; 50.0-110.0; 1
+ Philips; Philips 105S(15inch/CM1300); phl105c; 30.0-54.0; 50.0-110.0; 1
+ Philips; Philips 105S(15inch/CM2300); phlb15c; 30.0-60.0; 50.0-120.0; 1
+ Philips; Philips 107B(17inch/CM6800); phl6800; 30.0-69.0; 50.0-130.0; 1
+-Philips; Philips 107B20(17inch/CM2317); phle003; 30.0-92.0; 50.0-160.0; 1
+-Philips; Philips 107E; PHL0004; 30-70; 50-160; 1
+ Philips; Philips 107P(17inch); phle002; 30.0-92.0; 50.0-160.0; 1
+ Philips; Philips 107S(17inch/CM1300); phla17c; 30.0-69.0; 50.0-120.0; 1
+ Philips; Philips 107S(17inch/CM6800); phl107c; 30.0-66.0; 50.0-130.0; 1
+ Philips; Philips 109S; phl4109; 30.0-95.0; 50.0-160.0; 1
+ Philips; Philips 109B40; PHLE00E; 30.0-97.0; 50.0-160.0
+-Philips; Philips 14C(14inch/7CM5209); 0; 31.5,35.2,35.5; 50.0-100.0; 1
+-Philips; Philips 14C(14inch/7CM5279); 0; 31.5,35.2,35.5; 50.0-100.0; 1
++Philips; Philips 150C5 (15inch); PHLC00A; 30.0-63.0; 56.0-76.0; 1
++Philips; Philips 170C5 (17inch); PHLC00B; 30.0-82.0; 56.0-76.0; 1
+ Philips; Philips 17ACM38; phl3800; 30-82; 50-160; 1
+ Philips; Philips 17BCM28; phl2800; 30-66; 50-130; 1
+ Philips; Philips 17TCM26; phl2600; 30-66; 50-100; 1
+-Philips; Philips 180B2; PHL0810; 30-82; 56-76; 1280x1024
+ Philips; Philips 200T(20inch/CM0700); phl200d; 30.0-90.0; 50.0-160.0; 1
+ Philips; Philips 201B(21inch/CM0770); phl201b; 30.0-94.0; 48.0-160.0; 1
+ Philips; Philips 20CM64; 20cm64; 30.0-64.0; 50.0-90.0; 1
+@@ -3203,14 +3448,11 @@
+ Princeton; Princeton DPP810; pgs0165; 45.1; 42.7; 1
+ Princeton; Princeton EO14; pgs003a; 48.0; 50.0-120.0; 1
+ Princeton; Princeton EO15; pgs003b; 30.0-70.0; 50.0-120.0; 1
+-Princeton; Princeton EO17; kds06c2; 30.0-70.0; 50.0-120.0; 1
+ Princeton; Princeton EO17; pgs003d; 30.0-70.0; 50.0-120.0; 1
+ Princeton; Princeton EO2000; pgs00f6; 30.0-115.0; 50.0-160.0; 1
+ Princeton; Princeton EO2010; pgs00ce; 30.0-117.0; 50.0-160.0; 1
+-Princeton; Princeton EO400; pgs009d; 30.0-54.0; 50.0-90.0; 1
+ Princeton; Princeton EO400; pgs009d; 30.0-54.0; 55.0-90.0; 1
+ Princeton; Princeton EO40; pgs004e; 30.0-50.0; 50.0-90.0; 1
+-Princeton; Princeton EO40; pgs004e; 48.0; 50.0-120.0; 1
+ Princeton; Princeton EO500; pgs008e; 30.0-70.0; 50.0-120.0; 1
+ Princeton; Princeton EO500; pgs00d6; 30.0-70.0; 50.0-140.0; 1
+ Princeton; Princeton EO505; pgs00be; 30.0-70.0; 50.0-120.0; 1
+@@ -3248,12 +3490,10 @@
+ Princeton; Princeton Ultra-2000; ultra-2000; 45.0-68.0; 50.0-150.0; 1
+ Princeton; Princeton Ultra 20; pgs003f; 30.0-82.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 40; pgs0051; 30.0-50.0; 50.0-90.0; 1
+-Princeton; Princeton Ultra 40; pgs0051; 48.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 41; pgs0090; 48.0; 50.0-90.0; 1
+ Princeton; Princeton Ultra 42; pgs011a; 30.0-54.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 50e; pgs011b; 30.0-57.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 50; pgs004d; 30.0-50.0; 50.0-90.0; 1
+-Princeton; Princeton Ultra 50; pgs004d; 48.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 51; pgs009b; 30.0-54.0; 50.0-120.0; 1
+ Princeton; Princeton Ultra 52/52B; pgs00d0; 30.0-70.0; 50.0-150.0; 1
+ Princeton; Princeton Ultra 70F; ___7627; 30.0-64.0; 50.0-120.0; 1
+@@ -3274,18 +3514,12 @@
+ Princeton; Princeton Ultra 95e; pgs016d; 30.0-96.0; 47.0-150.0; 1
+ Princeton; Princeton Ultra 95; pgs00db; 30.0-95.0; 50.0-160.0; 1
+ Princeton; Princeton Ultra 95; pgs00fa; 30.0-95.0; 50.0-120.0; 1
+-Princeton; Princeton VL173 Flat Panel; pgs4902; 31-75; 56-75; 1
+-Princeton; Princeton VL1916 19inch LCD Display; 0; 24-83; 55-76; 1
+ Princeton; W74; pgs00e5; 30.0-70.0; 50.0-160.0; 1
+ Princeton; W74; pgs00fb; 30.0-70.0; 55.0-120.0; 1
+ Proview; Proview 570; pts023a; 30.0-70.0; 50.0-150.0; 1
+ Proview; Proview 770; pts0302; 30.0-76.0; 50.0-150.0; 1
+-Proview; Proview 775N; PTS0304; 30-75; 50-160; 1"
+-Proview; Proview 786N; 0; 30.0-70.0; 50.0-160.0; 1
+ Proview; Proview 860; pts035c; 30.0-54.0; 50.0-150.0; 1
+ Proview; Proview 996N; pts025c; 30.0-98.0; 50.0-160.0; 1
+-QDS; QDS 0014; QDS0014; 48-50; 57-62; 1280x800
+-Proview; Proview CY965; PTS03c5; 30-80; 60-75; 1280x1024
+ Quantex; Quantex TE1564M - Super View 1280; 75; 30-64; 50-100
+ Qume; Qume QM835; qm835; 30.0-36.5; 50.0-90.0; 1
+ Radius; Radius PrecisionColor Display/19; pcd19; 30.0-67.0; 72; 1
+@@ -3363,6 +3597,8 @@
+ Samsung; Samsung 5b (CKB52*); sam2c56; 30-70; 50-120; 1
+ Samsung; Samsung 5e (CKA52*); sam2c36; 30-55; 50-120; 1
+ Samsung; Samsung 7e (CKB72*); sam2c58; 30-70; 50-120; 1
++Samsung; Samsung 900DF; SAM00B4; 30-85; 50-160; 1
++Samsung; Samsung 990DF; SAM0127; 30-96; 50-160; 1
+ Samsung; Samsung CSA-7571; csa-7571; 20.0-50.0; 50.0-90.0; 1
+ Samsung; Samsung CT-4581; ct-4581; 15.0-38.0; 47.0-73.0; 1
+ Samsung; Samsung MF-4771; mf-4771; 15.0-38.0; 48.0-72.0; 1
+@@ -3388,24 +3624,25 @@
+ Samsung; Samsung Samtron 75P Plus; sam40d8; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 75P; sam4ee7; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 7Ei; sam2c57; 30-70; 50-120; 1
++Samsung; Samsung Samtron 76DF(X)/77DF(X)/78DF; STN0006; 30-70; 50-160; 1
++Samsung; Samsung Samtron SAMTRON 76E/77E; STN0005; 30-70; 50-160; 1
+ Samsung; Samsung Samtron 90SL; sam4dba; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 95in(T); sam25de; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 95P Plus; sam40db; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 95P; sam4f28; 30-96; 50-160; 1
++Samsung; Samsung Samtron 98PDF/99DF/99PDF; STN0020; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 9B; sam4f23; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 9 In; sam25da; 30-96; 50-160; 1
+ Samsung; Samsung Samtron 9P; sam4f27; 30-96; 50-160; 1
+-Samsung; Samsung SyncMaster; SAM0080; 30-81; 56-85; 1280x1024
+ Samsung; Samsung SyncMaster 1000b (CGX1607*); sam1f14; 30-107; 50-160; 1
+ Samsung; Samsung SyncMaster 1000p; sam1f13; 30-107; 50-160; 1
+ Samsung; Samsung SyncMaster 1000s (CGP1607*); sam0cf1; 30-96; 50-160; 1
+-Samsung; Samsung SyncMaster 14GL; samsungsm14gl; 30-62; 50-100; 1
+ Samsung; Samsung SyncMaster 1100DF/2100DF/CD210C; SAM006D; 30-121; 50-160; 1
++Samsung; Samsung SyncMaster 1100p/1109p/CM219C; SAM0051; 30-115; 50-160; 1
+ Samsung; Samsung SyncMaster 14GL; sam14gl; 30-62; 50-100; 1
+ Samsung; Samsung SyncMaster 15GLe; sam4d50; 30-50; 50-120; 1
+ Samsung; Samsung SyncMaster 15GLe; sam6d20; 30-50; 50-120; 1
+ Samsung; Samsung SyncMaster 15GLi; sam4d51; 30-65; 50-120; 1
+-Samsung; Samsung SyncMaster 15GL; samsungsm15gl; 30-62; 50-100; 1
+ Samsung; Samsung SyncMaster 15GL; sam15gl; 30-62; 50-100; 1
+ Samsung; Samsung SyncMaster 15Me; sam5450; 30.0-50.0; 50.0-120.0; 1
+ Samsung; Samsung SyncMaster 15M; sam4d52; 30.0-65.0; 50.0-120.0; 1
+@@ -3415,12 +3652,9 @@
+ Samsung; Samsung SyncMaster 153T; SAM00CD; 30-61; 56-75; 1
+ Samsung; Samsung SyncMaster 153V/153S/153B; SAM00A2; 30-61; 56-75; 1
+ Samsung; Samsung SyncMaster 17GLi; sam4d70; 30-65; 50-120; 1
+-Samsung; Samsung SyncMaster 17GL; samsungsm17gl; 30-65; 50-100; 1
+ Samsung; Samsung SyncMaster 17GL; sam17gl; 30-65; 50-100; 1
+ Samsung; Samsung SyncMaster 17GLsi; sam4d71; 30-85; 50-120; 1
+-Samsung; Samsung SyncMaster 171v; samsungsm171v; 30-81; 56-75; 1 
+ Samsung; Samsung SyncMaster 17GLs; sam17gls; 30-82; 50-120; 1
+-Samsung; Samsung SyncMaster 17GLs; samsungsm17gls; 30-82; 50-120; 1
+ Samsung; Samsung SyncMaster 171MP/175MP/RB1700MP; SAM000A; 31-80; 50-85; 1
+ Samsung; Samsung SyncMaster 171S/175S/170S/CX175S-AZ/LX175S; SAM001B; 30-81; 56-85; 1
+ Samsung; Samsung SyncMaster 171N/175N/171Np/171Nm/CX174N/CX171N/MX174N; SAM006B; 30-81; 56-76; 1
+@@ -3434,10 +3668,7 @@
+ Samsung; Samsung SyncMaster 173T/177T/CX700T/CX710T; SAM00BA; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 173V/172V/173S/173B/174V/175V; SAM00A3; 30-81; 56-76; 1
+ Samsung; Samsung SyncMaster 177MP/710MP/CX711MP/CX710MP; SAM00D2; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 181T; sam0020; 30-81; 56-85; 1
+ Samsung; Samsung SyncMaster 190N(M)/192N(M)/193N(M); SAM00A6; 30-81; 56-85; 1
+-Samsung; Samsung SyncMaster 191+; sam00bb; 30.0-81.0; 56.0-75.0; 1
+-Samsung; Samsung SyncMaster 191T; sam0014; 30-81; 56-85; 1
+ Samsung; Samsung SyncMaster 191TFT; sam0014; 30.0-81.0; 56.0-85.0 ; 1
+ Samsung; Samsung SyncMaster 191Tplus/193T/197T/CX900T; SAM00BB; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 192T/196T/CX910T(M); SAM00B6; 30-81; 56-75; 1
+@@ -3448,30 +3679,38 @@
+ Samsung; Samsung SyncMaster 198T/910T/CX901T (Analog); SAM010E; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 198T/910T/CX901T (Digital); SAM010F; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 20GLsi; sam4690; 30.0-82.0; 50.0-120.0; 1
+-Samsung; Samsung SyncMaster 20gls; samsungsm20gls; 30-82; 50-120; 1
+ Samsung; Samsung SyncMaster 20gls; sam20gls; 30-82; 50-120; 1
++Samsung; Samsung SyncMaster 205BW (Analog); SAM021D; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 205BW (Digital); SAM021E; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 206BW (Analog); SAM027C; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 206BW (Digital); SAM027D; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 225BW (Analog); SAM0254; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 225BW (Digital); SAM0255; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 226BW (Analog); SAM027E; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 226BW (Digital); SAM027F; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 21GLs; sam4610; 30.0-85.0; 50.0-160.0; 1
+ Samsung; Samsung SyncMaster 210T/LXA210T (Analog); SAM4251; 30-93; 50-85; 1
+ Samsung; Samsung SyncMaster 210T/LXA210T (Digital); SAM4252; 30-81; 50-85; 1
+ Samsung; Samsung SyncMaster 211MP/215MP/CX211MP; SAMOO56; 30-85; 55-85; 1
+ Samsung; Samsung SyncMaster 213T/CX210T; SAMOO91; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 215TW(Digital); SAM0214; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 215TW(Analog); SAM0213; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 240T (Analog); SAM4254; 30-93; 50-85; 1
+ Samsung; Samsung SyncMaster 240T (Digital); SAM4255; 30-81; 50-85; 1
++Samsung; Samsung SyncMaster 204T/204Ts/214T,SyncMaster Magic CX201Ts(Digital); SAM01AE; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 204T/204Ts/214T,SyncMaster Magic CX201Ts(Analog); SAM01AD; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 241MP/245MP; SAMOO4B; 30-85; 50-85; 1
+ Samsung; Samsung SyncMaster 243T/CX240T (Analog); SAM00D9; 30-80; 55-75; 1
+ Samsung; Samsung SyncMaster 243T/CX240T (Digital); SAM00F7; 30-80; 55-75; 1
+ Samsung; Samsung SyncMaster 320TFT (LXB310*); sam6053; 30-61; 50-75; 1
+ Samsung; Samsung SyncMaster 330/331TFT (LXB350*); sam6054; 30-61; 50-75; 1
+ Samsung; Samsung SyncMaster 3Ne; sam0000; 31.5-48.0; 43.5-75.0; 1
+-Samsung; Samsung SyncMaster 3NE; samsungsm3ne; 48.4; 60.0; 1
+-Samsung; Samsung SyncMaster 3; samsungsm3; 35.5; 43.5; 1
+ Samsung; Samsung SyncMaster 3NE; sam3ne; 48.4; 60.0; 1
+ Samsung; Samsung SyncMaster 3; sam3; 35.5; 43.5; 1
+ Samsung; Samsung SyncMaster 400b (CKA4217*); sam2c34; 30-55; 50-120; 1
+ Samsung; Samsung SyncMaster 410b(CHA4217*); sam2033; 30-55; 50-120; 1
+ Samsung; Samsung SyncMaster 450(N)b; sam1033; 30-55; 50-120; 1
+ Samsung; Samsung SyncMaster 470S TFT; sam49d4; 30-61; 50-75; 1
+-Samsung; Samsung SyncMaster 4NE; samsungsm4ne; 30-50; 50-100; 1
+ Samsung; Samsung SyncMaster 4NE; sam4ne; 30-50; 50-100; 1
+ Samsung; Samsung SyncMaster 4S; sam0100; 31.5-48.4; 43.5-75.0; 1
+ Samsung; Samsung SyncMaster 500b Plus (CKF5607*); sam0d66; 30-69; 50-160; 1
+@@ -3489,6 +3728,7 @@
+ Samsung; Samsung SyncMaster 550(M)s; sam1035; 30-61; 50-120; 1
+ Samsung; Samsung SyncMaster 550v; sam12b6; 30-55; 50-120; 1
+ Samsung; Samsung SyncMaster 570B TFT/580B TFT; sam49d5; 30-61; 50-75; 1
++Samsung; Samsung SyncMaster 591v; sam022e; 30-55; 50-120; 1
+ Samsung; Samsung SyncMaster 610(M)b(CHB6107*); sam2041; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 6Ne; sam4d72; 30.0-65.0; 50.0-100.0; 1
+ Samsung; Samsung SyncMaster 700b Plus; sam2cf8; 30-70; 50-160; 1
+@@ -3501,6 +3741,7 @@
+ Samsung; Samsung SyncMaster 700TFT; sam6057; 61.5-81.0; 59.0-76.0; 1
+ Samsung; Samsung SyncMaster 700DF; SAM00B3; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 701 IFT; sam4eeb; 30-96; 50-160; 1
++Samsung; Samsung SyncMaster 703(M)s/753(M)s/750(M)s/753(M)v/CM173A(M); SAM0027; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 710(M)b (CHB7709*); sam2059; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 710(M)s (CHB7707*); sam2057; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 710N/177N/CX711N/CX701N; SAM011E; 30-81; 56-85; 1
+@@ -3508,16 +3749,25 @@
+ Samsung; Samsung SyncMaster 710Tplus/711T/712T (Analog); SAM0165; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 711N/712N; SAM0124; 30-81; 56-85; 1
+ Samsung; Samsung SyncMaster 712V/713V/710S/715V; SAM0125; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 730B (Digital); SAM0192; 30-81; 56-75
++Samsung; Samsung SyncMaster 730B (Analog); SAM0191; 30-81; 56-75
+ Samsung; Samsung SyncMaster 750(M)b; sam1059; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 750(M)s(T); sam1057; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 750s(T); SAM12B6; 30-70; 50-160; 1
+ Samsung; Samsung SyncMaster 753DF(X)/703DF(X)/783DF(X)/CD173A(T); SAM0022; 30-71; 50-160; 1
+-Samsung; Samsung SyncMaster 757NF; SAM002a; 30-96; 50-160; 1
++Samsung; Samsung SyncMaster 755DF(X)/705DF(X)/CDP17BDF(U)(UP); SAM1156; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 755DFG/740DFG/CTT17DFG; SAM0009; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 757DF(X)/707DF(X)/700IFT/CD177A(P); SAM0029; 30-96; 50-160; 1
++Samsung; Samsung SyncMaster 757MB/717MB/CD177D(P); SAM0059; 30-96; 50-160; 1
+ Samsung; Samsung SyncMaster 763MB/713MB/CD173D(P); SAM0045; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 765MB/715MB/CD175D(P); SAM0048; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 770 TFT; SAM12D7; 30-81; 56-76; 1
+ Samsung; Samsung SyncMaster 790DF; SAM0126; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 793S/793V/CM173G; SAM0117; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 793DF/793MB; SAM0107; 30-71; 50-160; 1
++Samsung; Samsung SyncMaster 794MB/794MBplus/798MB; SAM01AB; 30-70; 50-160; 1
++Samsung; Samsung SyncMaster 795DF/795MB/Magic CD175GP; SAM0108; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 796MB/796MBplus; SAM01AC; 30-85; 50-160; 1
+ Samsung; Samsung SyncMaster 800TFT; sam6058; 61.5-81.0; 59.0-76.0; 1
+ Samsung; Samsung SyncMaster 900IFT; sam4f29; 30-96; 50-160; 1
+ Samsung; Samsung SyncMaster 900 In; sam25d9; 30-96; 50-160; 1
+@@ -3527,12 +3777,22 @@
+ Samsung; Samsung SyncMaster 905DF(X)/955DF(X)/CD195A; SAM002D; 30-85; 50-160; 1
+ Samsung; Samsung SyncMaster 910N/912N; SAM011F; 30-81; 56-85; 1
+ Samsung; Samsung SyncMaster 910MP; SAM0187; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 910V/910M/913V; SAM0115; 30-81; 56-75
+ Samsung; Samsung SyncMaster 917MB/950MB/957MB/CD197D(P); SAM0070; 30-96; 50-160; 1
+ Samsung; Samsung SyncMaster 920T/CX911T (Digital); SAM014B; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 920T/CX911T (Analog); SAM014A; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 930B; sam0193; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 931BF (DVI); SAM0217; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 931BF (VGA); SAM0218; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 940N,SyncMaster Magic CX915N/CX916N/CX917N; SAM01E1; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 940T/940B/940Fn(Analog); SAM01BA; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 940T/940B/940Fn(Digital); SAM01BB; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 950in(T); sam25dc; 30-96; 50-160; 1
++Samsung; Samsung SyncMaster 955MB/915MB/CD195D(P); SAM0081; 30-85; 50-160; 1
+ Samsung; Samsung SyncMaster 955df; sam413b; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 957FS/950FS/907FS/CS197A(P); SAM0023; 30-96; 50-160; 1
+ Samsung; Samsung SyncMaster 957p; sam002c; 30-96; 50-160; 1
++Samsung; Samsung SyncMaster 959NF/900NF/909NF/CN199A(P); SAM002F; 30-110; 50-160; 1
+ Samsung; Samsung SyncMaster 997DF/927DF/997MB/927MB/927DFI/927MBI; SAM0109; 30-96; 50-160; 1
+ Samsung; Samsung SyncMaster 1200NF/2200NF/CPN22NF; SAM38D2; 30-121; 50-185; 1
+ Samtron; Samtron 428PT/PTL; sdi1428; 31.5-48.0; 43.5-75.0; 1
+@@ -3568,7 +3828,6 @@
+ Siemens Nixdorf; Siemens Nixdorf MCM1503; siemens2; 30-64; 50-100; 1
+ Siemens Nixdorf; Siemens Nixdorf MCM1702; siemens3; 30-82; 50-150; 1
+ Siemens Nixdorf; Siemens Nixdorf MCM2102; siemens4; 30-82; 50-160; 1
+-Sliding Unika; Sliding S 2201 LCD 16/9 22inch; 0; 31-80; 50-75; 1
+ Smile; Smile 85Khz Monitor; sml6738; 30.0-86.0; 50.0-150.0; 1
+ Smile; Smile CA6425DL/CB6425DL; sml6425; 30.0-54.0; 50.0-100.0; 1
+ Smile; Smile CA6525DL/CB6525DL; sml6525; 30.0-54.0; 50.0-100.0; 1
+@@ -3629,12 +3888,13 @@
+ Sony; Sony CPD-A200/HMD-A200; sny1370; 30.0-70.0; 48.0-120.0; 1
+ Sony; Sony CPD-E100/E100E; sny0d50; 30.0-70.0; 48.0-120.0; 1
+ Sony; Sony CPD-E200/E200E; sny1470; 30.0-85.0; 48.0-120.0; 1
++Sony; Sony CPD-E220/E220E; SNY1770; 30.0-85.0; 48.0-120.0; 1
+ Sony; Sony CPD-E400/E400E; sny0390; 30.0-96.0; 48.0-120.0; 1
+ Sony; Sony CPD-E500/E500E; sny04b0; 30.0-96.0; 48.0-160.0; 1
+ Sony; Sony CPD-G200; sny1270; 30.0-96.0; 48.0-120.0; 1
+ Sony; Sony CPD-G400; sny0290; 30.0-107.0; 48.0-120.0; 1
+ Sony; Sony CPD-G410R; sny0191; 30.0-110.0; 40.0-170.0; 1
+-Sony; Sony CPD-G420; SNY0490; 30-110; 48-170; 
++Sony; Sony CPD-G420; sny0490; 30.0-110.0; 48.0-170.0; 1
+ Sony; Sony CPD-G500; sny03b0; 30.0-121.0; 48.0-160.0; 1
+ Sony; Sony CPD-H200; sny1170; 30.0-70.0; 48.0-120.0; 1
+ Sony; Sony CPD-L100; sny0140; 30.0-61.0; 50.0-65.0; 1
+@@ -3654,7 +3914,7 @@
+ Sony; Sony GDM-20SE3T; sny06a0; 30.0-96.0; 48.0-160.0; 1
+ Sony; Sony GDM-20SHT(NEW); sny08a0; 30.0-107.0; 50.0-160.0; 1
+ Sony; Sony GDM-20SHT; sny0000; 30.0-65.0; 50.0-120.0; 1
+-Sony; Sony GDM-400PS/400PST/19PS; SNY0090; 30-95; 48-160;
++Sony; Sony GDM-400PS/400PST/19PS; sny0090; 30.0-95.0; 48.0-160.0; 1
+ Sony; Sony GDM-500PS/T/T9/21PS; sny00b0; 30.0-107.0; 48.0-160.0; 1
+ Sony; Sony GDM-F400/F400T9; sny0190; 30.0-107.0; 48.0-160.0; 1
+ Sony; Sony GDM-F500/F500T9; sny01b0; 30.0-121.0; 48.0-160.0; 1
+@@ -3736,13 +3996,11 @@
+ Sony; Sony SDM-X202 (Digital); SNY0AA0; 30.0-92.0; 55.0-65.0; 1
+ Sony; Sony VMU-1000; sny07a0; 30.0-86.0; 48.0-150.0; 1
+ Sunshine; Sunshine DM-8 CM-1433H; 0; 31.5-35.1; 55.0-66.0
+-Sun; Sun 16-inch 574; sun0574; 30.0-70.0; 50.0-90.0; 1
+ Sun; Sun 17-inch 447Z; 100; 31.0-72.0; 50.0-120.0
+ Sun; Sun 17-inch CHB7727L (Samsung); 0; 30.0-72.0; 50.0-160.0; 1
+ Sun; Sun 18-inch Flat Panel Display; sun0004; 64.0-81.0; 60.0-76.0; 1
+ Sun; Sun 21-inch N3; 0; 30.0-96.0; 48.0-160.0
+ Sun; Sun 24-inch; 0; 30.0-96.0; 50.0-160.0
+-Sylvania; Sylvania F74; syl00f4; 30.0-70.0; 55.0-120.0; 1
+ Talon; Talon Tuff/CRT; tuffcrt; 15.0-35.0; 47.0-73.0; 1
+ Tandberg; Tandberg ErgoScan 21c; 0; 30.0-95.0; 50.0-160.0
+ Targa; TARGA TM 1710 D; 0; 30-65; 50-90
+@@ -3761,7 +4019,6 @@
+ Tatung; Tatung C5E; c5e; 31.5-56.5; 50.0-90.0; 1
+ Tatung; Tatung C5V; c5v; 30.0-70.0; 50.0-100.0; 1
+ Tatung; Tatung C7G; c7g; 30.0-70.0; 50.0-100.0; 1
+-Tatung; Tatung C7BZR; tat3742; 30.0-70.0; 50.0-100.0; 1
+ Tatung; Tatung CM-1492V; cm-1492v; 31.5; 50.0-70.0; 1
+ Tatung; Tatung CM-1495G; cm-1495g; 15.0-37.0; 40.0-120.0; 1
+ Tatung; Tatung CM-1498M; cm-1498m; 35.5-37.5; 50.0-90.0; 1
+@@ -3886,7 +4143,7 @@
+ Unisys; Unisys SVG-250-COL; svg250; 31-38.0; 60-87; 1
+ Unisys; Unisys VGA-200-MON; vga200; 31-32; 60-70; 1
+ Unisys; Unisys VGA-250-MON; vga250; 31-32; 60-70; 1
+-ViewSonic; ViewSonic 14ES; vsc3141; 31-51.0; 50-100; 1
++ViewSonic; ViewSonic 14ES; vsc3141; 31-51.0; 50-75; 1
+ ViewSonic; ViewSonic 15ES-2; vsc3844; 31-62; 50-100; 1
+ ViewSonic; ViewSonic 15E; vs_15e; 30-62; 50-90; 1
+ ViewSonic; ViewSonic 15EX; vs_15ex; 30-62; 50-100; 1
+@@ -3959,21 +4216,21 @@
+ ViewSonic; ViewSonic E655-3; vsc4945; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E655-4; vsc5845; 30-70; 50-160; 1
+ ViewSonic; ViewSonic E655; vsc3345; 30-65; 50-100; 1
++ViewSonic; ViewSonic E70; vsc5244; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E70-2; vsc5346; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E70-3; vsc4b41; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E70-4; vsc5041; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E70-7; VSC5007; 30-70; 50-120
+ ViewSonic; ViewSonic E70-8; VSCE905; 30-70; 50-160
+ ViewSonic; ViewSonic E70-10; VSCF711; 30-72; 50-180
+-ViewSonic; ViewSonic E70; vsc5244; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E70f+-2; VSCD313; 30-70; 50-150
+ ViewSonic; ViewSonic E70f+; VSC2B0B; 30-70; 60-150
+ ViewSonic; ViewSonic E70f-2; VSC4E07; 30-70; 50-150
+ ViewSonic; ViewSonic E70f-3; VSC3908; 30-70; 50-120
+ ViewSonic; ViewSonic E70f-5/E70fb-5; VSC2011; 30-72; 50-160
+ ViewSonic; ViewSonic E70fb-2; VSC4F07; 30-70; 50-150
+-ViewSonic; ViewSonic E71; vsc4e4a; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E75f; VSCD305; 30-86; 50-150
++ViewSonic; ViewSonic E71; vsc4e4a; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E771-2; vsc4844; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E771-4; vsc5941; 30-70; 50-120; 1
+ ViewSonic; ViewSonic E771; vsc564a; 30-70; 50-120; 1
+@@ -3983,7 +4240,7 @@
+ ViewSonic; ViewSonic E790B; vsc514d; 30-95; 50-200; 1
+ ViewSonic; ViewSonic E790; vsc4d4d; 30-95; 50-200; 1
+ ViewSonic; ViewSonic E810; vsc5251; 30-95; 50-180; 1
+-ViewSonic; ViewSonic E90; vsc564e; 30-87; 50-180; 1
++ViewSonic; ViewSonic E90; vsc564e; 30-86; 50-180; 1
+ ViewSonic; ViewSonic E90-4; VSCA418; 30-86; 50-180
+ ViewSonic; ViewSonic E90f+-3; VSC9517; 30-86; 50-180
+ ViewSonic; ViewSonic E90f+; VSC890E; 30-86; 50-180
+@@ -4120,7 +4377,6 @@
+ ViewSonic; ViewSonic PT775; vsc474a; 30-96; 50-160; 1
+ ViewSonic; ViewSonic PT795; vsc454d; 30-110; 50-180; 1
+ ViewSonic; ViewSonic PT810-2; vsc3451; 30-95; 50-130; 1
+-ViewSonic; ViewSonic PT810-2; vsc3451; 30-96; 50-120; 1
+ ViewSonic; ViewSonic PT810-3; vsc3851; 30-96; 50-160; 1
+ ViewSonic; ViewSonic PT810; vsc3351; 30-86; 50-130; 1
+ ViewSonic; ViewSonic PT813; vsc4151; 30-107; 50-160; 1
+@@ -4134,10 +4390,10 @@
+ ViewSonic; ViewSonic VA720-2; VSC700B; 30-82; 50-75
+ ViewSonic; ViewSonic VA720; VSC6C09; 30-82; 50-75
+ ViewSonic; ViewSonic VA800; VSCDE00; 30-82; 50-75
++ViewSonic; ViewSonic VE150; VSC5547; 30-60; 50-75
+ ViewSonic; ViewSonic VE150m; VSCC203; 30-60; 50-75
+ ViewSonic; ViewSonic VE150mb; VSCED05; 30-60; 50-75
+ ViewSonic; ViewSonic VE150B; vsc8115; 30-60; 50-75; 1
+-ViewSonic; ViewSonic VE150; vsc5547; 30-60; 50-75; 1
+ ViewSonic; ViewSonic VE151; vsc5345; 31-61; 56-75; 1
+ ViewSonic; ViewSonic VE155; VSCB807; 30-60; 50-75
+ ViewSonic; ViewSonic VE155b; VSC260A; 30-62; 50-75
+@@ -4162,7 +4418,7 @@
+ ViewSonic; ViewSonic VG151b; VSCDA06; 30-62; 50-75
+ ViewSonic; ViewSonic VG171; 9E06   ; 30-82; 50-75
+ ViewSonic; ViewSonic VG171b; VSCD906; 30-82; 50-75
+-ViewSonic; ViewSonic VG175; vscdd00; 30-82; 50-75; 1
++ViewSonic; ViewSonic VG175; VSCDD00; 30-82; 50-75
+ ViewSonic; ViewSonic VG180-2; vsc464e; 30-80; 56-85; 1
+ ViewSonic; ViewSonic VG180-3; vsc7517; 30-82; 50-75; 1
+ ViewSonic; ViewSonic VG180; vsc464d; 30-80; 60-85; 1
+@@ -4205,6 +4461,7 @@
+ ViewSonic; ViewSonic VP201m; VSC5404; 30-82; 50-85
+ ViewSonic; ViewSonic VP201mb; VSCEB04; 30-82; 50-85
+ ViewSonic; ViewSonic VP201s; VSC0C18; 30-95; 50-85
++ViewSonic; ViewSonic VP2030; VSC131C; 30-92; 50-75
+ ViewSonic; ViewSonic VP211b; VSC6A11; 30-95; 50-85
+ ViewSonic; ViewSonic VP230mb; VSC7203; 30-82; 50-75
+ ViewSonic; ViewSonic VPA138; vsc4141; 30-62; 50-75; 1
+@@ -4224,6 +4481,7 @@
+ ViewSonic; ViewSonic VX800; VSC0B07; 24-82; 56-85
+ ViewSonic; ViewSonic VX900-2; VSC9011; 30-83; 50-75
+ ViewSonic; ViewSonic VX900; VSC0B08; 30-82; 50-75
++ViewSonic; ViewSonic VX910; VSC3C19; 30-82; 50-85; 1
+ ViewSonic; ViewSonic airpanel V150; VSCF50B; 30-62; 50-75
+ Vobis; Vobis Highscreen MS 1795P; VOB0c7c; 30-82; 47-120
+ WYSE; WYSE WY-670; wy-670; 34.0-38.0; 55.0-87.0; 1
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/ldetect-lst/pcitable kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/pcitable
+--- kde-guidance-0.8.0/displayconfig/ldetect-lst/pcitable	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/pcitable	2008-06-10 11:58:43.000000000 +0200
+@@ -2926,9 +2926,10 @@
+ 0x10de	0x0091	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7800 GTX"
+ 0x10de	0x0092	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7800 GT"
+ 0x10de	0x0093	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7800 GS"
++0x10de	0x0095	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7800 SLI"
+ 0x10de	0x0098	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7800"
+ 0x10de	0x0099	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7800 GTX"
+-0x10de	0x009d	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|Quadro FX 4500"
++0x10de	0x009d	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro FX 4500"
+ 0x10de	0x00a0	"Card:RIVA TNT2"	"nVidia Corp.|Riva TNT2"
+ 0x10de	0x00c0	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|GeForce 6800 GS"
+ 0x10de	0x00c1	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|GeForce 6800"
+@@ -2964,9 +2965,9 @@
+ 0x10de	0x00ea	"snd-intel8x0"	"nVidia Corp.|nForce3 250Gb AC'97 Audio Controller"
+ 0x10de	0x00ed	"unknown"	"nVidia Corp.|nForce3 250Gb PCI-to-PCI Bridge"
+ 0x10de	0x00ee	"sata_nv"	"nVidia Corp.|CK8S Serial ATA Controller (v2.5)"
+-0x10de	0x00f0	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV40 [GeForce 6800/GeForce 6800 Ultra]"
+-0x10de	0x00f1	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV43 [GeForce 6600/GeForce 6600 GT]"
+-0x10de	0x00f2	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV43 [GeForce 6600 GT]"
++0x10de	0x00f0	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|NV40 [GeForce 6800/GeForce 6800 Ultra]"
++0x10de	0x00f1	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|NV43 [GeForce 6600/GeForce 6600 GT]"
++0x10de	0x00f2	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|NV43 [GeForce 6600 GT]"
+ 0x10de	0x00f3	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6200"
+ 0x10de	0x00f4	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6600 LE"
+ 0x10de	0x00f5	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7800 GS"
+@@ -2990,37 +2991,33 @@
+ 0x10de	0x0140	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6600 GT"
+ 0x10de	0x0141	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6600"
+ 0x10de	0x0142	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6600 LE"
+-0x10de	0x0143	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x0144	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce Go 6600"
+-0x10de	0x0145	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce 6610 XL"
+-0x10de	0x0146	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce Go 6600 TE/6200 TE"
+-0x10de	0x0147	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x0148	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce Go 6600"
++0x10de	0x0143	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6600 VE"
++0x10de	0x0144	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6600"
++0x10de	0x0145	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6610 XL"
++0x10de	0x0146	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6600 TE/6200 TE"
++0x10de	0x0147	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6700 XL"
++0x10de	0x0148	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6600"
+ 0x10de	0x0149	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6600 GT"
+-0x10de	0x014a	"unknown"	"nVidia Corporation|Quadro NVS 440"
+-0x10de	0x014b	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x014c	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x014d	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x014e	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|Quadro FX 540"
++0x10de	0x014a	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|Quadro NVS 440"
++0x10de	0x014c	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|Quadro FX 540M"
++0x10de	0x014d	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|Quadro FX 550"
++0x10de	0x014e	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|Quadro FX 540"
+ 0x10de	0x014f	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6200"
+ 0x10de	0x0150	"Card:NVIDIA GeForce2 DDR (generic)"	"nVidia Corp.|NV15 Geforce2 GTS"
+ 0x10de	0x0151	"Card:NVIDIA GeForce2 DDR (generic)"	"nVidia Corp.|NV15 Geforce2 Ti"
+ 0x10de	0x0152	"Card:NVIDIA GeForce2 DDR (generic)"	"nVidia Corp.|NV15 Bladerunner (GeForce2 Ultra)"
+ 0x10de	0x0153	"Card:NVIDIA GeForce2 DDR (generic)"	"nVidia Corp.|NV15 Quadro2 Pro"
+-0x10de	0x0160	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+-0x10de	0x0161	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce 6200 TurboCache(TM)"
+-0x10de	0x0162	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corporation|NV43 [GeForce 6200 SE]"
+-0x10de	0x0163	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corporation|NV44 [GeForce 6200 LE]"
+-0x10de	0x0164	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce Go 6200"
+-0x10de	0x0165	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV44 [Quadro NVS 285]"
++0x10de	0x0160	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6500"
++0x10de	0x0161	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6200 TurboCache(TM)"
++0x10de	0x0162	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|NV43 [GeForce 6200 SE]"
++0x10de	0x0163	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|NV44 [GeForce 6200 LE]"
++0x10de	0x0164	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6200"
++0x10de	0x0165	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|NV44 [Quadro NVS 285]"
+ 0x10de	0x0166	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6400"
+ 0x10de	0x0167	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6200"
+ 0x10de	0x0168	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6400"
+-0x10de	0x0169	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|"
+-0x10de	0x016b	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|"
+-0x10de	0x016c	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|"
+-0x10de	0x016d	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|"
+-0x10de	0x016e	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|"
++0x10de	0x0169	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6250"
++0x10de	0x016a	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7150 GS"
+ 0x10de	0x0170	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|NV17 GeForce4 MX 460"
+ 0x10de	0x0171	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|NV17 GeForce4 MX 440"
+ 0x10de	0x0172	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|NV17 GeForce4 MX 420"
+@@ -3047,6 +3044,11 @@
+ 0x10de	0x018b	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|NV18 Quadro4 380 XGL"
+ 0x10de	0x018c	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|Quadro NVS 50 PCI"
+ 0x10de	0x018d	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV18M [GeForce4 448 Go]"
++0x10de	0x0191	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8800 GTX"
++0x10de	0x0193	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8800 GTS"
++0x10de	0x0194	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8800 Ultra"
++0x10de	0x019d	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro FX 5600"
++0x10de	0x019e	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro FX 4600"
+ 0x10de	0x01a0	"Card:NVIDIA GeForce2 Integrated (generic)"	"nVidia Corp.|GeForce2 Integrated GPU"
+ 0x10de	0x01a4	"nvidia-agp"	"nVidia Corp.|nForce AGP Controller"
+ 0x10de	0x01a5	"unknown"	"nVidia Corp.|nForce AGP Controller"
+@@ -3067,13 +3069,17 @@
+ 0x10de	0x01c1	"slamr"	"nVidia Corp.|Intel 537 [nForce MC97 Modem]"
+ 0x10de	0x01c2	"ohci-hcd"	"nVidia Corp.|nForce USB Controller"
+ 0x10de	0x01c3	"forcedeth"	"nVidia Corp.|nForce MCP Networking Adapter"
++0x10de	0x01d0	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7350 LE"
+ 0x10de	0x01d1	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7300 LE"
+-0x10de	0x01d6	"unknown"	"nVidia Corporation|GeForce Go 7200"
++0x10de	0x01d3	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7300 SE/7200 GS"
++0x10de	0x01d6	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7200"
+ 0x10de	0x01d7	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro NVS 110M / GeForce Go 7300"
+ 0x10de	0x01d8	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro NVS 120M / GeForce Go 7400"
+-0x10de	0x01da	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV36 [Quadro FX 1100]"
+-0x10de	0x01dc	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce FX 350"
+-0x10de	0x01de	"unknown"	"nVidia Corporation|Quadro FX 350"
++0x10de	0x01da	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro NVS 110M"
++0x10de	0x01db	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro NVS 120M"
++0x10de	0x01dc	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro FX 350M"
++0x10de	0x01dd	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7500 LE"
++0x10de	0x01de	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro FX 350"
+ 0x10de	0x01df	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7300 GS"
+ 0x10de	0x01e0	"nvidia-agp"	"nVidia Corp.|nForce2 AGP Controller"
+ 0x10de	0x01e1	"unknown"	"NVIDIA Corp.|nForce2 AGP Controller"
+@@ -3098,14 +3104,14 @@
+ 0x10de	0x021e	"Card:NVIDIA GeForce"	"nVidia Corp.|Unknown (generic)"
+ 0x10de	0x0220	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|"
+ 0x10de	0x0221	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|GeForce 6200"
+-0x10de	0x0222	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|"
++0x10de	0x0222	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|GeForce 6200 A-LE"
+ 0x10de	0x0228	"Card:NVIDIA GeForce 6800 (generic)"	"nVidia Corp.|"
+ 0x10de	0x0240	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|C51PV [GeForce 6150]"
+-0x10de	0x0241	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6150 LE"
++0x10de	0x0241	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce 6150 LE"
+ 0x10de	0x0242	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|C51G [GeForce 6100]"
+ 0x10de	0x0243	"unknown"	"nVidia Corp.|C51 PCI Express Bridge"
+ 0x10de	0x0244	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6150"
+-0x10de	0x0245	"unknown"	"nVidia Corp.|C51 PCI Express Bridge"
++0x10de	0x0245	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|Quadro NVS 210S/GeForce 6150 LE"
+ 0x10de	0x0246	"unknown"	"nVidia Corp.|C51 PCI Express Bridge"
+ 0x10de	0x0247	"Card:NVIDIA GeForce 6 Series"	"nVidia Corp.|GeForce Go 6100"
+ 0x10de	0x0248	"unknown"	"nVidia Corp.|C51 PCI Express Bridge"
+@@ -3152,17 +3158,22 @@
+ 0x10de	0x0289	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|Quadro4 780 XGL"
+ 0x10de	0x028c	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|Quadro4 700 GoGL"
+ 0x10de	0x0290	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7900 GTX"
+-0x10de	0x0291	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7900 GT"
+-0x10de	0x0292	"unknown"	"nVidia Corporation|GeForce 7900 GS"
+-0x10de	0x0298	"unknown"	"nVidia Corporation|GeForce Go 7900 GS"
+-0x10de	0x0299	"unknown"	"nVidia Corporation|GeForce Go 7900 GTX"
++0x10de	0x0291	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7900 GT/GTO"
++0x10de	0x0292	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7900 GS"
++0x10de	0x0293	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7950 GX2"
++0x10de	0x0294	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7950 GX2"
++0x10de	0x0295	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7950 GT"
++0x10de	0x0297	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7950 GTX"
++0x10de	0x0298	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7900 GS"
++0x10de	0x0299	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7900 GTX"
+ 0x10de	0x029a	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|G71 [Quadro FX 2500M]"
+ 0x10de	0x029b	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|G71 [Quadro FX 1500M]"
+-0x10de	0x029c	"Card:NVIDIA GeForce"	"nVidia Corporation|Quadro FX 5500"
+-0x10de	0x029d	"Card:NVIDIA GeForce"	"nVidia Corporation|Quadro FX 3500"
+-0x10de	0x029e	"Card:NVIDIA GeForce"	"nVidia Corporation|Quadro FX 1500"
+-0x10de	0x029f	"Card:NVIDIA GeForce"	"nVidia Corporation|Quadro FX 4500 X2"
++0x10de	0x029c	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|Quadro FX 5500"
++0x10de	0x029d	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|Quadro FX 3500"
++0x10de	0x029e	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|Quadro FX 1500"
++0x10de	0x029f	"Card:NVIDIA GeForce 7 Series"	"nVidia Corporation|Quadro FX 4500 X2"
+ 0x10de	0x02a0	"Card:NVIDIA GeForce3 (xbox)"	"nVidia Corp.|GeForce3 Integrated (Xbox)"
++0x10de	0x02e0	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7600 GT/unknown GPU"
+ 0x10de	0x02e1	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7600 GS"
+ 0x10de	0x02f0	"unknown"	"nVidia Corp.|C51 Host Bridge"
+ 0x10de	0x02f1	"unknown"	"nVidia Corp.|C51 Host Bridge"
+@@ -3195,7 +3206,7 @@
+ 0x10de	0x0319	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x319"
+ 0x10de	0x031a	"Card:NVIDIA GeForce FX (generic)"	"NVIDIA Corp.|NV31 GeForce Go 5600"
+ 0x10de	0x031b	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x31B"
+-0x10de	0x031c	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x31C"
++0x10de	0x031c	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|Quadro FX Go700"
+ 0x10de	0x031d	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x31D"
+ 0x10de	0x031e	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x31E"
+ 0x10de	0x031f	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x31F"
+@@ -3209,8 +3220,8 @@
+ 0x10de	0x0327	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV34 [GeForce FX 5100]"
+ 0x10de	0x0328	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|GeForce FX Go 5200"
+ 0x10de	0x0329	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV34M [GeForce FX Go5200]"
+-0x10de	0x032a	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x32A"
+-0x10de	0x032b	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x32B"
++0x10de	0x032a	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|Quadro NVS 55/280 PCI"
++0x10de	0x032b	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|Quadro FX 500/FX 600"
+ 0x10de	0x032c	"Card:NVIDIA GeForce FX (generic)"	"NVIDIA Corp.|??? NVIDIA GeForce FX Go 5300"
+ 0x10de	0x032d	"Card:NVIDIA GeForce FX (generic)"	"nVidia Corp.|NV34 [GeForce FX Go5100]"
+ 0x10de	0x032e	"Card:NVIDIA GeForce4 (generic)"	"nVidia Corp.|0x32E"
+@@ -3262,11 +3273,14 @@
+ 0x10de	0x037a	"unknown"	"nVidia Corp.|MCP55 Memory Controller"
+ 0x10de	0x037e	"sata_nv"	"nVidia Corp.|MCP55 SATA Controller"
+ 0x10de	0x037f	"sata_nv"	"nVidia Corp.|MCP55 SATA Controller"
++0x10de	0x0390	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7650 GS"
+ 0x10de	0x0391	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7600 GT"
+ 0x10de	0x0392	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7600 GS"
+-0x10de	0x0393	"unknown"	"nVidia Corporation|G70 [GeForce 7300 GT]"
++0x10de	0x0393	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.[GeForce 7300 GT"
++0x10de	0x0394	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.[GeForce 7600 LE"
++0x10de	0x0395	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.[GeForce 7300 GT"
+ 0x10de	0x0398	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce Go 7600"
+-0x10de	0x039e	"unknown"	"nVidia Corporation|Quadro FX 560"
++0x10de	0x039e	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|Quadro FX 560"
+ 0x10de	0x03a0	"unknown"	"nVidia Corporation|C55 Host Bridge"
+ 0x10de	0x03a1	"unknown"	"nVidia Corporation|C55 Host Bridge"
+ 0x10de	0x03a2	"unknown"	"nVidia Corporation|C55 Host Bridge"
+@@ -3295,7 +3309,7 @@
+ 0x10de	0x03b9	"unknown"	"nVidia Corporation|C55 PCI Express bridge"
+ 0x10de	0x03ba	"unknown"	"nVidia Corporation|C55 Memory Controller"
+ 0x10de	0x03bb	"unknown"	"nVidia Corporation|C55 PCI Express bridge"
+-0x10de	0x03d0	"unknown"	"nVidia Corporation|GeForce 6100 nForce 430"
++0x10de	0x03d0	"unknown"	"nVidia Corporation|GeForce 6150SE nForce 430"
+ 0x10de	0x03d1	"unknown"	"nVidia Corporation|GeForce 6100 nForce 405"
+ 0x10de	0x03d2	"unknown"	"nVidia Corporation|GeForce 6100 nForce 400"
+ 0x10de	0x03d5	"unknown"	"nVidia Corporation|GeForce 6100 nForce 420"
+@@ -3322,6 +3336,23 @@
+ 0x10de	0x03f5	"unknown"	"nVidia Corporation|MCP61 Memory Controller"
+ 0x10de	0x03f6	"sata_nv"	"nVidia Corporation|MCP61 SATA Controller"
+ 0x10de	0x03f7	"sata_nv"	"nVidia Corporation|MCP61 SATA Controller"
++0x10de	0x0400	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8600 GTS"
++0x10de	0x0402	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8600 GT"
++0x10de	0x0407	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8600M GT"
++0x10de	0x040b	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro NVS 320M"
++0x10de	0x040c	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro FX 570M"
++0x10de	0x040d	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro FX 1600M"
++0x10de	0x0421	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8500 GT"
++0x10de	0x0422	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8400 GS"
++0x10de	0x0423	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8300 GS"
++0x10de	0x0425	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8600M GS"
++0x10de	0x0426	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8400M GT"
++0x10de	0x0427	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8400M GS"
++0x10de	0x0428	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|GeForce 8400M G"
++0x10de	0x0429	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro NVS 140M"
++0x10de	0x042a	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro NVS 130M"
++0x10de	0x042b	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro NVS 135M"
++0x10de	0x042d	"Card:NVIDIA GeForce 8 Series"	"nVidia Corp.|Quadro FX 360M"
+ 0x10de	0x0440	"unknown"	"nVidia Corporation|MCP65 LPC Bridge"
+ 0x10de	0x0441	"unknown"	"nVidia Corporation|MCP65 LPC Bridge"
+ 0x10de	0x0442	"unknown"	"nVidia Corporation|MCP65 LPC Bridge"
+@@ -3353,6 +3384,9 @@
+ 0x10de	0x045d	"sata_nv"	"nVidia Corporation|MCP65 SATA Controller"
+ 0x10de	0x045e	"sata_nv"	"nVidia Corporation|MCP65 SATA Controller"
+ 0x10de	0x045f	"sata_nv"	"nVidia Corporation|MCP65 SATA Controller"
++0x10de	0x053a	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7050 PV / nForce 630a"
++0x10de	0x053b	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7050 PV / nForce 630a"
++0x10de	0x053e	"Card:NVIDIA GeForce 7 Series"	"nVidia Corp.|GeForce 7025 PV / nForce 630a"
+ 0x10df	0x10df	"lpfc"	"Emulex Corp.|Light Pulse Fibre Channel Adapter"
+ 0x10df	0x1ae5	"lpfc"	"Emulex Corp.|LP6000 Fibre Channel Host Adapter"
+ 0x10df	0x1ae6	"lpfc"	"Emulex Corp.|LP 8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2)"
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/xconfig-test.py kde-guidance-0.8.0svn20080103/displayconfig/xconfig-test.py
+--- kde-guidance-0.8.0/displayconfig/xconfig-test.py	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/displayconfig/xconfig-test.py	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,15 @@
++import xorgconfig
++
++xconfig = xorgconfig.readConfig("/etc/X11/xorg.conf")
++
++for screensection in xconfig.getSections("screen"):
++    print screensection.identifier
++    print screensection.option
++    
++for screensection in xconfig.getSections("device"):
++    print screensection.option
++    print screensection.option[1]
++    print screensection.option[2]
++    
++    
++    
+\ Kein Zeilenumbruch am Dateiende.
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig/xorgconfig.py kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py
+--- kde-guidance-0.8.0/displayconfig/xorgconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -79,7 +79,10 @@
+         self._comment = comment
+ 
+     def toString(self,depth=0):
+-        string = (' ' * depth) + ' '.join([unicode(item) for item in self._row])
++        caprow = self._row
++        if len(caprow) > 0:
++            caprow[0] = caprow[0].capitalize()
++        string = ('\t' * (depth/2)) + '    ' * (depth%1) + '\t'.join([unicode(item) for item in caprow])
+         if self._comment is not None:
+             string += '#' + self._comment
+         return string + '\n'
+@@ -91,11 +94,13 @@
+     The first item in the line is not quoted, but the remaining items are.
+     """
+     def toString(self,depth=0):
+-        string = (' ' * depth)
++        string = ('\t' * (depth/2) + '    ' * (depth%1))
+         if len(self._row)!=0:
+-            string += self._row[0]
++            string += self._row[0].capitalize()
+         if len(self._row)>1:
+-            string += ' "' + '" "'.join([unicode(item) for item in self._row[1:]]) + '"'
++            if len(self._row[0]) < 8:
++                string += '\t'
++            string += '\t"' + '"\t"'.join([unicode(item) for item in self._row[1:]]) + '"'
+         if self._comment is not None:
+             string += '#' + self._comment
+         return string + '\n'
+@@ -373,7 +378,7 @@
+ 
+     def toString(self,depth=0):
+         return '%sSubSection "%s"\n%s%sEndSubSection\n' % \
+-            (' ' * depth, self._name, ConfigContainer.toString(self,depth+1), ' ' * depth)
++            ('\t' * (depth/2) + '    ' * (depth%1), self._name, ConfigContainer.toString(self,depth+1), '\t' * (depth/2) + '    ' * (depth%1))
+ 
+ 
+ ############################################################################
+@@ -410,11 +415,24 @@
+ 
+ ############################################################################
+ class ModuleSection(Section):
+-    _quoteattr = ["load","loaddriver"]
++    _quoteattr = ["load","loaddriver","disable"]
+ 
+     def makeSection(self,comment,row):
+         return ModuleSubSection(comment,row)
+ 
++    def allowModule(self,modname):
++        killlist = []
++        for item in self._contents:
++            try:
++                if isinstance(item,ConfigLineQuote) \
++                        and item._row[0].lower()=='disable' \
++                        and item._row[1]==modname:
++                    killlist.append(item)
++            except IndexError: pass
++
++        for item in killlist:
++            self._contents.remove(item)
++
+     def removeModule(self,modname):
+         killlist = []
+         for item in self._contents:
+@@ -428,6 +446,10 @@
+         for item in killlist:
+             self._contents.remove(item)
+ 
++    def disableModule(self,modname):
++        self.removeModule(modname)
++        self._contents.append(ConfigLineQuote(None,['disable',modname]))
++
+     def addModule(self,modname):
+         self.removeModule(modname)
+         self._contents.append(ConfigLineQuote(None,['load',modname]))
+@@ -610,6 +632,10 @@
+         return ConfigContainer.toString(self,depth)
+ 
+     def writeConfig(self,filename):
++        try:
++            encoding = locale.getpreferredencoding()
++        except locale.Error:
++            encoding = 'ANSI_X3.4-1968'
+         fhandle = codecs.open(filename,'w',locale.getpreferredencoding())
+         fhandle.write(self.toString())
+         fhandle.close()
+diff --exclude debian -ruN kde-guidance-0.8.0/displayconfig-TODO kde-guidance-0.8.0svn20080103/displayconfig-TODO
+--- kde-guidance-0.8.0/displayconfig-TODO	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/displayconfig-TODO	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,135 @@
++* How many cards do we have? autodetection?
++* Is our card a dualhead card?
++* How many monitors are connected?
++
++* difference between one and two card is different device sections
++* twinview has one device, one screen, one serverlayout
++* xinerama has two devices, two screens, two monitors
++
++twinview <> xinerama:	
++	all sections double
++	
++one or two cards:
++	different device sections
++	
++one or two monitors
++	?? one or two cards
++	?? twinview or xinerama (driver? different resolutions?)
++	
++	
++class XSetup(Object):
++	Screens[] getScreens()
++	bool maySetDualhead()
++	getUseDualhead()
++	setUseDualhead(bool)
++	(xoff,yoff) getDualheadPosition() # offset from screen 1 top left corner.
++	setDualheadOrientation(xoff,yoff)
++	
++	bool is3DAccelerated()
++	
++	GFXCard[] getGFXCards()
++	
++	
++class Screen(Object):
++	maySetResolution()
++	Resolution[] getAvailableResolutions()
++	getResolution()
++	setResolution(Resolution)
++	
++	maySetRefresh()
++	int getRefreshRate()
++	setRefreshRate(int)
++	
++	maySetRotation()
++	getRotation()
++	getAvailableRotations()
++	setRotation()
++	
++	bool isAvailableMirrorHorizontal() 
++	getMirrorHorizontal()
++	setMirrorHorizontal()
++	bool isAvailableMirrorVertical() 
++	getMirrorVertical()
++	setMirrorVertical()
++			
++class Resolution(Object):
++	int getWidth()
++	int getHeight()
++	int[] getRefreshRates():
++		
++		
++		
++* What is the current setup? (Xinerama? Singlehead? Twinview?)
++
++- Warning: Xinerama vs. DRI
++    * "unlinking" the sliders will yield a warning "Using different 
++    resolutions on the screens will disable 3D hardware acceleration on 
++    the second head", which is a Xinerama deficiency).
++
++    Note: Probably only Ati and nvidia do support mergedFB properly, other 
++    drivers might lose xinerama features like placement and maximize
++
++- Drag and drop widget
++  * The fun part: implementing a Drag and Drop widget where the (resizing) 
++  screens can be dragged into their respective relative position, 
++  "snapping" in the more obvious ones, i.e. plain "left of" and "right 
++  of", "above" and "under" (without offset). 
++
++
++- displayconfig.MonitorPreview:
++	Singleheadpreview: Monitor keeps size
++	DualheadPreview: like now, monitor resizes to show relative screen size
++
++Displayconfig; Notes abstractielaag
++-------------------------------------
++* een XSetup heeft N gfxcards.
++* een GfxCard heeft N Monitors
++* XSetup is een container voor alle objecten uit de abstractielaag.
++* XSetup.addMonitor(monitor,gfxcard) waarbij gfxcard al in XSetup zit en een 
++  referentie naar de kaart vormt waarop monitor is aangesloten.
++* Een Adaptor heeft een 1:1 relatie met een monitor, en is 'onderdeel' van 
++  een "Screen" (in de zin van  Screen section uit xorg.conf)
++* Controls zoals resize en de rotatie / mirroring widgets manipuleren een 
++  Adaptor, die intern de Screen manipuleert 
++* Singlehead resolutie verandert via xrandr en slaat settings op via 
++  displayconfig-restore.py
++* Dualhead resolutie aanpassen pakt intern een passende metamode (bij twinview) 
++  en checkt of alle zinvolle metamodes beschikbaar zijn, anders wordt de user 
++  gewaarschuwd dat dit eerst moet gebeuren.
++* Adaptor in dualhead / twinview modus worden dus naar een screen vertaald 
++  metamodes heeft.
++* Screen moet dan nog support voor metamodes krijgen.
++    
++    
++    
++displayconfig:
++===============
++* Current resolution doesn't get recognized if current != highest resolution
++* new tab display powermanagement, just like the existing tab, we need to be
++  able to at least replace existing functionality
++
++
++New Widgets:
++-------------
++* DualheadPreview
++* RadioButtons instead of dropdown for Positioning
++
++* Detect if we're already running on dualhead, (en|dis)able widgets accordingly
++* Nvidia MergedFB
++    - Make preview of dualhead more clear (only xinerama or also mergedFB?)
++    - Generate list of Metamodes from resolutions available
++    - write dualhead settings to xorg.conf
++* Compare dualhead with different drivers WRT xorg.conf
++    - generic Xinerama (Matrox, others?)
++    - dualhead for fglrx, SiS ...
++    - MergedFB as special case for nvidia (sis?)
++* Preview should be rotatable (and|or) resizable (and|or) DualHeadpreview?
++* Add missing elements to DualHeadTab
++    - [ ] Use MergedFB (binds two resolution sliders)
++    - label with warning "You can only use DRI on one head with different resolutions blahblah"
++FIXME: enabling Dualhead should:
++    - Update resolutions with "metamodes"
++    - disable Rotation/mirroring stuff
++    - Add ServerLayout to xorg.conf
++    - Add second Screen to xorg.conf
++    - Alternatively (if both resolutions are the same enable MergedFB
+diff --exclude debian -ruN kde-guidance-0.8.0/grubconfig/grubconfig.desktop kde-guidance-0.8.0svn20080103/grubconfig/grubconfig.desktop
+--- kde-guidance-0.8.0/grubconfig/grubconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/grubconfig/grubconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,20 +1,30 @@
+ [Desktop Entry]
+ Name=Boot Loader Configuration
+-Name[de]=Einrichtung des Boot-Loaders
+ Name[el]=Ρύθμιση φορτωτή εκκίνησης συστήματος
++Name[es]=Configuración del cargador de arranque
++Name[et]=Alglaaduri seadistamine
++Name[it]=Configurazione dell'avviamento del sistema
+ Name[ja]=ブートローダの設定
+ Name[nl]=Bootloaderconfiguratie
+ Name[pt]=Configuração do Gestor de Arranque
+-Name[pt_BR]=Configuração do Gerenciador de Boot
++Name[pt_BR]=Configuração do Gerenciador de Inicialização
++Name[sr]=Подешавање подизања система
++Name[sr at Latn]=Podešavanje podizanja sistema
+ Name[sv]=Startprograminställning
++Name[xx]=xxBoot Loader Configurationxx
+ Comment=Boot Options Management
+-Comment[de]=Verwaltung von Boot-Optionen
+ Comment[el]=Διαχείριση επιλογών εκκίνησης συστήματος
++Comment[es]=Administración de las opciones de arranque
++Comment[et]=Alglaadimise võtmete haldamine
++Comment[it]=Gestione delle opzioni di avviamento del sistema
+ Comment[ja]=起動オプションの管理
+ Comment[nl]=Opstartopties beheren
+ Comment[pt]=Gestão das Opções de Arranque
+-Comment[pt_BR]=Gerenciamento das Opções de Boot
++Comment[pt_BR]=Gerenciamento das Opções de Inicialização
++Comment[sr]=Управљање опцијама бутовања
++Comment[sr at Latn]=Upravljanje opcijama butovanja
+ Comment[sv]=Hantering av startalternativ
++Comment[xx]=xxBoot Options Managementxx
+ Icon=grubconfig.png
+ Encoding=UTF-8
+ X-KDE-ModuleType=Library
+@@ -25,11 +35,15 @@
+ Exec=kcmshell System/grubconfig
+ Categories=Qt;KDE;X-KDE-settings-system;
+ GenericName=Boot Loader Configuration
+-GenericName[de]=Einrichtung des Boot-Loaders
+ GenericName[el]=Ρυθμίσεις φορτωτή εκκίνησης συστήματος
++GenericName[es]=Configuración del cargador de arranque
++GenericName[et]=Alglaaduri seadistamine
++GenericName[it]=Configurazione dell'avviamento del sistema
+ GenericName[ja]=ブートローダの設定
+ GenericName[nl]=Bootloaderconfiguratie
+ GenericName[pt]=Configuração do Gestor de Arranque
+-GenericName[pt_BR]=Configuração do Gerenciador de Boot
+-GenericName[sv]=Startprograminställning
+-X-Ubuntu-Gettext-Domain=desktop_guidance
++GenericName[pt_BR]=Configuração do Gerenciador de Inicialização
++GenericName[sr]=Подешавање подизања система
++GenericName[sr at Latn]=Podešavanje podizanja sistema
++GenericName[sv]=Inställning av startprogram
++GenericName[xx]=xxBoot Loader Configurationxx
+diff --exclude debian -ruN kde-guidance-0.8.0/grubconfig/grubconfig.py kde-guidance-0.8.0svn20080103/grubconfig/grubconfig.py
+--- kde-guidance-0.8.0/grubconfig/grubconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/grubconfig/grubconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -29,7 +29,7 @@
+ import tempfile
+ 
+ programname = "Boot Loader Configuration"
+-version = "0.0.1"
++version = "0.0.2"
+ 
+ standalone = __name__=='__main__'
+ 
+diff --exclude debian -ruN kde-guidance-0.8.0/Makefile.am kde-guidance-0.8.0svn20080103/Makefile.am
+--- kde-guidance-0.8.0/Makefile.am	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/Makefile.am	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,15 @@
++messagesold:
++	LIST=`find . -name \*.py`; \
++	if test -n "$$LIST"; then \
++	    xgettext -ki18n -LPython $$LIST -o po/guidance.pot; \
++	fi
++
++	sh /usr/lib/kubuntu-desktop-i18n/findfiles LIST
++	perl /usr/lib/kubuntu-desktop-i18n/createdesktop.pl --file-list=LIST --base-dir=. > desktop.guidance.tmp
++	msguniq --to-code=UTF-8 --no-wrap -o desktop.guidance desktop.guidance.tmp 2>/dev/null
++	python /usr/lib/kubuntu-desktop-i18n/msgsplit desktop.guidance
++	mv desktop.guidance po/desktop_guidance.pot
++	rm -f desktop.guidance desktop.guidance.tmp
++
++messages:
++	true
+diff --exclude debian -ruN kde-guidance-0.8.0/modules/ixf86misc.c kde-guidance-0.8.0svn20080103/modules/ixf86misc.c
+--- kde-guidance-0.8.0/modules/ixf86misc.c	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/modules/ixf86misc.c	2008-06-10 11:58:43.000000000 +0200
+@@ -164,6 +164,25 @@
+ }
+ 
+ /***************************************************************************
++  
++XRRQueryExtension (Display *dpy,
++            int *event_basep, int *error_basep);
++*/
++static PyObject *ixf86misc_xrrqueryextension(PyObject *self, PyObject *args) {
++  PyObject *pydisplay = NULL;
++  Display *display;
++  int event_basep, error_basep;
++  
++  if(!PyArg_ParseTuple(args, "O", &pydisplay)) {
++    return NULL;
++  }
++  display = (Display *)PyCObject_AsVoidPtr(pydisplay);
++
++  Bool rc = XRRQueryExtension(display, &event_basep, &error_basep);
++  return Py_BuildValue("(iii)",(int)rc, event_basep, error_basep);
++}
++
++/***************************************************************************
+   XRRScreenConfiguration *XRRGetScreenInfo(Display *dpy,Drawable d)
+ */
+ static void ixf86misc_destroyxrrscreenconfig(void *ptr) {
+@@ -487,6 +506,7 @@
+   { "XScreenSaverQueryExtension", ixf86misc_xscreensaverqueryextension, METH_VARARGS },
+   { "XScreenSaverAllocInfo", ixf86misc_xscreensaverallocinfo, METH_VARARGS },
+   { "XScreenSaverQueryInfo", ixf86misc_xscreensaverqueryinfo, METH_VARARGS },
++  { "XRRQueryExtension", ixf86misc_xrrqueryextension, METH_VARARGS },
+   { NULL, NULL }
+ };
+ 
+diff --exclude debian -ruN kde-guidance-0.8.0/modules/xf86misc.py kde-guidance-0.8.0svn20080103/modules/xf86misc.py
+--- kde-guidance-0.8.0/modules/xf86misc.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/modules/xf86misc.py	2008-06-10 11:58:43.000000000 +0200
+@@ -35,9 +35,15 @@
+         self.resettime = 0
+         self.lastidle = 0
+         
++        self.screenconfig = None
+         self._load()
+ 
+     def _load(self):
++        # Check for the presence of the xrandr extension.
++        (rc,x,y) = ixf86misc.XRRQueryExtension(self.display)
++        if rc==0:
++            return
++
+         self.screenconfig = ixf86misc.XRRGetScreenInfo(self.display, ixf86misc.RootWindow(self.display, self.screenid))
+         if self.screenconfig is not None:
+             (self.currentsizeid,self.currentrotation) = ixf86misc.XRRConfigCurrentConfiguration(self.screenconfig)
+diff --exclude debian -ruN kde-guidance-0.8.0/mountconfig/MicroHAL.py kde-guidance-0.8.0svn20080103/mountconfig/MicroHAL.py
+--- kde-guidance-0.8.0/mountconfig/MicroHAL.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/mountconfig/MicroHAL.py	2008-06-10 11:58:43.000000000 +0200
+@@ -381,7 +381,10 @@
+         return self.modelname
+     
+     def getName(self):
+-        return "Disk "+self.getModelName()
++        if self.getModelName():  
++            return i18n("Disk ")+self.getModelName()
++        else:
++            return i18n("Unknown Disk")
+         
+     def getPartitions(self):
+         return self.partitions[:]
+diff --exclude debian -ruN kde-guidance-0.8.0/mountconfig/mountconfig.desktop kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.desktop
+--- kde-guidance-0.8.0/mountconfig/mountconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,21 +1,32 @@
+ [Desktop Entry]
+ Name=Disk & Filesystems
+-Name[de]=Laufwerke & Dateisysteme
++Name[da]=Disk & Filesystemer
+ Name[el]=Δίσκοι & συστήματα αρχείων
++Name[es]=Disco y sistemas de archivos
++Name[et]=Ketas ja failisüsteemid
++Name[it]=Dischi e filesystem
+ Name[ja]=ディスクとファイルシステム
+ Name[nl]=Schijven en bestandssystemen
+-Name[pt]=Disco e Sistemas de Ficheiros
++Name[pt]=Disco & Sistemas de Ficheiros
+ Name[pt_BR]=Disco & Sistemas de Arquivos
+-Name[sv]=Disk och filsystem
++Name[sr]=Диск и фајл-системи
++Name[sr at Latn]=Disk i fajl-sistemi
++Name[sv]=Disk- och filsystem
++Name[xx]=xxDisk & Filesystemsxx
+ name[en_GB]=Disk & Filesystems
+ Comment=Disk & Filesystem Configuration
+-Comment[de]=Einrichtung von Laufwerken & Dateisystemen
+ Comment[el]=Ρυθμίσεις δίσκων & συστημάτων αρχείων
++Comment[es]=Configuración del disco y sistema de archivos
++Comment[et]=Ketta ja failisüsteemi seadistamine
++Comment[it]=Configurazione di dischi e filesystem
+ Comment[ja]=ディスクとファイルシステムの設定
+ Comment[nl]=Schijven en bestandssystemen instellen
+-Comment[pt]=Configuração do Disco e Sistemas de Ficheiros
++Comment[pt]=Configuração do Disco & Sistema de Ficheiros
+ Comment[pt_BR]=Configuração de Disco e Sistemas de Arquivos
+-Comment[sv]=Inställning av disk och filsystem
++Comment[sr]=Подешавање диска и фајл-система
++Comment[sr at Latn]=Podešavanje diska i fajl-sistema
++Comment[sv]=Disk och filsysteminitierníng
++Comment[xx]=xxDisk & Filesystem Configurationxx
+ Icon=disksfilesystems.png
+ Encoding=UTF-8
+ X-KDE-ModuleType=Library
+@@ -26,11 +37,15 @@
+ Exec=kcmshell System/mountconfig
+ Categories=Qt;KDE;X-KDE-settings-system;
+ GenericName=Mount Point Editor
+-GenericName[de]=Bearbeiten der Mountpunkte
+ GenericName[el]=Επεξεργαστής σημείων προσάρτησης
++GenericName[es]=Editor del punto de montaje
++GenericName[et]=Ühenduspunktide redaktor
++GenericName[it]=Editor dei punti di montaggio
+ GenericName[ja]=マウントポイントエディタ
+ GenericName[nl]=Aankoppelpunten bewerken
+ GenericName[pt]=Editor de Pontos de Montagem
+ GenericName[pt_BR]=Editor de Pontos de Montagem
+-GenericName[sv]=Monteringsplatseditor
+-X-Ubuntu-Gettext-Domain=desktop_guidance
++GenericName[sr]=Уређивач тачки монтирања
++GenericName[sr at Latn]=Uređivač tački montiranja
++GenericName[sv]=Editor för monteringspunkter
++GenericName[xx]=xxMount Point Editorxx
+diff --exclude debian -ruN kde-guidance-0.8.0/mountconfig/mountconfig.py kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.py
+--- kde-guidance-0.8.0/mountconfig/mountconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -38,7 +38,7 @@
+ import sizeview
+ 
+ programname = "Disk & Filesystem Configuration"
+-version = "0.7.1"
++version = "0.8.0"
+ 
+ # Are we running as a separate standalone application or in KControl?
+ standalone = __name__=='__main__'
+@@ -363,7 +363,7 @@
+                 options.append(o.strip())
+ 
+         return self.getDeviceString() + \
+-            u" " + MountEntry.encodeMountEntryString(self.mountpoint) + \
++            u" " + MountEntry.encodeMountEntryString(self.mountpoint.replace("%20","\040")) + \
+             u" " + MountEntry.encodeMountEntryString(self.mounttype) + \
+             u" " + MountEntry.encodeMountEntryString(u",".join(options)) + \
+             u" " + unicode(self.fs_freq) + u" " + unicode(self.fs_passno)
+@@ -1595,7 +1595,7 @@
+     ########################################################################
+     def slotUUIDCheckboxClicked(self):
+         if self.uuidlineedit.text() == "":
+-            label = microhal.getUUIDByDevice(str(self.devicelineedit.text()))
++            label = microhal.getUUIDByDevice(unicode(self.devicelineedit.text()))
+             self.uuidlineedit.setText(label)
+         self.devicecheckbox.setChecked(False)
+         self.devicelineedit.setEnabled(False)
+@@ -1605,7 +1605,7 @@
+ 
+     def slotLabelCheckboxClicked(self):
+         if self.labellineedit.text() == "":
+-            label = microhal.getLabelByDevice(str(self.devicelineedit.text()))
++            label = microhal.getLabelByDevice(unicode(self.devicelineedit.text()))
+             self.labellineedit.setText(label)
+         self.uuidcheckbox.setChecked(False)
+         self.devicelineedit.setEnabled(False)
+@@ -1831,7 +1831,7 @@
+     ########################################################################
+     def slotUUIDCheckboxClicked(self):
+         if self.uuidlineedit.text() == "":
+-            label = microhal.getUUIDByDevice(str(self.devicelineedit.text()))
++            label = microhal.getUUIDByDevice(unicode(self.devicelineedit.text()))
+             self.uuidlineedit.setText(label)
+         self.devicecheckbox.setChecked(False)
+         self.devicelineedit.setEnabled(False)
+@@ -1841,7 +1841,7 @@
+ 
+     def slotLabelCheckboxClicked(self):
+         if self.labellineedit.text() == "":
+-            label = microhal.getLabelByDevice(str(self.devicelineedit.text()))
++            label = microhal.getLabelByDevice(unicode(self.devicelineedit.text()))
+             self.labellineedit.setText(label)
+         self.devicecheckbox.setChecked(False)
+         self.devicelineedit.setEnabled(False)
+@@ -2003,7 +2003,7 @@
+     ########################################################################
+     def displayMountEntry(self,entry):
+         global allowuuid, allowlabel
+-
++        
+         uuid = entry.getUUID()
+         if entry.getDevice() == "" and uuid != "":
+             device = microhal.getDeviceByUUID(uuid)
+@@ -2116,7 +2116,7 @@
+     ########################################################################
+     def slotUUIDCheckboxClicked(self):
+         if self.uuidlineedit.text() == "":
+-            label = microhal.getUUIDByDevice(str(self.devicelineedit.text()))
++            label = microhal.getUUIDByDevice(unicode(self.devicelineedit.text()))
+             self.uuidlineedit.setText(label)
+         self.devicecheckbox.setChecked(False)
+         self.devicelineedit.setEnabled(False)
+@@ -2542,9 +2542,9 @@
+ 
+     #######################################################################
+     def selectEntry(self,mounttype):
+-        if self.currentOptionWidget!=None:
+-            # Update the mount entry from the 
+-            self.currentOptionWidget.undisplayMountEntry(self.currentMountEntry)
++        #if self.currentOptionWidget!=None:
++        #    # Update the mount entry from the 
++        #    self.currentOptionWidget.undisplayMountEntry(self.currentMountEntry)
+         self.currentMountEntry.setMountType(mounttype)
+         # Update GUI
+         self.mounttypecombo.setCurrentItem(self.comboIndexToMountType.index(mounttype))
+diff --exclude debian -ruN kde-guidance-0.8.0/PKG-INFO kde-guidance-0.8.0svn20080103/PKG-INFO
+--- kde-guidance-0.8.0/PKG-INFO	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/PKG-INFO	1970-01-01 01:00:00.000000000 +0100
+@@ -1,10 +0,0 @@
+-Metadata-Version: 1.0
+-Name: guidance
+-Version: 0.8.0
+-Summary: UNKNOWN
+-Home-page: http://www.simonzone.com/software/guidance/
+-Author: Simon Edwards
+-Author-email: simon at simonzone.com
+-License: GPL
+-Description: UNKNOWN
+-Platform: UNKNOWN
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/g-p-m-restart kde-guidance-0.8.0svn20080103/powermanager/g-p-m-restart
+--- kde-guidance-0.8.0/powermanager/g-p-m-restart	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/powermanager/g-p-m-restart	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,6 @@
++#!/bin/bash
++echo "stopping guidance-power-manager ..."
++dcop `dcopfind -a "power-manager*"` MainApplication-Interface quit
++
++echo "starting guidance-power-manager ..."
++guidance-power-manager.py &
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/guidance-power-manager.desktop kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.desktop
+--- kde-guidance-0.8.0/powermanager/guidance-power-manager.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,21 +1,31 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+ Name=Power Manager
+-Name[de]=Energieverwaltung
+ Name[el]=Διαχειριστής ενέργειας
++Name[es]=Administrador de energía
++Name[et]=Toitehaldur
++Name[it]=Gestore dell'energia
+ Name[ja]=電源管理
+ Name[nl]=Energiebeheer
+ Name[pt]=Gestor de Energia
+ Name[pt_BR]=Gerenciador de Energia
+-Name[sv]=Hantering av strömsparfunktion
++Name[sr]=Управљач енергијом
++Name[sr at Latn]=Upravljač energijom
++Name[sv]=Energisparfunktion
++Name[xx]=xxPower Managerxx
+ Comment=Power management applet
+-Comment[de]=Miniprogramm für die Energieverwaltung
+-Comment[el]=Εφαρμογίδιο διαχείρισης ενέργειας
++Comment[el]=Μικροεφαρμογή διαχείρισης ενέργειας
++Comment[es]=Applet de administrador de potencia
++Comment[et]=Toitehalduse aplett
++Comment[it]=Applicazione per la gestione dell'energia
+ Comment[ja]=電源管理アプレット
+ Comment[nl]=Energiebeheer-applet
+ Comment[pt]='Applet' de gestão de energia
+-Comment[pt_BR]=Miniaplicativo de gerenciamento de energia
+-Comment[sv]=Miniprogram för hantering av strömsparfunktion
++Comment[pt_BR]=Mini-aplicativo de gerenciamento de energia
++Comment[sr]=Аплет за управљање енергијом
++Comment[sr at Latn]=Aplet za upravljanje energijom
++Comment[sv]=Miniprogram för energisparfunktion
++Comment[xx]=xxPower management appletxx
+ Icon=guidance-power-manager
+ Exec=guidance-power-manager
+ Terminal=false
+@@ -23,4 +33,3 @@
+ Categories=Qt;KDE;
+ OnlyShowIn=KDE;
+ X-DCOP-ServiceType=Unique
+-X-Ubuntu-Gettext-Domain=desktop_guidance
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0/powermanager/guidance-power-manager.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-06-10 11:58:43.000000000 +0200
+@@ -237,45 +237,18 @@
+         self.freq_name['powersave'] = i18n("Powersave")
+         self.freq_name['performance'] = i18n("Performance")
+ 
++        # map policy keyword to policy change methods
++        self.freq_call = {}  
++        self.freq_call['dynamic'] = self.setCpuPolicyDynamic
++        self.freq_call['powersave'] = self.setCpuPolicyPowersave
++        self.freq_call['performance'] = self.setCpuPolicyPerformance
++
+ 
+     def _initUI(self, parent):
+         """ Build dynamic parts of the UI: context menu and tooltip. """
+         self.canSuspend = self.powermanager.canSuspend and not self.config.readBoolEntry("disableSuspend", False)
+         self.canHibernate = self.powermanager.canHibernate and not self.config.readBoolEntry("disableHibernate", False)
+ 
+-        # add suspend/hibernate to tray's context menu
+-        menu = self.systray.contextMenu()
+-        if self.canSuspend:
+-            action = KAction( i18n("Suspend"), KShortcut(), self.suspend, 
+-                              self.systray.actionCollection(), "suspend")
+-            action.setIcon("suspend")
+-            action.plug(menu)
+-        if self.canHibernate:
+-            action = KAction( i18n("Hibernate"), KShortcut(), self.hibernate, 
+-                              self.systray.actionCollection(), "hibernate")
+-            action.setIcon("hibernate")
+-            action.plug(menu)
+-
+-	# add list of governators
+-	if self.powermanager.hasCpuFreq:
+-		submenu = KPopupMenu(menu)
+-		actualFreq = self.powermanager.getCpuPolicy()
+-
+-		action = KRadioAction(i18n("Dynamic"), KShortcut(), self.setCpuPolicyDynamic, self.systray.actionCollection(),'dynamic')
+-		action.setExclusiveGroup("freqs")
+-		action.plug(submenu)
+-
+-		action = KRadioAction(i18n("Powersave"), KShortcut(), self.setCpuPolicyPowersave, self.systray.actionCollection(), 'powersave')
+-		action.setExclusiveGroup("freqs")
+-		action.plug(submenu)
+-		
+-		action = KRadioAction(i18n("Performance"), KShortcut(), self.setCpuPolicyPerformance, self.systray.actionCollection(), 'performance')
+-		action.setExclusiveGroup("freqs")
+-		action.plug(submenu)
+-		
+-		self.systray.actionCollection().action(actualFreq).setChecked(True);
+-		menu.insertItem(i18n("CPU policy"),submenu)
+-
+         # Connect some signals.  Updates in the dialogue apply instantly
+         self.connect(self.PoweredBrightnessSlider, SIGNAL("valueChanged(int)"), self.changePoweredBrightness)
+         self.connect(self.BatteryBrightnessSlider, SIGNAL("valueChanged(int)"), self.changeBatteryBrightness)
+@@ -288,6 +261,7 @@
+ 
+         # Popup tooltip showing battery level
+         self.popup = KPassivePopup(self.systray)
++	
+         self.tooltip = ToolTip(self.popup)
+ 
+         self._addBatteryWidgets()
+@@ -307,13 +281,8 @@
+         # fill in only CPU policies that are supported by HW
+         self.cb_freq = []       # list of supported cpu freq policies
+         self.cb_freq_def = 0    # always use first policy as default
+-        if self.powermanager.hasCpuFreq:
+-            if len(self.powermanager.cpu_policy['dynamic']) > 0:
+-                self.cb_freq.append('dynamic')
+-            if len(self.powermanager.cpu_policy['powersave']) > 0:
+-                self.cb_freq.append('powersave')
+-            if len(self.powermanager.cpu_policy['performance']) > 0:
+-                self.cb_freq.append('performance')
++        if self.powermanager.hasCpuFreqGovernors:
++            self.cb_freq = self.powermanager.getSupportedCpuPolicies()
+         if len(self.cb_freq) > 0:
+             self._initCB(self.PoweredFreqCombo, self.cb_freq, self.freq_name)
+             self._initCB(self.BatteryFreqCombo, self.cb_freq, self.freq_name)
+@@ -342,6 +311,34 @@
+         self.connect(self.BatteryIdleCombo,SIGNAL("activated(int)"),self.slotBatteryIdleActivated)
+         self.connect(self.BatteryCriticalCombo,SIGNAL("activated(int)"),self.slotBatteryCriticalActivated)
+ 
++        # add suspend/hibernate to tray's context menu
++        menu = self.systray.contextMenu()
++        if self.canSuspend:
++            action = KAction( i18n("Suspend"), KShortcut(), self.suspend, 
++                              self.systray.actionCollection(), "suspend")
++            action.setIcon("suspend")
++            action.plug(menu)
++        if self.canHibernate:
++            action = KAction( i18n("Hibernate"), KShortcut(), self.hibernate, 
++                              self.systray.actionCollection(), "hibernate")
++            action.setIcon("hibernate")
++            action.plug(menu)
++
++        # add list of governators
++        if self.powermanager.hasCpuFreqGovernors and len(self.cb_freq) > 0:
++            submenu = KPopupMenu(menu)
++            for policy in self.cb_freq:
++                action = KRadioAction(self.freq_name[policy], KShortcut(), 
++                                      self.freq_call[policy], 
++                                      self.systray.actionCollection(), policy)
++                action.setExclusiveGroup("freqs")
++                action.plug(submenu)
++    
++            policy = self.powermanager.getCpuPolicy()
++            if policy in self.cb_freq:
++                self.systray.actionCollection().action(policy).setChecked(True);
++            menu.insertItem(i18n("CPU policy"), submenu)
++
+ 
+         # KGlobalAccel crashes the application in pykde
+         # see http://mats.gmd.de/pipermail/pykde/2006-May/013224.html
+@@ -432,6 +429,40 @@
+         """ Pop up the tooltip showing battery data and CPU frequencies. """
+         self.popup.show()
+ 
++
++    def showBrightnessPopup(self):
++        if self.powermanager.onBattery():
++            value=self.BatteryBrightnessSlider.value()*100/self.BatteryBrightnessSlider.maxValue()
++        else:
++            value=self.PoweredBrightnessSlider.value()*100/self.PoweredBrightnessSlider.maxValue()
++        self.brightnessPopup = KPassivePopup.message('<b>Brightness:</b> '+str(value)+'%', self.systray)
++        """pop.setTimeout(3000)"""
++        self.brightnessPopup.show()	
++
++    def setBrightnessUp(self):
++        """Increments slider value by 10%"""
++        if self.powermanager.onBattery():
++            self.BatteryBrightnessSlider.setValue(self.BatteryBrightnessSlider.value()+self.BatteryBrightnessSlider.maxValue()/10)
++        else:
++            self.PoweredBrightnessSlider.setValue(self.PoweredBrightnessSlider.value()+self.PoweredBrightnessSlider.maxValue()/10)
++            self.showBrightnessPopup()
++    
++            
++    def setBrightnessDown(self):
++        if self.powermanager.onBattery():
++                self.BatteryBrightnessSlider.setValue(self.BatteryBrightnessSlider.value()-self.BatteryBrightnessSlider.maxValue()/10)
++        else:
++            self.PoweredBrightnessSlider.setValue(self.PoweredBrightnessSlider.value()-self.PoweredBrightnessSlider.maxValue()/10)
++            self.showBrightnessPopup()
++
++    def getBrightness(self):
++      """Work with percentages - it's a bit nicer"""
++      if self.powermanager.onBattery():
++        value=self.BatteryBrightnessSlider.value()*100/self.BatteryBrightnessSlider.maxValue()
++      else:
++        value=self.MainsBrightnessSlider.value()*100/self.MainsBrightnessSlider.maxValue()
++      return QString(str(value))
++
+     def hideTip(self):
+         """ Hide the tooltip."""
+         self.popup.hide()
+@@ -445,12 +476,18 @@
+         # create a DCOP-Application-Object to talk to kdesktop:
+         kdesktop = DCOPApp('kdesktop', client)
+         # call a DCOP-function:
+-        ok, foo = kdesktop.KScreensaverIface.lock()
+-
++        try:
++            ok, foo = kdesktop.KScreensaverIface.lock()
++        except:
++            print "Unable to lock the screen. The KDE Screensaver does not seem to be running."
+     def suspend(self):
+         """ Lock the screen and initiate a suspend to RAM (S3). """
+         if self.config.readBoolEntry("lockOnResume", True):
+             self.lockScreen()
++        try:
++            self.warningPopup.hide()
++        except AttributeError:
++            pass # No warningpopup, that's OK.        
+         self.powermanager.suspend()
+         self.powermanager.resetIdleSeconds()        
+ 
+@@ -458,27 +495,31 @@
+         """ Lock the screen and initiate a suspend to disk (S4). """
+         if self.config.readBoolEntry("lockOnResume", True):
+             self.lockScreen()
++        try:
++            self.warningPopup.hide()
++        except AttributeError:
++            pass # No warningpopup, that's OK.
+         self.powermanager.hibernate()
+         self.powermanager.resetIdleSeconds()
+ 
+     def shutdown(self):
+         """ Perform system shutdown. """
+         self.powermanager.shutdown()
+-	
++        
+     def setCpuPolicyDynamic(self):
+-	"""Change frequ for all cpu"""
+-	self.powermanager.setCpuPolicy('dynamic')
+-	self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['dynamic']))
+-	
++        """Change frequ for all cpu"""
++        self.powermanager.setCpuPolicy('dynamic')
++        self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['dynamic']))
++    
+     def setCpuPolicyPerformance(self):
+-	"""Change frequ for all cpu"""
+-	self.powermanager.setCpuPolicy('performance')
+-	self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['performance']))
++        """Change frequ for all cpu"""
++        self.powermanager.setCpuPolicy('performance')
++        self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['performance']))
+ 
+     def setCpuPolicyPowersave(self):
+-	"""Change frequ for all cpu"""
+-	self.powermanager.setCpuPolicy('powersave')
+-	self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['powersave']))
++        """Change frequ for all cpu"""
++        self.powermanager.setCpuPolicy('powersave')
++        self.notify(i18n("CPU frequency policy changed to %1.").arg(self.freq_name['powersave']))
+ 
+     def trySuspend(self):
+         """ If supported, lock the screen and initiate a suspend to RAM (S3). """
+@@ -487,7 +528,6 @@
+         else:
+            print "Warning: DCOP suspend() called, but not supported."
+ 
+-
+     def tryHibernate(self):
+         """ If supported, lock the screen and initiate a suspend to disk (S4). """
+         if self.canHibernate:
+@@ -822,11 +862,11 @@
+                 self.CpuProgress[cpu].setEnabled(True)
+                 self.CpuProgress[cpu].setTotalSteps(cpustate['max'])
+                 self.CpuProgress[cpu].setProgress(cpustate['cur'])
+-	
+-	self.systray.actionCollection().action(policy).setChecked(True)
+-	
+-	
+-
++        if policy != "":
++            self.systray.actionCollection().action(policy).setChecked(True)        
++        if policy in self.cb_freq:
++            self.systray.actionCollection().action(policy).setChecked(True)
++            
+     def changePoweredBrightness(self, level=None):
+         """ Mains-powered brigthness slider has been moved. """
+         # Check if the state applies and adjust brightness immediately.
+@@ -843,21 +883,24 @@
+                 level = self.BatteryBrightnessSlider.value()
+             self.powermanager.adjustBrightness(level)
+ 
++
++
++
+     def checkCpuFreq(self):
+         """ Adjust CPU frequency policy according to current state """
+-        if not self.powermanager.hasCpuFreq:
++        if not self.powermanager.hasCpuFreqGovernors:
+             return ""
+ 
+         if self.powermanager.onBattery():
+             policy = str(self.config.readEntry("batteryFreqPolicy"))
+         else:
+             policy = str(self.config.readEntry("poweredFreqPolicy"))
++        if policy == "":
++           policy = 'dynamic'
+ 
+         # check if specified policy is supported by HW
+-        try:
+-            self.cb_freq.index(policy)
+-        except (ValueError, AttributeError):
+-            print "Warning: policy from config file not supported", policy
++        if not policy in self.cb_freq:
++            print "Warning: policy from config file not supported: ", policy
+             return ""
+ 
+         current_policy = self.powermanager.getCpuPolicy()
+@@ -865,9 +908,12 @@
+             debug("Switching CPU policy from %s to %s." % (current_policy, policy))
+             self.powermanager.setCpuPolicy(policy)
+             return i18n("CPU frequency policy changed to %1.").arg(self.freq_name[policy]) 
+-        else:
+-            debug("CPU policy will stay %s" % current_policy)
+-            return ""
++        elif current_policy == 'dynamic':
++            debug("Dynamic policy -> update policy (conservative/ondemand)")
++            self.powermanager.setCpuPolicy(policy)
++        
++        debug("CPU policy will stay %s" % current_policy)
++        return ""
+ 
+     def powerHasBeenUnplugged(self):
+         """ Actions to perform when the plug has been pulled."""
+@@ -949,7 +995,7 @@
+         if self.act_call[action] == None:
+             return # doing nothing anyway
+         if idlesec > idleTime:
+-            note = i18n("System idle for at least %s minutes, %s now." % (idleTime, self.act_notify[action]))
++            note = i18n("System idle for at least %1 minutes, %2 now.").arg(idleTime).arg(self.act_notify[action])
+             self.notify(note, self.act_icon[action])
+             QTimer.singleShot(2000, self.act_call[action])
+ 
+@@ -983,6 +1029,10 @@
+         #self.addMethod ('void unplugged ()', app.powerHasBeenUnplugged)
+         self.addMethod ('bool onBattery ()', app.powermanager.onBattery)
+ 
++	self.addMethod('void brightnessUp ()', app.setBrightnessUp)
++	self.addMethod('void brightnessDown ()', app.setBrightnessDown)
++	self.addMethod('QString getBrightness ()', app.getBrightness)
++	
+         #self.addMethod ('QString getCurrentResult()', gvd.getRawResult)
+ 
+ 
+@@ -1055,7 +1105,7 @@
+ 
+ 
+ if __name__ == "__main__":
+-    aboutdata = KAboutData("power-manager", "Power Manager", "0.5", 
++    aboutdata = KAboutData("power-manager", "Power Manager", "0.8.0", 
+         "Handles battery, display and suspend modes for your computer.", KAboutData.License_GPL, 
+         "(C) 2006-2007 Sebastian Kügler, Canonical Ltd, Luka Renko", 
+         None, None, "jriddell at ubuntu.com")
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/powermanage.py kde-guidance-0.8.0svn20080103/powermanager/powermanage.py
+--- kde-guidance-0.8.0/powermanager/powermanage.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-06-10 11:58:43.000000000 +0200
+@@ -72,8 +72,11 @@
+         self.SCREENSAVER_BLANKONLY = True
+ 
+ 
+-        xg = xf86misc.XF86Server()
+-        self.xscreen = xg.getDefaultScreen()
++        try:
++            xg = xf86misc.XF86Server()
++            self.xscreen = xg.getDefaultScreen()
++        except xf86misc.XF86Error:
++            print "Problem connecting to X server for idletime detection."
+         # Currently only used in the test method
+         self.display_dark = 0.5
+         self.display_light = 1
+@@ -91,7 +94,7 @@
+         self.hasAC = False
+         self.hasLid = False
+         self.hasBattery = False
+-        self.hasCpuFreq = False
++        self.hasCpuFreqGovernors = False
+ 
+         # Used to track if the previous check reported a battery to determine
+         # if we want to fire a notice "battery removed|plugged in"
+@@ -170,8 +173,12 @@
+         """ Read battery status from HAL and return 
+             (battery state, charge percentage, remaining seconds). 
+         """
+-        properties = self.batteries[batt].GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
+-
++        try:
++            properties = self.batteries[batt].GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
++        except dbus.DBusException:
++            print "problem getting battery state from dbus."
++            return "not present", 0, 0, 0, 0, 0
++        
+         if not properties['battery.present']:
+             return "not present", 0, 0, 0, 0, 0
+         else:
+@@ -184,7 +191,10 @@
+             if properties["battery.rechargeable.is_charging"]:
+                 state = "charging"
+             elif properties["battery.rechargeable.is_discharging"]:
+-                state = "discharging"
++                if self.onBattery():
++                    state = "discharging"
++                else:
++                    state = "charged"
+             elif not properties["battery.rechargeable.is_discharging"] \
+                  and not properties["battery.rechargeable.is_charging"]:
+                 if current == 0:
+@@ -256,14 +266,26 @@
+             self.brightness_properties = self.brightnessObject.GetAllProperties(
+                                                 dbus_interface="org.freedesktop.Hal.Device")
+             self.brightness_levels = self.brightness_properties[u'laptop_panel.num_levels']
+-
++            try:
++                self.old_b = self.brightness_levels[-1] # Setting cached brightness value to  brightest
++            except TypeError,e:
++                return 0 # Really don't know what to do here, but don't crash in any case.
++                
+     def getBrightness(self):
+         """ Read brightness from HAL. """
+         if not self.hasBrightness:
+             debug("Brightness setting not supported.")
+             return
+-        b = self.brightnessObject.GetBrightness(
++        try:
++            b = self.brightnessObject.GetBrightness(
+                                             dbus_interface="org.freedesktop.Hal.Device.LaptopPanel")
++        except dbus.DBusException, e:
++            # Sometimes, right after resume, the HAL call 
++            # fails, in that case, we return the last value
++            # and hope that it goes well next time.
++            print "Warning: in getBrightness(): ", e
++            return self.old_b
++        self.old_b = b
+         return b
+ 
+     def adjustBrightness(self, level):
+@@ -285,13 +307,14 @@
+         cpufreq_dir = "/sys/devices/system/cpu"
+         self.cpus = []
+         for cpu in os.listdir(cpufreq_dir):
+-            if cpu.startswith('cpu'):
++            if cpu.startswith('cpu') and cpu != 'cpuidle':
+                 self.cpus.append(cpu)
+         self.cpus.sort()
+ 
+         # Map our policies to cpufreq governors.
+         self.cpu_policy = {}
+-        self.cpu_policy['dynamic'] = []
++        self.cpu_policy['dynamic/ac'] = []
++        self.cpu_policy['dynamic/battery'] = []
+         self.cpu_policy['powersave'] = []
+         self.cpu_policy['performance'] = []
+ 
+@@ -301,34 +324,56 @@
+             self.governor_available = self.cpufreq.GetCPUFreqAvailableGovernors()
+         except dbus.DBusException:
+             return
+-        self.hasCpuFreq = True
++        self.hasCpuFreqGovernors = True
+ 
+         if 'ondemand' in self.governor_available:
+-            self.cpu_policy['dynamic'].append('ondemand') 
++            self.cpu_policy['dynamic/ac'].append('ondemand') 
++            self.cpu_policy['dynamic/battery'].append('ondemand') 
++        if 'conservative' in self.governor_available:
++            self.cpu_policy['dynamic/ac'].append('conservative') 
++            self.cpu_policy['dynamic/battery'].insert(0,'conservative') 
+         if 'userspace' in self.governor_available:
+-            self.cpu_policy['dynamic'].append('userspace') 
++            self.cpu_policy['dynamic/ac'].append('userspace') 
++            self.cpu_policy['dynamic/battery'].append('userspace') 
+         if 'powersave' in self.governor_available:
+             self.cpu_policy['powersave'].append('powersave') 
+         if 'performance' in self.governor_available:
+             self.cpu_policy['performance'].append('performance') 
+ 
++    def getSupportedCpuPolicies(self):
++        """ Report a list of supported CPU policies """
++        policies = []
++        if len(self.cpu_policy['dynamic/ac']) > 0:
++            policies.append('dynamic')
++        if len(self.cpu_policy['powersave']) > 0:
++            policies.append('powersave')
++        if len(self.cpu_policy['performance']) > 0:
++            policies.append('performance')
++        return policies
++
+     def getCpuPolicy(self):
+         """ Translate current CPU frequency governor into policy """
+-        if not self.USE_CPUFREQ or not self.hasCpuFreq:
++        if not self.USE_CPUFREQ or not self.hasCpuFreqGovernors:
+             return ""
+         gov = self.cpufreq.GetCPUFreqGovernor()
+         for policy in self.cpu_policy.keys():
+             if gov in self.cpu_policy[policy]:
+-                return policy
++                return policy.split('/')[0]   # strip ac or battery off
+         return gov  ## return as-is - no conversion
+ 
+     def setCpuPolicy(self,policy):
+         """ Using cpufreq governors. Mode is powersave, dynamic or performance. We're assuming that 
+             the available governors are the same for all CPUs. This method changes the cpufreq 
+             governor on all CPUs to a certain policy."""
+-        if not self.USE_CPUFREQ or not self.hasCpuFreq:
++        if not self.USE_CPUFREQ or not self.hasCpuFreqGovernors:
+             return False
+ 
++        if policy == "dynamic":
++            if self.onBattery():
++               policy = "dynamic/battery"
++            else:
++               policy = "dynamic/ac"
++
+         for gov in self.cpu_policy[policy]:
+             try:
+                 self.cpufreq.SetCPUFreqGovernor(gov)
+@@ -372,8 +417,11 @@
+         
+     def getLidClosedState(self):
+         """ Returns True if the lid is currently closed, or False if it isn't. """
+-        properties = self.lidObject.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
+-        return properties["button.state.value"]
++        try:
++            properties = self.lidObject.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
++            return properties["button.state.value"]
++        except (KeyError, dbus.DBusException):
++            return False
+         
+     def setPowerSave(self, state):
+         # No SetPowerSave in Ubuntu's HAL
+@@ -455,7 +503,7 @@
+             print "Skipping DiskPM, not root."
+             
+         if self.hasLid:
+-            if self.getLidClosedState() == True:
++            if self.getLidClosedState():
+                 print "Lid is closed."
+             else:
+                 print "Lid is currently open."
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/recompile-ui-files kde-guidance-0.8.0svn20080103/powermanager/recompile-ui-files
+--- kde-guidance-0.8.0/powermanager/recompile-ui-files	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/powermanager/recompile-ui-files	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,6 @@
++#!/bin/bash
++pyuic -tr i18n tooltip.ui -o tooltip.py
++pyuic -tr i18n guidance_power_manager_ui.ui -o guidance_power_manager_ui.py
++pyuic -tr i18n notify.ui -o notify.py
++
++
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/TODO kde-guidance-0.8.0svn20080103/powermanager/TODO
+--- kde-guidance-0.8.0/powermanager/TODO	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/powermanager/TODO	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,49 @@
++guidance-power-manager TODO:
++------------------------------
++- [brightness preview], see below
++- make power-manager non-blocking
++- Wait with hibernate / suspending if the plug has just been pulled
++  Some batteries only report remaining_time correctly after 30 or so
++  seconds
++
++
++DUNNO's:
++---------
++- How to detect how long the machine is idle?
++- How to perform actions that need root privileges (and are not available via HAL)?
++- Should we notify when battery is fully charged?
++
++FIXED:
++-------
++- What is "blank"? "Screen Saver", "Blank Screen" or "Monitor off"?
++- Handle CPU hotplugging gracefully (try switching off one CPU when g-p-m is running...)
++- Make use of kstandardirs
++- Add icons to contextmenu
++- Remove brightness controls when not hasBrighness
++- Remove battery-specifif items from tooltip when there's no battery
++- Make settings dialogue not apply instantly (Save config only on OK and Apply)
++- Add cpu frequency to tooltip
++- Add icons to tooltip
++- Make tooltip size properly
++- battery hotplugging
++- Implement switchToBattery(), collecting all stuff for onBattery
++	- notify
++	- blankscreensaveronly
++	- lowerbrightness
++
++- Implement switchToAC(), collecting stuff to run when plugged in:
++	- notify    
++	- undo blankscreensaveronly
++	- up brightness
++- Clicking onto the slider should move the handle to the closest tick, but how? 
++- support for second battery
++
++[brightness preview]
++Currently there is only a brightness preview for the currently active scheme (_either_ mains or battery powered). 
++That means if you want to set the battery brightness when you are currently mains powered, you'll probably 
++move the battery slider, realise that there is no preview, go to the mains slider, move it till you found a nice 
++brightness level, then go back to the battery slider and set it there. Would be nicer to have a preview for both sliders: 
++Whenever you move to a new location, the brightness is adjusted. Has to be tested if it should be set back to 
++previous value after 5 seconds, or if it should remain till you either move the other slider or click save (assuming 
++explicit apply).
++
+diff --exclude debian -ruN kde-guidance-0.8.0/powermanager/tooltip.ui kde-guidance-0.8.0svn20080103/powermanager/tooltip.ui
+--- kde-guidance-0.8.0/powermanager/tooltip.ui	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/powermanager/tooltip.ui	2008-06-10 11:58:43.000000000 +0200
+@@ -23,7 +23,7 @@
+     </property>
+     <property name="minimumSize">
+         <size>
+-            <width>220</width>
++            <width>240</width>
+             <height>0</height>
+         </size>
+     </property>
+diff --exclude debian -ruN kde-guidance-0.8.0/README.developers kde-guidance-0.8.0svn20080103/README.developers
+--- kde-guidance-0.8.0/README.developers	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103/README.developers	2008-06-10 11:58:43.000000000 +0200
+@@ -0,0 +1,48 @@
++
++Intro
++~~~~~
++In this file I want to try to explain some practical things about Guidance
++the "project" and some basic (and hopefully not too heavy) policies about how
++things work organisationally.
++
++-- 11 Feb 2007, Simon Edwards <simon at simonzone.com>
++
++
++Developers
++~~~~~~~~~~
++The list of developers as of 11 Feb 2007:
++
++Simon Edwards <simon at simonzone.com>, SVN username: sedwards, IRC: sime (unregistered)
++Sebastian Kügler <sebas at kde.nl>, SVN username: sebas, IRC: sebas
++Yuriy Kozlov <yuriy.kozlov at gmail.com>, SVN username: ykozlov, IRC: yuriy
++Martin Böhm <martin.bohm at kubuntu.org>, SVN username: martinbohm, IRC: ???
++
++"Lure" on #kubuntu-devel will join this list whether he likes it or not if he keeps
++on committing stuff to powermanager. ;-)
++
++
++Subversion
++~~~~~~~~~~
++Main development occurs in KDE's subversion repository in
++/trunk/kdereview/guidance. Branches of the stable releases can be found
++in svn under /kde/branches/guidance/. 0.6 was used in the Kubuntu Dapper, 0.7
++was in Edgy.
++
++
++Python source code
++~~~~~~~~~~~~~~~~~~
++Use 4 spaces for indentation, for the simple reason that it is very common
++and mixing indentation styles is a PITA.
++
++I (Simon) use Qt/KDE style naming conventions for methods. For variable
++names I'm a bit inconsistent but it is usually lower case of lower case
++with underscores. All I ask is that variable names be descriptive and
++understandable.
++
++TIP: When dealing with translated strings, use uncide() and not str(),
++otherwise things will break on translated desktops.
++
++
++Release procedure
++~~~~~~~~~~~~~~~~~
++[TODO: explain how a release tarball is created.]
+diff --exclude debian -ruN kde-guidance-0.8.0/serviceconfig/serviceconfig.desktop kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.desktop
+--- kde-guidance-0.8.0/serviceconfig/serviceconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,21 +1,31 @@
+ [Desktop Entry]
+ Name=System Services
+-Name[de]=Systemdienste
+ Name[el]=Υπηρεσίες συστήματος
++Name[es]=Servicios del sistema
++Name[et]=Süsteemsed teenused
++Name[it]=Servizi di sistema
+ Name[ja]=システムサービス
+ Name[nl]=Systeemdiensten
+ Name[pt]=Serviços do Sistema
+ Name[pt_BR]=Serviços do Sistema
++Name[sr]=Системски сервиси
++Name[sr at Latn]=Sistemski servisi
+ Name[sv]=Systemtjänster
++Name[xx]=xxSystem Servicesxx
+ name[en_GB]=System Services
+ Comment=System Service Configuration
+-Comment[de]=Einrichtung von Systemdiensten
+ Comment[el]=Ρυθμίσεις υπηρεσιών συστήματος
++Comment[es]=Configuración del servicio del sistema
++Comment[et]=Süsteemi teenuste seadistamine
++Comment[it]=Configurazione dei servizi di sistema
+ Comment[ja]=システムサービスの設定
+ Comment[nl]=Systeemdiensten instellen
+ Comment[pt]=Configuração dos Serviços do Sistema
+ Comment[pt_BR]=Configuração dos Serviços do Sistema
++Comment[sr]=Подешавање системских сервиса
++Comment[sr at Latn]=Podešavanje sistemskih servisa
+ Comment[sv]=Inställning av systemtjänster
++Comment[xx]=xxSystem Service Configurationxx
+ Icon=daemons.png
+ Encoding=UTF-8
+ X-KDE-ModuleType=Library
+@@ -26,11 +36,15 @@
+ Exec=kcmshell System/serviceconfig
+ Categories=Qt;KDE;X-KDE-settings-system;
+ GenericName=Runlevel Editor
+-GenericName[de]=Bearbeiten der Runlevel
+ GenericName[el]=Επεξεργαστής επιπέδων εκτέλεσης
++GenericName[es]=Editor del nivel de ejecución
++GenericName[et]=Käitustasemete redaktor
++GenericName[it]=Editor dei runlevel
+ GenericName[ja]=ランレベルエディタ
+ GenericName[nl]=Runlevel-bewerker
+-GenericName[pt]=Editor do Nível de Execução
+-GenericName[pt_BR]=Editor do Nível de Execução
+-GenericName[sv]=Körnivåeditor
+-X-Ubuntu-Gettext-Domain=desktop_guidance
++GenericName[pt]=Editor de Níveis de Execução
++GenericName[pt_BR]=Editor de Níveis de Execução
++GenericName[sr]=Уређивач радних нивоа
++GenericName[sr at Latn]=Uređivač radnih nivoa
++GenericName[sv]=Editor för körnivå
++GenericName[xx]=xxRunlevel Editorxx
+diff --exclude debian -ruN kde-guidance-0.8.0/serviceconfig/serviceconfig.py kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.py
+--- kde-guidance-0.8.0/serviceconfig/serviceconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -28,7 +28,7 @@
+ import locale
+ 
+ programname = "Services Configuration"
+-version = "0.7.1"
++version = "0.8.0"
+ 
+ # Holding the name of the distribution, defaults to ...
+ DISTRO = "Mandrake"
+diff --exclude debian -ruN kde-guidance-0.8.0/setup.py kde-guidance-0.8.0svn20080103/setup.py
+--- kde-guidance-0.8.0/setup.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/setup.py	2008-06-10 11:58:43.000000000 +0200
+@@ -166,6 +166,7 @@
+                             'displayconfig/displayconfigwidgets.py',
+                             'displayconfig/displayconfig-restore.py',
+                             'displayconfig/execwithcapture.py',
++                            'displayconfig/infimport.py',
+                             'displayconfig/ScanPCI.py',
+                             'displayconfig/ktimerdialog.py',
+                             'displayconfig/servertestdialog.py',
+diff --exclude debian -ruN kde-guidance-0.8.0/userconfig/userconfig.desktop kde-guidance-0.8.0svn20080103/userconfig/userconfig.desktop
+--- kde-guidance-0.8.0/userconfig/userconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/userconfig/userconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,20 +1,30 @@
+ [Desktop Entry]
+ Name=User Management
+-Name[de]=Benutzerverwaltung
+ Name[el]=Διαχείριση χρηστών
++Name[es]=Administrador de usuarios
++Name[et]=Kasutajate haldamine
++Name[it]=Gestione degli utenti
+ Name[ja]=ユーザの管理
+ Name[nl]=Gebruikersbeheer
+ Name[pt]=Gestão de Utilizadores
+ Name[pt_BR]=Gerenciamento de Usuários
++Name[sr]=Управљање корисницима
++Name[sr at Latn]=Upravljanje korisnicima
+ Name[sv]=Användarhantering
++Name[xx]=xxUser Managementxx
+ Comment=Users & Groups Administration
+-Comment[de]=Verwaltung von Benutzern & Gruppen
+ Comment[el]=Διαχείριση χρηστών & ομάδων
++Comment[es]=Administrador de usuarios y grupos
++Comment[et]=Kasutajate ja gruppide haldamine
++Comment[it]=Amministrazione di utenti e gruppi
+ Comment[ja]=ユーザとグループの管理
+ Comment[nl]=Gebruikers en groepen beheren
+-Comment[pt]=Administração dos Utilizadores e Grupos
+-Comment[pt_BR]=Administração de Usuários e Grupos
++Comment[pt]=Administração dos Utilizadores & Grupos
++Comment[pt_BR]=Administração de Usuários & Grupos
++Comment[sr]=Администрирање корисника и група
++Comment[sr at Latn]=Administriranje korisnika i grupa
+ Comment[sv]=Administration av användare och grupper
++Comment[xx]=xxUsers & Groups Administrationxx
+ Icon=userconfig.png
+ Encoding=UTF-8
+ X-KDE-ModuleType=Library
+@@ -25,11 +35,15 @@
+ Exec=kcmshell System/userconfig
+ Categories=Qt;KDE;X-KDE-settings-system;
+ GenericName=User Account Editor
+-GenericName[de]=Bearbeiten der Benutzerkonten
+ GenericName[el]=Επεξεργαστής λογαριασμών χρηστών
++GenericName[es]=Editor de cuenta de usuario
++GenericName[et]=Kasutajakonto redaktor
++GenericName[it]=Editor degli account degli utenti
+ GenericName[ja]=ユーザアカウントエディタ
+ GenericName[nl]=Gebruikeraccounts bewerken
+-GenericName[pt]=Editor de Contas de Utilizadores
++GenericName[pt]=Editor de Contas dos Utilizadores
+ GenericName[pt_BR]=Editor de Contas de Usuários
+-GenericName[sv]=Editor av användarkonto
+-X-Ubuntu-Gettext-Domain=desktop_guidance
++GenericName[sr]=Уређивач корисничких налога
++GenericName[sr at Latn]=Uređivač korisničkih naloga
++GenericName[sv]=Editor för användarkonton
++GenericName[xx]=xxUser Account Editorxx
+diff --exclude debian -ruN kde-guidance-0.8.0/userconfig/userconfig.py kde-guidance-0.8.0svn20080103/userconfig/userconfig.py
+--- kde-guidance-0.8.0/userconfig/userconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/userconfig/userconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -27,7 +27,7 @@
+ import locale
+ 
+ programname = "userconfig"
+-version = "0.7.1"
++version = "0.8.0"
+ # Are we running as a separate standalone application or in KControl?
+ standalone = __name__=='__main__'
+ 
+@@ -1116,7 +1116,7 @@
+ 
+         grouppicker = ListPickerDialog(None,i18n("Select Groups"),i18n("Available Groups"),i18n("Selected Groups"))
+         self.selectedgroups = grouppicker.do( \
+-            [g.getGroupname() for g in self.admincontext.getGroups() if g is not self.userobj.getPrimaryGroup()], \
++            [g.getGroupname() for g in self.admincontext.getGroups()], \
+             self.selectedgroups)
+         self.selectedgroups.sort()
+         self.secondarygroupsedit.setText(unicode(i18n(", ")).join(self.selectedgroups))
+diff --exclude debian -ruN kde-guidance-0.8.0/wineconfig/wineconfig.desktop kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.desktop
+--- kde-guidance-0.8.0/wineconfig/wineconfig.desktop	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.desktop	2008-06-10 11:58:43.000000000 +0200
+@@ -1,33 +1,48 @@
+ [Desktop Entry]
+-Categories=Qt;KDE;X-KDE-settings-system;
++Categories=Qt;KDE;X-KDE-settings-system;X-KDE-systemsettings-advancedadministration;
+ Comment=Wine Configuration
+-Comment[de]=Einrichtung von Wine
+ Comment[el]=Ρυθμίσεις του Wine
++Comment[es]=Configuración de wine
++Comment[et]=Wine seadistamine
++Comment[it]=Configurazione di Wine
+ Comment[ja]=Wine の設定
+ Comment[nl]=Wine instellen
+ Comment[pt]=Configuração do Wine
+ Comment[pt_BR]=Configuração do Wine
++Comment[sr]=Wine подешавања
++Comment[sr at Latn]=Wine podešavanja
+ Comment[sv]=Inställning av Wine
++Comment[xx]=xxWine Configurationxx
+ Encoding=UTF-8
+ Exec=kcmshell System/wineconfig
+ GenericName=Wine Configuration Editor
+-GenericName[de]=Bearbeiten der Wine-Einrichtung
+-GenericName[el]=Επεξεργαστής ρυθμίσεων Wine
++GenericName[el]=Επεξεργαστής ρυθμίσεων του  Wine
++GenericName[es]=Editor de la configuración de wine
++GenericName[et]=Wine seadistuste redaktor
++GenericName[it]=Editor della configurazione di Wine
+ GenericName[ja]=Wine 設定エディタ
+ GenericName[nl]=Wine-configuratiemodule
+ GenericName[pt]=Editor de Configuração do Wine
+-GenericName[pt_BR]=Editor de Configuração do Wine
+-GenericName[sv]=Wine inställningseditor
+-Icon=wineconfig.svg
++GenericName[pt_BR]=Editor de Configurações do Wine
++GenericName[sr]=Уређивач Wine подешавања
++GenericName[sr at Latn]=Uređivač Wine podešavanja
++GenericName[sv]=Editor för inställning av Wine
++GenericName[xx]=xxWine Configuration Editorxx
++Icon=wineconfig
+ MimeType=
+ Name=Windows Applications
+-Name[de]=Windows-Programme
+ Name[el]=Εφαρμογές Windows
++Name[es]=Aplicaciones de Windows
++Name[et]=Windowsi rakendused
++Name[it]=Applicazioni Windows
+ Name[ja]=Windows アプリケーション
+ Name[nl]=Windows-programma's
+ Name[pt]=Aplicações do Windows
+-Name[pt_BR]=Aplicativos do Windows
++Name[pt_BR]=Aplicativos Windows
++Name[sr]=Windows програми
++Name[sr at Latn]=Windows programi
+ Name[sv]=Windows-program
++Name[xx]=xxWindows Applicationsxx
+ Path=
+ StartupNotify=true
+ Terminal=false
+@@ -40,4 +55,3 @@
+ X-KDE-RootOnly=false
+ X-KDE-SubstituteUID=false
+ X-KDE-Username=
+-X-Ubuntu-Gettext-Domain=desktop_guidance
+diff --exclude debian -ruN kde-guidance-0.8.0/wineconfig/wineconfig.py kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.py
+--- kde-guidance-0.8.0/wineconfig/wineconfig.py	2007-05-16 15:59:31.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.py	2008-06-10 11:58:43.000000000 +0200
+@@ -92,12 +92,12 @@
+ 
+         if not wineread.GetWineBuildPath():
+             install = KMessageBox.questionYesNo(self, \
+-                i18n("It appears that you do not have wine installed.  wine " + \
++                i18n("It appears that you do not have Wine installed. Wine " + \
+                     "can be used to run some programs designed for Windows.  " + \
+                     "Would you " + \
+                     "like to install it?\n" + \
+-                    "You will need administrative priviliges, and the " + \
+-                    "unsupported (universe) repository will be enabled."), \
++                    "You will need administrative privileges, and the " + \
++                    "community-maintained (universe) repository will be enabled."), \
+                 i18n("Windows Applications"))
+             if install == KMessageBox.Yes:
+                 self.InstallWine()
+@@ -284,14 +284,17 @@
+     def InstallWine(self):
+         """ Allows the user to enable the proper repositories and
+         install wine.
+-        Currently Kubuntu specific, requires adept_batch
++        Currently Kubuntu specific, requires kdesudo, adept_batch
+         and software-properties-kde """
+         if not isroot:
+-            if os.system("kdesu \"software-properties-kde --enable-component universe" + \
+-                " && adept_batch install wine\""):
++            if os.system("kdesudo \"software-properties-kde --enable-component universe\""):
+                 KMessageBox.error(self, i18n("There was a problem running " + \
+-                    "software-properties-kde and adept_batch.  Make sure " + \
+-                    "Adept and software-properties-kde are installed."))
++                    "software-properties-kde.  Make sure " + \
++                    "software-properties-kde is installed."))
++            elif os.system("kdesudo \"adept_batch install wine\""):
++                KMessageBox.error(self, i18n("There was a problem running " + \
++                    "adept_batch.  Make sure " + \
++                    "Adept is installed."))
+         else:
+             if os.system("software-properties-kde --enable-component=universe" + \
+                 " && adept_batch install wine"):
+@@ -334,7 +337,8 @@
+         winewrite.SetWindowSettings(windowsettings)
+ 
+         d3dsettings = {"VertexShaderMode":"hardware",
+-            "PixelShaderMode":"Y"}
++            "PixelShaderMode":"Y",
++            "UseGLSL":"enabled"}
+ 
+         winewrite.SetD3DSettings(d3dsettings)
+ 

Added: kde-extras/guidance/trunk/debian/patches/03_desktop_files.diff
===================================================================
--- kde-extras/guidance/trunk/debian/patches/03_desktop_files.diff	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/03_desktop_files.diff	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,66 @@
+diff -ruN kde-guidance-0.8.0svn20080103.orig/displayconfig/displayconfig.desktop kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.desktop
+--- kde-guidance-0.8.0svn20080103.orig/displayconfig/displayconfig.desktop	2008-06-10 13:03:01.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.desktop	2008-06-10 13:10:00.000000000 +0200
+@@ -33,7 +33,7 @@
+ X-KDE-RootOnly=true
+ Type=Application
+ Exec=kcmshell Peripherals/displayconfig
+-Categories=Qt;KDE;X-KDE-settings-hardware;
++Categories=Settings;Qt;KDE;X-KDE-settings-hardware;
+ GenericName=Screen Configuration Editor
+ GenericName[el]=Επεξεργαστής ρυθμίσεων οθόνης
+ GenericName[es]=Editor de la configuración de la pantalla
+diff -ruN kde-guidance-0.8.0svn20080103.orig/mountconfig/mountconfig.desktop kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.desktop
+--- kde-guidance-0.8.0svn20080103.orig/mountconfig/mountconfig.desktop	2008-06-10 13:03:01.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/mountconfig/mountconfig.desktop	2008-06-10 13:10:20.000000000 +0200
+@@ -35,7 +35,7 @@
+ X-KDE-RootOnly=true
+ Type=Application
+ Exec=kcmshell System/mountconfig
+-Categories=Qt;KDE;X-KDE-settings-system;
++Categories=Settings;Qt;KDE;X-KDE-settings-system;
+ GenericName=Mount Point Editor
+ GenericName[el]=Επεξεργαστής σημείων προσάρτησης
+ GenericName[es]=Editor del punto de montaje
+diff -ruN kde-guidance-0.8.0svn20080103.orig/serviceconfig/serviceconfig.desktop kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.desktop
+--- kde-guidance-0.8.0svn20080103.orig/serviceconfig/serviceconfig.desktop	2008-06-10 13:03:01.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/serviceconfig/serviceconfig.desktop	2008-06-10 13:10:46.000000000 +0200
+@@ -34,7 +34,7 @@
+ X-KDE-RootOnly=true
+ Type=Application
+ Exec=kcmshell System/serviceconfig
+-Categories=Qt;KDE;X-KDE-settings-system;
++Categories=Settings;Qt;KDE;X-KDE-settings-system;
+ GenericName=Runlevel Editor
+ GenericName[el]=Επεξεργαστής επιπέδων εκτέλεσης
+ GenericName[es]=Editor del nivel de ejecución
+diff -ruN kde-guidance-0.8.0svn20080103.orig/userconfig/userconfig.desktop kde-guidance-0.8.0svn20080103/userconfig/userconfig.desktop
+--- kde-guidance-0.8.0svn20080103.orig/userconfig/userconfig.desktop	2008-06-10 13:03:01.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/userconfig/userconfig.desktop	2008-06-10 13:10:57.000000000 +0200
+@@ -33,7 +33,7 @@
+ X-KDE-RootOnly=true
+ Type=Application
+ Exec=kcmshell System/userconfig
+-Categories=Qt;KDE;X-KDE-settings-system;
++Categories=Settings;Qt;KDE;X-KDE-settings-system;
+ GenericName=User Account Editor
+ GenericName[el]=Επεξεργαστής λογαριασμών χρηστών
+ GenericName[es]=Editor de cuenta de usuario
+diff -ruN kde-guidance-0.8.0svn20080103.orig/wineconfig/wineconfig.desktop kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.desktop
+--- kde-guidance-0.8.0svn20080103.orig/wineconfig/wineconfig.desktop	2008-06-10 13:03:01.000000000 +0200
++++ kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.desktop	2008-06-10 13:10:31.000000000 +0200
+@@ -1,5 +1,5 @@
+ [Desktop Entry]
+-Categories=Qt;KDE;X-KDE-settings-system;X-KDE-systemsettings-advancedadministration;
++Categories=Settings;Qt;KDE;X-KDE-settings-system;X-KDE-systemsettings-advancedadministration;
+ Comment=Wine Configuration
+ Comment[el]=Ρυθμίσεις του Wine
+ Comment[es]=Configuración de wine
+@@ -46,7 +46,6 @@
+ Path=
+ StartupNotify=true
+ Terminal=false
+-TerminalOptions=
+ Type=Application
+ X-DCOP-ServiceType=
+ X-KDE-FactoryName=wineconfig

Added: kde-extras/guidance/trunk/debian/patches/06_displayconfig_fix_intel_dpi.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/06_displayconfig_fix_intel_dpi.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/06_displayconfig_fix_intel_dpi.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,13 @@
+--- guidance/displayconfig/displayconfig-restore.py	2007-09-28 11:16:41.000000000 +0100
++++ guidance/displayconfig/displayconfig-restore.py	2007-10-15 15:53:35.000000000 +0100
+@@ -99,6 +99,10 @@
+                 else:
+                     dpi = 120
+ 
++            # work around for LP beastie 151311
++            if ((w_dpi < 200) and (h_dpi > 900)):
++                dpi = 96
++
+     try:
+         xrdb = subprocess.Popen(["xrdb","-nocpp","-merge"],stdin=subprocess.PIPE)
+         xrdb.communicate("Xft.dpi: %i\n" % dpi)

Added: kde-extras/guidance/trunk/debian/patches/07_powermanager_i18n.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/07_powermanager_i18n.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/07_powermanager_i18n.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-01-03 14:57:57.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-01-03 22:36:36.000000000 +0100
+@@ -1105,7 +1105,7 @@
+ 
+ 
+ if __name__ == "__main__":
+-    aboutdata = KAboutData("power-manager", "Power Manager", "0.8.0", 
++    aboutdata = KAboutData("guidance", "Power Manager", "0.8.0", 
+         "Handles battery, display and suspend modes for your computer.", KAboutData.License_GPL, 
+         "(C) 2006-2007 Sebastian Kügler, Canonical Ltd, Luka Renko", 
+         None, None, "jriddell at ubuntu.com")

Added: kde-extras/guidance/trunk/debian/patches/08_nice_groups_and_privileges.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/08_nice_groups_and_privileges.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/08_nice_groups_and_privileges.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,204 @@
+--- userconfig/userconfig.py	(revisión: 734027)
++++ userconfig/userconfig.py	(copia de trabajo)
+@@ -575,6 +575,32 @@
+         return KCModule.Help
+ 
+ ###########################################################################
++
++# Rudd-O convenience class to map groups to privilege names
++class PrivilegeNames(dict):
++	"""Convenience dict-derived class: map known secondary groups to privilege names, provide default mapping for groups that do not have a description.  This could be replaced by a simple dict() but I simply preferred the class declaration.
++	
++	FIXME This should ideally be included in a more general module so it can be reused."""
++
++	def __init__(self):
++		dict.__init__(self, {
++			"plugdev":i18n("Access external storage devices automatically"),
++			"adm":i18n("Administer the system"),
++			"ltsp":i18n("Allow use of FUSE filesystems like LTSP thin client block devices"),
++			"dialout":i18n("Connect to the Internet using a modem"),
++			"syslog":i18n("Monitor system logs"),
++			"fax":i18n("Send and receive faxes"),
++			"cdrom":i18n("Use CD-ROM and DVD drives"),
++			"floppy":i18n("Use floppy drives"),
++			"modem":i18n("Use modems"),
++			"scanner":i18n("Use scanners"),
++		})
++
++	def __getitem__(self,name):
++		# This is cruft but I couldn't bring myself to kill it bua!
++		if name in self: return dict.__getitem__(self,name)
++		return i18n("Be a member of the %s group")%name
++
+ class UserEditDialog(KDialogBase):
+     def __init__(self,parent,admincontext):
+         KDialogBase.__init__(self,KJanusWidget.Tabbed,i18n("User Account"),KDialogBase.Ok|KDialogBase.Cancel,
+@@ -643,17 +669,6 @@
+         self.primarygroupedit = KComboBox(False,detailspace)
+         infogrid.addWidget(self.primarygroupedit,5,1)
+ 
+-        hbox = QHBox(detailspace)
+-        hbox.setSpacing(self.spacingHint())
+-        label = QLabel(i18n("Secondary Groups:"),detailspace)
+-        infogrid.addWidget(label,6,0)
+-        self.secondarygroupsedit = KLineEdit("",hbox)
+-        self.connect(self.secondarygroupsedit,SIGNAL("lostFocus()"),self.slotSecondaryGroupsLostFocus)
+-        self.secondarygroupsbutton = KPushButton(i18n("Select..."),hbox)
+-        hbox.setStretchFactor(self.secondarygroupsbutton,0)
+-        self.connect(self.secondarygroupsbutton,SIGNAL("clicked()"),self.slotSecondaryGroupsClicked)
+-        infogrid.addWidget(hbox,6,1)
+-
+         label = QLabel(i18n("Home Directory:"),detailspace)
+         infogrid.addWidget(label,7,0)
+ 
+@@ -675,6 +690,20 @@
+             self.shelledit.insertItem(shell)
+         infogrid.addWidget(self.shelledit,8,1)
+ 
++        # Rudd-O rules.  Not so much, but enough to rule.
++	# yeah it's not my finest hour, but it works like a charm over here.  Please feel free to clean up dead code that I commented
++	# I extend my deepest thanks to the people that have worked hard to construct this tool in the first place.  I have no idea who the authors and contributors are, but it would make sense to have all the contributors listed on top of the file.
++	# Privileges and groups tab
++        groupsvbox = self.addHBoxPage(i18n("Privileges and groups"))
++
++	# Rudd-O now here we create the widget that will hold the group listing, and fill it with the groups.
++        self.privilegeslistview = QListView(groupsvbox)
++	self.privilegeslistview.addColumn(i18n("Privilege"),-1)
++        self.groupslistview = QListView(groupsvbox)
++	self.groupslistview.addColumn(i18n("Secondary group"),-1)
++	groupsvbox.setStretchFactor(self.privilegeslistview,3)
++	groupsvbox.setStretchFactor(self.groupslistview,2)
++	
+         # Password and Security Tab.
+         passwordvbox = self.addVBoxPage(i18n("Password && Security"))
+ 
+@@ -786,6 +815,28 @@
+         self.createhomedirectorydialog = OverwriteHomeDirectoryDialog(None)
+         self.updatingGUI = False
+ 
++    def _repopulateGroupsPrivileges(self,excludegroups=None):
++	# needs listviews to be constructed.  Expects a list of PwdGroups to be excluded
++	
++	# rehash everything
++	self.privilegeslistview.clear()
++	self.groupslistview.clear()
++	self.secondarygroupcheckboxes = {}
++	pn = PrivilegeNames()
++	
++	if excludegroups: excludegroups = [ g.getGroupname() for g in excludegroups ]
++	else: excludegroups = []
++	for group in [g.getGroupname() for g in self.admincontext.getGroups()]:
++		if group in excludegroups: continue
++		 # FIXME possible bug here because name is unicode and the str()'s used below might not be able to coerce a unicode group name into what we want
++		if group in pn:
++			name = i18n(str(pn[group]))
++			wid = self.privilegeslistview
++		else:
++			name = str(group)
++			wid = self.groupslistview
++		self.secondarygroupcheckboxes[group] = QCheckListItem(wid,name,QCheckListItem.CheckBox)
++
+     ########################################################################
+     def showEditUser(self,userid):
+         self.updatingGUI = True
+@@ -795,7 +846,14 @@
+         self.passwordedit.erase()
+         self.selectedgroups = [g.getGroupname() for g in self.userobj.getGroups()
+             if g is not self.userobj.getPrimaryGroup()]
+-        self.originalgroups = self.selectedgroups[:]
++        
++	# Rudd-O: now here we tick the appropriate group listing checkbox, and hide the currently active primary group of the user.  We are repopulating because if the user to edit changes, we need to hide the user's secondary group.  FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down.
++	self._repopulateGroupsPrivileges(excludegroups=[self.userobj.getPrimaryGroup()])
++	for group,checkbox in self.secondarygroupcheckboxes.items():
++		if group in self.selectedgroups: checkbox.setState(QCheckListItem.On)
++		else: checkbox.setState(QCheckListItem.Off)
++	
++	self.originalgroups = self.selectedgroups[:]
+         self.selectedgroups.sort()
+         self.__syncGUI()
+         self.uidedit.setReadOnly(True)
+@@ -806,8 +864,11 @@
+             # Set the password.
+             if self.passwordedit.password()!="":
+                 self.userobj.setPassword(self.passwordedit.password())
+-            # Update the groups for this user object.
+-            for g in self.userobj.getGroups():
++            # Update the groups for this user object. Rudd-O here's when you go in, stud.
++	    # we collect the selected groups
++	    self.selectedgroups = [ group for group,checkbox in self.secondarygroupcheckboxes.items() if checkbox.isOn() ]
++
++            for g in self.userobj.getGroups(): # this seems wasteful to remove the user from all groups then re-add, why not a cross check?
+                 self.userobj.removeFromGroup(g)
+             for gn in self.selectedgroups:
+                 self.userobj.addToGroup(self.admincontext.lookupGroupname(gn))
+@@ -832,7 +893,14 @@
+         self.selectedgroups = [ u'dialout',u'cdrom',u'floppy',u'audio',u'video',
+                                 u'plugdev',u'lpadmin',u'scanner']
+         homedir = self.__fudgeNewHomeDirectory(self.userobj.getUsername())
+-        self.userobj.setHomeDirectory(homedir)
++        
++	# Rudd-O FIXME: now here we tick the proper groups that should be allowed.  Now it selects what userconfig selected before.  FIXME consider adding a drop down that will select the appropriate profile Limited User, Advanced User or Administrator (and see if there is a config file where these profiles can be read).    We are repopulating because if the user to edit changes, we need to hide the user's secondary group.  FIXME we should repopulate the groups privileges list when the primary group is changed in the other tab -- that is, on the change slot of the primary group drop down.
++	self._repopulateGroupsPrivileges()
++	for group,checkbox in self.secondarygroupcheckboxes.items():
++		if group in self.selectedgroups: checkbox.setState(QCheckListItem.On)
++		else: checkbox.setState(QCheckListItem.Off)
++	
++	self.userobj.setHomeDirectory(homedir)
+         self.homediredit.setText(homedir)
+ 
+         shells = self.admincontext.getUserShells()
+@@ -876,7 +944,9 @@
+                 self.admincontext.addGroup(newgroup)
+                 self.userobj.setPrimaryGroup(newgroup)
+ 
+-            # Update the groups for this user object.
++            # Update the groups for this user object. Rudd-O here's when you go in, stud.
++	    # we collect the selected groups
++	    self.selectedgroups = [ group for group,checkbox in self.secondarygroupcheckboxes.items() if checkbox.isOn() ]
+             for gn in self.selectedgroups:
+                 self.userobj.addToGroup(self.admincontext.lookupGroupname(gn))
+ 
+@@ -977,14 +1047,6 @@
+             self.primarygroupedit.insertItem(group)
+         self.primarygroupedit.setCurrentText(primarygroupname)
+ 
+-        # Secondary Groups
+-        try:
+-            self.selectedgroups.remove('new_user')
+-        except ValueError:
+-            pass
+-
+-        self.secondarygroupsedit.setText(unicode(i18n(", ")).join(self.selectedgroups))
+-
+         # If ShadowExpire is turn off then we change the radio box.
+         if self.userobj.getExpirationDate() is None:
+             self.validradiogroup.setButton(0)
+@@ -1099,28 +1161,6 @@
+     def slotEnforePasswordAgeToggled(self,on):
+         self.minimumpasswordedit.setDisabled(not on)
+ 
+-    ########################################################################
+-    def slotSecondaryGroupsLostFocus(self):
+-        text = unicode(self.secondarygroupsedit.text())
+-        parts = text.replace(" ","").split(unicode(i18n(",")))
+-        self.selectedgroups = [p for p in parts if self.admincontext.lookupGroupname(p) is not None]
+-        self.secondarygroupsedit.setText(unicode(i18n(", ")).join(self.selectedgroups))
+-
+-    ########################################################################
+-    def slotSecondaryGroupsClicked(self):
+-        # Force an update for the secondary group list from the lineedit.
+-        # If the line edit is selected and you click directly on the Select, then
+-        # this slot is called *before* the slotSecondaryGroupsLostFocus. => You get
+-        # old data for the popup.
+-        self.slotSecondaryGroupsLostFocus()
+-
+-        grouppicker = ListPickerDialog(None,i18n("Select Groups"),i18n("Available Groups"),i18n("Selected Groups"))
+-        self.selectedgroups = grouppicker.do( \
+-            [g.getGroupname() for g in self.admincontext.getGroups()], \
+-            self.selectedgroups)
+-        self.selectedgroups.sort()
+-        self.secondarygroupsedit.setText(unicode(i18n(", ")).join(self.selectedgroups))
+-
+     #######################################################################
+     def __fudgeNewGroupName(self,basename):
+         if self.admincontext.lookupGroupname(basename) is None:

Added: kde-extras/guidance/trunk/debian/patches/09_mountconfig_no_extensions.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/09_mountconfig_no_extensions.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/09_mountconfig_no_extensions.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/mountconfig/fuser.py kde-guidance-0.8.0svn20080103.new/mountconfig/fuser.py
+--- kde-guidance-0.8.0svn20080103/mountconfig/fuser.py	2008-01-03 08:57:58.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/mountconfig/fuser.py	2008-03-02 16:12:30.000000000 -0500
+@@ -24,7 +24,7 @@
+ import os
+ from qt import *
+ from kdeui import *
+-import kdedesigner
++#import kdedesigner
+ from fuser_ui import *
+ from SimpleCommandRunner import *
+ 

Added: kde-extras/guidance/trunk/debian/patches/10_displayconfig_tryagain.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/10_displayconfig_tryagain.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/10_displayconfig_tryagain.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,17 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfigwidgets.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigwidgets.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfigwidgets.py	2008-01-03 08:58:02.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigwidgets.py	2008-03-04 11:31:47.000000000 -0500
+@@ -738,7 +738,12 @@
+             self.gfxcardlabel.setText(self.gfxcard.getGfxCardModel().getName())
+ 
+             if self.gfxcard.isProprietaryDriver():
+-                self.driverlabel.setText(self.gfxcard.getGfxCardModel().getProprietaryDriver())
++                try:
++                    # Displayconfig thinks there is a proprietary driver
++                    self.driverlabel.setText(self.gfxcard.getGfxCardModel().getProprietaryDriver())
++                except TypeError, errormsg:
++                    # If there isn't it dies, so try again LP: #198269
++                    self.driverlabel.setText(self.gfxcard.getGfxCardModel().getDriver())
+             else:
+                 self.driverlabel.setText(self.gfxcard.getGfxCardModel().getDriver())
+         else:

Deleted: kde-extras/guidance/trunk/debian/patches/10_wineconfig_icon.diff

Deleted: kde-extras/guidance/trunk/debian/patches/11_no_cpu_freq.diff

Added: kde-extras/guidance/trunk/debian/patches/11_wineconfg_amd64.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/11_wineconfg_amd64.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/11_wineconfg_amd64.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,29 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/wineconfig/wineread.py kde-guidance-0.8.0svn20080103.new/wineconfig/wineread.py
+--- kde-guidance-0.8.0svn20080103/wineconfig/wineread.py	2008-01-03 08:57:59.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/wineconfig/wineread.py	2008-03-04 16:00:46.000000000 -0500
+@@ -27,7 +27,8 @@
+ 
+ # Where the dll's are
+ default_winebuildpath = "/usr/lib/wine"
+-default_winebuildpath2 = "/usr/local/lib/wine"
++default_winebuildpath2 = "/usr/lib/wine"
++default_winebuildpath3 = "/usr/local/lib/wine"
+     
+ winebuildpath = None
+ 
+@@ -40,6 +41,8 @@
+         path = default_winebuildpath
+     elif os.path.exists(default_winebuildpath2):
+         path = default_winebuildpath2
++    elif os.path.exists(default_winebuildpath3):
++        path = default_winebuildpath3
+ 
+     return path
+     
+@@ -537,4 +540,4 @@
+     return os.path.exists(path + "/dosdevices/c:/windows/profiles/" + os.environ['USER']) and \
+         os.path.exists(path + "/dosdevices/c:/windows/system32") and \
+         os.path.exists(path + "/system.reg") and os.path.exists(path + "/userdef.reg") and \
+-        os.path.exists(path + "/user.reg")
+\ No newline at end of file
++        os.path.exists(path + "/user.reg")

Deleted: kde-extras/guidance/trunk/debian/patches/12_pm_fix_indentation_actioncollection.diff

Added: kde-extras/guidance/trunk/debian/patches/12_powermanager_survive_no_brightness.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/12_powermanager_survive_no_brightness.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/12_powermanager_survive_no_brightness.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,29 @@
+diff -Nur kde-guidance-0.8.0svn20080103/powermanager/powermanage.py kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py
+--- kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-01-03 08:57:57.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py	2008-03-25 11:32:44.000000000 -0400
+@@ -265,7 +265,11 @@
+             self.brightnessObject = self.bus.get_object("org.freedesktop.Hal", brightnessDevice[0])
+             self.brightness_properties = self.brightnessObject.GetAllProperties(
+                                                 dbus_interface="org.freedesktop.Hal.Device")
+-            self.brightness_levels = self.brightness_properties[u'laptop_panel.num_levels']
++            try: 
++                self.brightness_levels = self.brightness_properties[u'laptop_panel.num_levels']
++            except KeyError,e:
++                self.hasBrightness = False
++                return 0 # Really don't know what to do here, but don't crash in any case.
+             try:
+                 self.old_b = self.brightness_levels[-1] # Setting cached brightness value to  brightest
+             except TypeError,e:
+@@ -284,7 +288,11 @@
+             # fails, in that case, we return the last value
+             # and hope that it goes well next time.
+             print "Warning: in getBrightness(): ", e
+-            return self.old_b
++            # try and return the old brightness setting, but don't die in any case:
++            try:
++                return self.old_b
++            except AttributeError, errmsg:
++                return
+         self.old_b = b
+         return b
+ 

Added: kde-extras/guidance/trunk/debian/patches/13_displayconfig_add_new_monitors.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/13_displayconfig_add_new_monitors.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/13_displayconfig_add_new_monitors.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,1270 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/MonitorsDB kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/MonitorsDB
+--- kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/MonitorsDB	2008-01-03 08:58:00.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/MonitorsDB	2008-04-05 22:03:44.000000000 -0400
+@@ -13,156 +13,214 @@
+ 
+ Aamazing; Aamazing CM-8426; cm-8426; 31.0-60.0; 40.0-80.0; 1
+ Aamazing; Aamazing MS-8431; ms-8431; 15.0-36.0; 50.0-70.0; 1
+-Acer; Acer 11D; API440B; 31.0-35.5; 50.0-90.0
+-Acer; Acer 1455; API5514; 30.0-54.0; 50.0-120.0
+-Acer; Acer 1555; API5515; 30.0-54.0; 50.0-120.0
++Acer; Acer 11D; API440B; 31.0-35.5; 50.0-90.0; 1
++Acer; Acer 1455; API5514; 30.0-54.0; 50.0-120.0; 1
++Acer; Acer 1555; API5515; 30.0-54.0; 50.0-120.0; 1
+ Acer; Acer 15P; acer_15p; 15.0-70.0; 45.0-90.0; 1
+-Acer; Acer 211c; API9708; 30.0-107.0; 50.0-160.0
++Acer; Acer 211c; API9708; 30.0-107.0; 50.0-160.0; 1
+ Acer; Acer 33; acer_33; 31.0-38.0; 50.0-90.0; 1
+-Acer; Acer 33D; API4421; 31.0-35.5; 50.0-100.0
+-Acer; Acer 33DL; API4C21; 31.0-35.5; 50.0-100.0
+-Acer; Acer 34e-2; API9709; 30.0-54.0; 50.0-110.0
+-Acer; Acer 34e; API4522; 30.0-54.0; 50.0-110.0
+-Acer; Acer 34T; API5422; 31.0-48.0; 50.0-100.0
+-Acer; Acer 34TL; API4C22; 31.0-48.0; 50.0-100.0
++Acer; Acer 33D; API4421; 31.0-35.5; 50.0-100.0; 1
++Acer; Acer 33DL; API4C21; 31.0-35.5; 50.0-100.0; 1
++Acer; Acer 34e-2; API9709; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 34e; API4522; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 34T; API5422; 31.0-48.0; 50.0-100.0; 1
++Acer; Acer 34TL; API4C22; 31.0-48.0; 50.0-100.0; 1
+ Acer; Acer 35; acer_35; 30.0-55.0; 45.0-90.0; 1
+-Acer; Acer 35c; API9703; 30.0-54.0; 50.0-110.0
+-Acer; Acer 35c; API970A; 30.0-54.0; 50.0-110.0
+-Acer; Acer 54e; API4536; 31.0-54.0; 50.0-110.0
+-Acer; Acer 54es; API9715; 31.0-54.0; 50.0-110.0
+-Acer; Acer 55; API0037; 30.0-56.9; 50.0-80.0
+-Acer; Acer 55c; API9704; 30.0-54.0; 50.0-110.0
+-Acer; Acer 55e; API9701; 30.0-54.0; 50.0-110.0
+-Acer; Acer 55L; API4C37; 30.0-56.9; 50.0-80.0
+-Acer; Acer 56c; API9705; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56e-2; API9710; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56e; API4538; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56i-2; API9712; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56i; API4938; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56is-2; API4138; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56is; API0138; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56j; API9713; 30.0-69.0; 50.0-110.0
+-Acer; Acer 56L; API4C38; 30.0-64.0; 50.0-110.0
+-Acer; Acer 57c; API971B; 30.0-70.0; 50.0-120.0
+-Acer; Acer 57e; API9809; 30.0-70.0; 50.0-110.0
+-Acer; Acer 57i; API971B; 30.0-70.0; 50.0-110.0
++Acer; Acer 35c; API9703; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 35c; API970A; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 54e; API4536; 31.0-54.0; 50.0-110.0; 1
++Acer; Acer 54es; API9715; 31.0-54.0; 50.0-110.0; 1
++Acer; Acer 55; API0037; 30.0-56.9; 50.0-80.0; 1
++Acer; Acer 55c; API9704; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 55e; API9701; 30.0-54.0; 50.0-110.0; 1
++Acer; Acer 55L; API4C37; 30.0-56.9; 50.0-80.0; 1
++Acer; Acer 56c; API9705; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56e-2; API9710; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56e; API4538; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56i-2; API9712; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56i; API4938; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56is-2; API4138; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56is; API0138; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56j; API9713; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 56L; API4C38; 30.0-64.0; 50.0-110.0; 1
++Acer; Acer 57e; API9809; 30.0-70.0; 50.0-110.0; 1
++Acer; Acer 57i; API971B; 30.0-70.0; 50.0-110.0; 1
++Acer; Acer 58c; API9901; 30.0-70.0; 50.0-110.0; 1
+ Acer; Acer 7015; acer_7015; 15.0-36.0; 45.0-90.0; 1
+-Acer; Acer 7133s; api5321; 31.0-40.0; 55.0-90.0; 1
+-Acer; Acer 7134e; api4522; 31.0-60.0; 55.0-90.0; 1
+-Acer; Acer 7134s; api5322; 31.0-60.0; 55.0-90.0; 1
+-Acer; Acer 7154e; api4536; 31.0-60.0; 55.0-90.0; 1
+-Acer; Acer 7154s; api5336; 31.0-60.0; 55.0-90.0; 1
+-Acer; Acer 7156e; api4538; 31.0-70.0; 55.0-90.0; 1
+-Acer; Acer 7156i; api4938; 31.0-70.0; 55.0-90.0; 1
+-Acer; Acer 7156s; api5338; 31.0-70.0; 55.0-90.0; 1
+-Acer; Acer 7176ie; api454c; 31.0-70.0; 55.0-90.0; 1
+-Acer; Acer 7176is; api534c; 31.0-70.0; 55.0-90.0; 1
+-Acer; Acer 7178ie; api454e; 31.0-90.0; 55.0-90.0; 1
+-Acer; Acer AL501; ABO5580; 24.0-60.0; 56.0-75.0
++Acer; Acer 76c; API9706; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer 76e; API9702; 30.0-72.0; 50.0-110.0; 1
++Acer; Acer 76i; API494C; 30.0-64.0; 50.0-110.0; 1
++Acer; Acer 76ie; API424C; 30.0-69.0; 50.0-110.0; 1
++Acer; Acer 76j; API9711; 30.0-72.0; 50.0-110.0; 1
++Acer; Acer 76N; API4E4C; 30.0-64.0; 50.0-110.0; 1
++Acer; Acer 76sl; API9717; 30.0-72.0; 50.0-110.0; 1
++Acer; Acer 77c; API9720; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer 77c-2; API980A; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer 77e; API971C; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer 77e-2; API9808; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer 78c; API9719; 30.0-86.0; 50.0-120.0; 1
++Acer; Acer 78c/G781; API9805; 31.0-86.0; 50.0-120.0; 1
++Acer; Acer 78i; API494E; 30.0-82.0; 50.0-110.0; 1
++Acer; Acer 78ie; API424E; 30.0-86.0; 50.0-120.0; 1
++Acer; Acer 78ie; API454E; 30.0-86.0; 50.0-120.0; 1
++Acer; Acer 79g; API9716; 30.0-95.0; 50.0-160.0; 1
++Acer; Acer 79g/P791; API971E; 30.0-98.0; 50.0-160.0; 1
++Acer; Acer 98e/V981; API9806; 30.0-86.0; 50.0-160.0; 1
++Acer; Acer 98i; API4962; 30.0-82.0; 50.0-120.0; 1
++Acer; Acer 99c; API9718; 30.0-95.0; 50.0-160.0; 1
++Acer; Acer 99g/P911; API9804; 30.0-107.0; 50.0-160.0; 1
++Acer; Acer 99sl; API9721; 30.0-98.0; 50.0-160.0; 1
+ Acer; Acer AC501; ABO5572; 30.0-70.0; 50.0-120.0
+-Acer; Acer AL502; ACR1602; 30.0-60.0; 55.0-75.0
+-Acer; Acer AL506; ACRAD03; 24.0-61.0; 54.0-76.0
+ Acer; Acer AC511; ACRAC02; 30.0-54.0; 50.0-120.0
+-Acer; Acer AL511; ABO5581; 24.0-60.0; 56.0-75.0
+ Acer; Acer AC701; ABO7086; 30.0-70.0; 50.0-160.0
+-Acer; Acer AL702; ACR7204; 31.5.0-81.0; 56.3.0-75.0
+-Acer; Acer AF705; ABO7084; 30.0-70.0; 50.0-120.0
+ Acer; Acer AC711; ABO7087; 30.0-70.0; 50.0-160.0
+ Acer; Acer AC713; ACRAC04; 30.0-72.0; 50.0-160.0
+-Acer; Acer AF715; ACRAC05; 30.0-98.0; 50.0-160.0
+ Acer; Acer AC901; ACR1902; 30.0-96.0; 50.0-160.0
+-Acer; Acer AL1511; ACRAD14; 30.0-63.0; 55.0-75.0
++Acer; Acer AF705; ABO7084; 30.0-70.0; 50.0-120.0
++Acer; Acer AF715; ACRAC05; 30.0-98.0; 50.0-160.0; 1
++Acer; Acer AF-706; PTS0309; 30.0-70.0; 50.0-160.0; 1
++Acer; Acer AF-707; PTS0313; 30.0-86.0; 50.0-160.0; 1
++Acer; Acer AL501; ABO5580; 24.0-60.0; 56.0-75.0
++Acer; Acer AL502; ACR1602; 30.0-60.0; 55.0-75.0
++Acer; Acer AL501-502; LTN020E; 31.0-60.0; 55.0-75.0; 1
++Acer; Acer AL506; ACRAD03; 24.0-61.0; 54.0-76.0
++Acer; Acer AL511; ABO5581; 24.0-60.0; 56.0-75.0
++Acer; Acer AL513; ACR02A6; 30.0-60.0; 50.0-75.0; 1
++Acer; Acer AL532; ACR0214; 31.0-60.0; 56.0-75.0; 1
++Acer; Acer AL702; ACR7204; 31.5.0-81.0; 56.3.0-75.0
++Acer; Acer AL702; LTN0210; 31.0-91.0; 56.0-85.0; 1
++Acer; Acer AL707; ACRA707; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL711; ABO6781; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL712; ABO7772; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL715; ABO6785; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL718; ACRAD02; 30.0-83.0; 50.0-75.0; 1
++Acer; Acer AL732; ACR02DC; 30.0-80.0; 56.0-75.0; 1
++Acer; Acer AL801; ACRAD01; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL922; ABO9990; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1511; ACRAD14; 30.0-63.0; 55.0-75.0; 1
+ Acer; Acer AL1512; AL1512; 28.0-63.0; 55.0-78.0
+-Acer; Acer AL1521; ACRAD05; 30.0-63.0; 55.0-75.0
++Acer; Acer AL1516E; ACR05EC; 31.0-61.0; 56.0-75.0; 1
++Acer; Acer AL1516V; ACRAD71; 30.0-63.0; 55.0-75.0; 1
++Acer; Acer AL1517V; ACRAD58; 30.0-63.0; 55.0-75.0; 1
++Acer; Acer AL1521; ACRAD05; 30.0-63.0; 55.0-75.0; 1
+ Acer; Acer AL1702; ACRAD31; 30.0-82.0; 56.0-76.0
+ Acer; Acer AL1703; ACRAD34; 30.0-82.0; 50.0-75.0
+-Acer; Acer AL1711; ACRAD12; 30.0-83.0; 55.0-75.0
++Acer; Acer AL1711; ACRAD12; 30.0-83.0; 55.0-75.0; 1
+ Acer; Acer AL1713; ACRAD17; 30.0-80.0; 56.0-75.0
+ Acer; Acer AL1714; ACRAD18; 30.0-82.0; 50.0-75.0
+ Acer; Acer AL1715; ACR5770; 24.0-80.0; 49.0-75.0
+-Acer; Acer AL1721; ACRAD04; 30.0-83.0; 55.0-75.0
+-Acer; Acer AL1731 (Analog); ACRAD06; 30.0-80.0; 56.0-75.0
+-Acer; Acer AL1731 (Digital); ACRAE06; 30.0-64.0; 56.0-75.0
++Acer; Acer AL1716E; ACR06AA; 30.0-81.0; 55.0-75.0; 1
++Acer; Acer AL1716V; ACRAD51; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL1716X; ACRAD46; 30.0-83.0; 56.0-75.0; 1
++Acer; Acer AL1717P; ACRAD60; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL1717T; ACR56AD; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL1717V; ACRAD72; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL1717X; ACRAD46; 30.0-83.0; 56.0-75.0; 1
++Acer; Acer AL1721; ACRAD04; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL1723E; ACR06BB; 30.0-81.0; 55.0-75.0; 1
++Acer; Acer AL1731 (Analog); ACRAD06; 30.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1731 (Digital); ACRAE06; 30.0-64.0; 56.0-75.0; 1
+ Acer; Acer AL1732; ACR06C4; 30.0-83.0; 50.0-75.0
+-Acer; Acer AL1911; ACRAD10; 24.0-80.0; 56.0-75.0
+-Acer; Acer AL1912; ACR5990; 24.0-80.0; 49.0-75.0
+-Acer; Acer AL1913; ACRAD36; 30.0-82.0; 56.0-76.0
++Acer; Acer AL1751W; ACR1751; 30.0-60.0; 56.0-75.0; 1
++Acer; Acer AL1751W DVI; ACR1752; 30.0-60.0; 56.0-75.0; 1
++Acer; Acer AL17xx; ACR02DC; 30.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1906; ACRAD50; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL1911; ACRAD10; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1912; ACR5990; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL1913; ACRAD36; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL1913W; ACRAD43; 30.0-82.0; 56.0-76.0; 1
+ Acer; Acer AL1914; ACRAD29; 30.0-83.0; 55.0-75.0
++Acer; Acer AL1916E; ACR077C; 30.0-81.0; 56.0-75.0; 1
++Acer; Acer AL1916P; ACRAD47; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL1916V; ACRAD49; 30.0-83.0; 55.0-75.0; 1
+ Acer; Acer AL1916W; ACRAD52; 30.0-82.0; 56.0-76.0; 1
+-Acer; Acer AL1931; ACRAD07; 24.0-80.0; 56.0-75.0
+-Acer; Acer AL2032W; ACR07F0; 30.0-83.0; 50.0-75.0
+-Acer; Acer 1768i; api424c; 30.0-69.0; 50.0-110.0; 1
+-Acer; Acer 76c; API9706; 30.0-72.0; 50.0-120.0
+-Acer; Acer 76e; API9702; 30.0-72.0; 50.0-110.0
+-Acer; Acer 76i; API494C; 30.0-64.0; 50.0-110.0
+-Acer; Acer 76ie; API424C; 30.0-69.0; 50.0-110.0
+-Acer; Acer 76j; API9711; 30.0-72.0; 50.0-110.0
+-Acer; Acer 76N; API4E4C; 30.0-64.0; 50.0-110.0
+-Acer; Acer 76sl; API9717; 30.0-72.0; 50.0-110.0
+-Acer; Acer 77c; API9720; 30.0-72.0; 50.0-120.0
+-Acer; Acer 77c; API980A; 30.0-72.0; 50.0-120.0
+-Acer; Acer 77e; API971C; 30.0-72.0; 50.0-120.0
+-Acer; Acer 77e; API9808; 30.0-72.0; 50.0-120.0
+-Acer; Acer 78c; API9719; 30.0-86.0; 50.0-120.0
+-Acer; Acer 78c/G781; API9805; 31.0-86.0; 50.0-120.0
+-Acer; Acer 78i; API494E; 30.0-82.0; 50.0-110.0
+-Acer; Acer 78ie; API424E; 30.0-86.0; 50.0-120.0
+-Acer; Acer 78ie; API454E; 30.0-86.0; 50.0-120.0
+-Acer; Acer 79g; API9716; 30.0-95.0; 50.0-160.0
+-Acer; Acer 79g/P791; API971E; 30.0-95.0; 50.0-160.0
+-Acer; Acer 98e/V981; API9806; 30.0-86.0; 50.0-160.0
+-Acer; Acer 98i; API4962; 30.0-82.0; 50.0-120.0
+-Acer; Acer 99c; API9718; 30.0-95.0; 50.0-160.0
+-Acer; Acer 99g/P911; API9804; 30.0-107.0; 50.0-160.0
+-Acer; Acer 99sl; API9721; 30.0-98.0; 50.0-160.0
++Acer; Acer AL1916Wc; ACRAD52; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL1916Wp; ACRAD76; 30.0-80.0; 50.0-75.0; 1
++Acer; Acer AL1916Wx; ACRAD80; 31.5-84.0; 56.0-76.0; 1
++Acer; Acer AL1923E; ACR0783; 31.0-81.0; 55.0-75.0; 1
++Acer; Acer AL1923We; ACRAD83; 31.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1931; ACRAD07; 24.0-80.0; 56.0-75.0; 1
++Acer; Acer AL1951; ACRAD41; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer AL2016Wx; ACRAD64; 31.0-84.0; 56.0-77.0; 1
++Acer; Acer AL2017; ACRAD69; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL2021m; ACR02DC; 31.0-81.0; 56.0-75.0; 1
++Acer; Acer AL2023E; ACR07E7; 30.0-83.0; 50.0-75.0; 1
++Acer; Acer AL2032W; ACR07F0; 30.0-83.0; 50.0-75.0; 1
++Acer; Acer AL2051W; ACRAD70; 31.0-94.0; 56.0-85.0; 1
++Acer; Acer AL2216Wc; ACRAD74; 30.0-82.0; 56.0-76.0; 1
++Acer; Acer AL2216Wv; ACRAD92; 47.0-84.0; 56.0-76.0; 1
++Acer; Acer AL2216Wx; ACRADA1; 31.0-84.0; 56.0-77.0; 1
++Acer; Acer AL2223We; ACRAD84; 31.0-81.0; 56.0-75.0; 1
++Acer; Acer AL2251W; ACRAD85; 47.0-84.0; 56.0-76.0; 1
++Acer; Acer AL2416W (Analog); ACR2416; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL2416W (Digital); ACR2417; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL2416Wp (Analog); ACRAD61; 24.0-80.0; 49.0-75.0; 1
++Acer; Acer AL2416Wp (Digital); ACRAD62; 15.0-80.0; 49.0-75.0; 1
++Acer; Acer AL2423We; ACR0977; 31.0-81.0; 56.0-75.0; 1
++Acer; Acer AL2616Wv; ACRAD82; 31.0-83.0; 56.0-75.0; 1
++Acer; Acer AL2623Wx; ACRAD81; 31.0-80.0; 56.0-75.0; 1
++Acer; Acer F19; ACR078C; 30.0-83.0; 50.0-75.0; 1
+ Acer; Acer F31; api1035; 31.5-60.0; 56.0-75.0; 1
+ Acer; Acer F31e; api7601; 31.5-60.0; 56.0-85.0; 1
+-Acer; Acer FP350; API7614; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP450; API761C; 31.5-60.0; 56.0-75.0
+ Acer; Acer F50p; api7604; 48.4; 60; 1
+ Acer; Acer F51; api7602; 31.5-60.0; 56.0-85.0; 1
++Acer; Acer FP350; API7614; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP450; API761C; 31.5-60.0; 56.0-75.0
+ Acer; Acer FP500; API7606; 48.4; 60
+-Acer; Acer FP501; API7616; 49; 61
++Acer; Acer FP501; API7616; 49; 61; 1
+ Acer; Acer FP502; API760D; 48.4; 60
+-Acer; Acer FP503; API7617; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP51e; API760A; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP550; API7612; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP551; API7607; 31.5-60.0; 56.0-85.0
++Acer; Acer FP503; API7617; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP51e; API760A; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP550; API7612; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP551; API7607; 31.5-60.0; 56.0-85.0; 1
+ Acer; Acer FP553; API761F; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP555; API7609; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP556; API7613; 31.5-60.0; 56.0-75.0
+-Acer; Acer FP558; API7615; 31.5-60.0; 56.0-75.0
++Acer; Acer FP555; API7609; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP556; API7613; 31.5-60.0; 56.0-75.0; 1
++Acer; Acer FP558; API7615; 31.5-60.0; 56.0-75.0; 1
+ Acer; Acer FP559; API761b; 31.5-60.0; 56.0-75.0
+ Acer; Acer FP560; API7608; 48.4; 60
+ Acer; Acer FP561; API760B; 31.5-60.0; 56.0-75.0
+ Acer; Acer FP563; API761E; 31.5-60.0; 56.0-75.0
+ Acer; Acer FP581; API7621; 31.5-60.0; 56.0-75.0
+ Acer; Acer FP730; API761A; 31.5-81.0; 56.0-75.0
+-Acer; Acer FP750; API7619; 31.5-81.0; 56.0-75.0
++Acer; Acer FP750; API7619; 31.5-81.0; 56.0-75.0; 1
+ Acer; Acer FP751; API7618; 31.5-81.0; 56.0-75.0
+-Acer; Acer FP850; API7605; 31.5-80.0; 56.0-75.0
++Acer; Acer FP850; API7605; 31.5-80.0; 56.0-75.0; 1
+ Acer; Acer FP851; API760C; 31.5-80.0; 56.0-75.0
+-Acer; Acer FP855; API7611; 31.5-80.0; 56.0-75.0
++Acer; Acer FP855; API7611; 31.5-80.0; 56.0-75.0; 1
+ Acer; Acer G571; API0004; 30.0-70.0; 50.0-120.0
+-Acer; Acer G772; API9902; 30.0-72.0; 50.0-120.0
+-Acer; Acer G991; API9903; 30.0-98.0; 50.0-160.0
++Acer; Acer G772; API9902; 30.0-72.0; 50.0-120.0; 1
++Acer; Acer G991; API9903; 30.0-98.0; 50.0-160.0; 1
+ Acer; Acer LM551; API760E; 31.5-60.0; 56.0-85.0
+ Acer; Acer LM552; API760F; 48.4; 60
+ Acer; Acer LM554; API7610; 48.4; 60
++Acer; Acer P193W; ACRADAA; 30.0-81.0; 55.0-76.0; 1
++Acer; Acer P193Wv; ACR0005; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer P203Wt; ACRADAB; 31.0-83.0; 56.0-75.0; 1
+ Acer; Acer P211; API0003; 30.0-115.0; 50.0-160.0
+-Acer; Acer V551; API0002; 30.0-54.0; 50.0-120.0
+-Acer; Acer V771; API0001; 30.0-72.0; 50.0-120.0
++Acer; Acer P221Wt; ACRADAE; 31.0-83.0; 56.0-75.0; 1
++Acer; Acer P223Wt; ACRADAD; 31.0-83.0; 56.0-75.0; 1
++Acer; Acer V551; API0002; 31.0-54.0; 50.0-110.0; 1
++Acer; Acer V771; API0001; 30.0-72.0; 50.0-120.0; 1
+ Acer; Acer V772; API0102; 30.0-72.0; 50.0-120.0
+ Acer; Acer V991; API0105; 30.0-98.0; 50.0-160.0
+-Acer; Aspire 33s; API5321; 31.0-35.5; 50.0-100.0
+-Acer; Aspire 34Ts; API5322; 31.0-48.0; 50.0-100.0
+-Acer; Aspire 54s; API5336; 30.0-54.0; 50.0-110.0
+-Acer; Aspire 55s; API9802; 30.0-54.0; 50.0-120.0
+-Acer; Aspire 56s; API5338; 30.0-66.0; 50.0-110.0
+-Acer; Aspire 76is; API414C; 30.0-69.0; 50.0-110.0
+-Acer; Aspire 76is; API534C; 30.0-69.0; 50.0-110.0
+-Acer; Aspire 77is; API9707; 30.0-69.0; 50.0-110.0
+-Acer; Aspire 77s; API9803; 30.0-72.0; 50.0-120.0
++Acer; Acer X173V; ACR0003; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer X173Wv; ACR0004; 30.0-83.0; 55.0-75.0; 1
++Acer; Acer X192W; ACRAD95; 31.0-80.0; 56.0-75.0; 1
++Acer; Acer X193W; ACRADA9; 30.0-81.0; 55.0-76.0; 1
++Acer; Acer X202W; ACRAD97; 30.0-81.0; 55.0-75.0; 1
++Acer; Acer X203Wt; ACRADAC; 31.0-83.0; 56.0-75.0; 1
++Acer; Acer X222W; ACRAD98; 31.0-81.0; 56.0-75.0; 1
++Acer; Acer X243Wt; ACR0000; 30.0-82.0; 56.0-76.0; 1
++Acer; Aspire 33s; API5321; 31.0-35.5; 50.0-100.0; 1
++Acer; Aspire 34Ts; API5322; 31.0-48.0; 50.0-100.0; 1
++Acer; Aspire 54s; API5336; 30.0-54.0; 50.0-110.0; 1
++Acer; Aspire 55s; API9802; 30.0-54.0; 50.0-120.0; 1
++Acer; Aspire 56s; API5338; 30.0-66.0; 50.0-110.0; 1
++Acer; Aspire 76is; API414C; 30.0-69.0; 50.0-110.0; 1
++Acer; Aspire 76is; API534C; 30.0-69.0; 50.0-110.0; 1
++Acer; Aspire 77is; API9707; 30.0-69.0; 50.0-110.0; 1
++Acer; Aspire 77s; API9803; 30.0-72.0; 50.0-120.0; 1
+ Action Systems, Inc.; Action Monitor CA-1454; ACI0608; 30.0-54.0; 50.0-100.0; 1
+ Action Systems, Inc.; Action Monitor CA-1570; ACI0622; 30.0-70.0; 50.0-120.0; 1
+ Action Systems, Inc.; Action Monitor CH-1999; ACI1999; 30.0-99.0; 50.0-160.0; 1
+@@ -1185,9 +1243,11 @@
+ Dell; Dell 1907FP (Analog); DEL4014; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1907FP (Digital); DEL4015; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1907FPV(Analog); DEL4019; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1907FPV(Digital); DEL4020; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1908FP(Analog); DEL4025; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell 1908FP(Digital); DEL4026; 30.0-81.0; 56.0-76.0; 1
+-Dell; Dell 1907FPV(Digital); DEL4020; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 1908WFP(Analog); DELF007; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell 1908WFP(Digital); DELF008; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell 2000FP (Analog); DELA002; 31.5-80.0; 56.0-76.0; 1
+ Dell; Dell 2000FP (Digital); DELA003; 31.5-80.0; 56.0-76.0; 1
+ Dell; Dell 2001FP (Analog); DELA007; 31.0-80.0; 56.0-76.0; 1
+@@ -1198,6 +1258,10 @@
+ Dell; Dell 2007FP (Digital); DELA021; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell 2007WFP (Analog); DELA018; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell 2007WFP (Digital); DELA019; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2009W(Digital); DEL4042; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell 2009W(Analog); DEL4041; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell 2208WFP(Analog); DEL403B; 31.0-83.0; 56.0-75.0; 1
++Dell; Dell 2208WFP(Digital); DEL403C; 31.0-83.0; 56.0-75.0; 1
+ Dell; Dell 2405FPW (Analog); DELA00F; 30.0-83.0; 56.0-76.0
+ Dell; Dell 2405FPW (Analog); DELA00F; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell 2405FPW (Digital); DELA010; 30.0-83.0; 56.0-76.0
+@@ -1205,9 +1269,18 @@
+ Dell; Dell 2407WFP (Analog); DELA016; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell 2407WFP (Digital); DELA017; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell 2707WFP; DELD013; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell 2407WFP-HC (Analog); DELA025; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2407WFP-HC (Digital); DELA026; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell 2408WFP(Analog); DELA029; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell 2408WFP(Digital); DELA02A; 31.0-83.0; 56.0-76.0; 1
+ Dell; Dell 3007WFP; DEL4016; 30.0-100.0; 56.0-76.0; 1
++Dell; Dell 3008WFP(Analog); DEL4034; 29.0-94.0; 49.0-86.0; 1
++Dell; Dell 3008WFP(Digital); DEL4035; 29.0-113.0; 49.0-86.0; 1
++Dell; Dell 3008WFP(DP); DEL4036; 29.0-113.0; 49.0-86.0; 1
++Dell; Dell 3008WFP(HDMI); DEL4037; 29.0-94.0; 49.0-86.0; 1
+ Dell; Dell 800M; del5697; 30.0-70.0; 50.0-130.0; 1
+ Dell; Dell 828FI; del3319; 30.0-70.0; 50.0-120.0; 1
++Dell; Dell C22W(HDMI); DEL4040; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell D1025HE; del6124; 31.5-92.0; 50.0-150.0; 1
+ Dell; Dell D1025HTX; del5062; 31.0-70.0; 50.0-120.0; 1
+ Dell; Dell D1025TM; del5155; 31.0-85.0; 50.0-160.0; 1
+@@ -1228,6 +1301,7 @@
+ Dell; Dell E153FP; DELA00C; 30.0-63.0; 56.0-76.0; 1
+ Dell; Dell E156FP; DELA013; 30.0-63.0; 56.0-76.0; 1
+ Dell; Dell E157FP; DELA022; 30.0-63.0; 56.0-76.0; 1
++Dell; Dell E157FPT; DEL7400; 30.0-63.0; 56.0-76.0; 1
+ Dell; Dell E171FP; DEL300F; 30.0-80.0; 56.0-76.0; 1
+ Dell; Dell E171FPb; DELA006; 31.0-80.0; 56.0-76.0
+ Dell; Dell E172FP; DELA00A; 31.0-80.0; 56.0-76.0; 1
+@@ -1235,13 +1309,18 @@
+ Dell; Dell E176FP; DELA014; 31.0-80.0; 56.0-75.0; 1
+ Dell; Dell E177FP; DELA023; 31.0-80.0; 56.0-75.0; 1
+ Dell; Dell E178FP; DELA027; 31.0-80.0; 56.0-75.0; 1
++Dell; Dell E178WFP; DELD016; 30.0-83.0; 50.0-77.0; 1
+ Dell; Dell E193FP; DEL700E; 31.0-83.0; 56.0-76.0; 1
+ Dell; Dell E196FP; DELA015; 31.0-83.0; 56.0-76.0; 1
+ Dell; Dell E197FP; DELA024; 31.0-83.0; 56.0-76.0; 1
+ Dell; Dell E198FP; DELA028; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell E198WFP(Analog); DELF005; 24.0-83.0; 50.0-76.0; 1
++Dell; Dell E198WFP(Digital); DELF006; 24.0-83.0; 50.0-76.0; 1
+ Dell; DELL E207WFP; DELD010; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell E207WFP; DELD011; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell E228WFP; DELD015; 30.0-83.0; 56.0-75.0; 1
++Dell; Dell E248WFP(Analog); DELA02D; 31.0-83.0; 56.0-76.0; 1
++Dell; Dell E248WFP(Digital); DELA02E; 31.0-83.0; 56.0-76.0; 1
+ Dell; Dell E550; dela2f1; 30.0-54.0; 50.0-120.0; 1
+ Dell; Dell E550mm; dela355; 30.0-54.0; 50.0-120.0; 1
+ Dell; Dell E551a; dela000; 30.0-54.0; 50.0-120.0; 1
+@@ -1291,10 +1370,19 @@
+ Dell; Dell P990; del50dd; 30.0-96.0; 48.0-120.0; 1
+ Dell; Dell P991; del5178; 30.0-107.0; 48.0-120.0; 1
+ Dell; Dell P992; DEL5002; 30.0-107.0; 48.0-170.0; 1
++Dell; Dell S199WFP(Analog); DELF009; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell S199WFP(Digital); DELF00A; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell SE177FP; DELF001; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SE178WFP; DELD017; 30.0-83.0; 50.0-77.0; 1
+ Dell; Dell SE197FP; DELF002; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SE198WFP; DELF003; 30.0-83.0; 56.0-75.0; 1
+ Dell; Dell SP1908FP; DEL4030; 30.0-81.0; 56.0-76.0; 1
+ Dell; Dell SP1908FP (DVI); DEL4031; 30.0-81.0; 56.0-76.0; 1
++Dell; Dell SP2008WFP(Analog); DEL4032; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell SP2008WFP(Digital); DEL4033; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell SP2208WFP(Analog); DEL4038; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell SP2208WFP(Digital); DEL4039; 30.0-83.0; 56.0-76.0; 1
++Dell; Dell SP2208WFP(HDMI); DEL403A; 30.0-83.0; 56.0-76.0; 1
+ Dell; Dell Super VGA; 0; 30.0-38.5; 50.0-90.0; 1
+ Dell; Dell Super VGA Colour; 0; 29.0-38.0; 47.0-100.0; 1
+ Dell; Dell Super VGA DL 1428 I/L; 0; 35.5; 87.0; 1
+@@ -1442,7 +1530,7 @@
+ Eizo; Eizo FX-D7; eiz1413; 30.0-96.0; 50.0-160.0; 1
+ Eizo; Eizo FX-E7; eiz1406; 30.0-95.0; 50.0-160.0; 1
+ Eizo; Eizo FX-E8; eiz1407; 31.5-110.0; 50.0-160.0; 1
+-Eizo; Eizo Nanao FlexScan FX-C7; eiz1420; 30.0-96.0; 50.0-160.0; 1
++Eizo; Eizo NANAO FlexScan FX-C7; eiz1420; 30.0-96.0; 50.0-160.0; 1
+ Eizo; Eizo Nanao FlexScan FX-E7S; eiz1418; 30.0-110.0; 50.0-160.0; 1
+ Eizo; Eizo T57; eiz1005; 27.0-92.0; 50.0-160.0; 1
+ Eizo; Eizo T57S; eiz1001; 30.0-92.0; 50.0-160.0; 1
+@@ -1463,8 +1551,8 @@
+ Eizo Nanao; Eizo L351; enc1616; 30.0-50.0; 59.0-61.0; 1
+ Eizo Nanao; Eizo L371D; enc1617; 27.0-65.0; 59.0-61.0; 1
+ Eizo Nanao; Eizo L371; enc1618; 27.0-61.0; 50.0-75.0; 1
+-EIZO Nanao; Eizo L568D; enc1733; 31.0-64.0; 59.0-61.0; 1
+-EIZO Nanao; Eizo L568; enc1734; 24.0-80.0; 50.0-75.0; 1
++Eizo Nanao; Eizo L568; enc1733; 31.0-64.0; 59.0-61.0; 1
++Eizo Nanao; Eizo L568; enc1734; 24.0-80.0; 50.0-75.0; 1
+ Eizo Nanao; Eizo L771; enc1622; 27.0-81.0; 50.0-75.0; 1
+ Eizo Nanao; Eizo T550; enc1600; 30.0-82.0; 50.0-160.0; 1
+ Eizo Nanao; Eizo T561; enc1615; 30.0-96.0; 50.0-160.0; 1
+@@ -1926,7 +2014,9 @@
+ Hewlett-Packard;HP LP2065 Flat Panel Monitor;hwp0a72;30.0-92.0;48.0-85.0;1
+ Hewlett-Packard;HP L2335 LCD Flat Panel Monitor;hwp2615;30.0-92.0;48.0-85.0;1
+ Hewlett-Packard;HP LP2465 Flat Panel Monitor;hwp2676;30.0-92.0;48.0-85.0;1
+-Hewlett-Packard; HP TFT5600 RKM; 0; 29.2-48.4; 60; 1
++Hewlett-Packard;HP W2207 Wide LCD Monitor; HWP26A8; 24.0-83.0; 50.0-76.0; 1
++Hewlett-Packard;HP W2207 Wide LCD Monitor; HWP26A9; 24.0-83.0; 50.0-76.0; 1
++Hewlett-Packard;HP TFT5600 RKM; 0; 29.2-48.4; 40.0-70.0; 1
+ Highscreen; Highscreen LE 1024; 45; 31.4-31.6,35.1-35.2,35.5-35.6; 50-87
+ Hitachi, Ltd.; Hitachi 20-AP; 20-ap; 30.0-65.0; 55.0-80.0; 1
+ Hitachi, Ltd.; Hitachi 20-APF; 20-apf; 30.0-65.0; 55.0-80.0; 1
+@@ -2380,7 +2470,7 @@
+ LG Electronics Inc.; LG 1461D; 1461d; 37.9; 72.8; 1
+ LG Electronics Inc.; LG 1462DM; 1462dm; 37.9; 72.8; 1
+ LG Electronics Inc.; LG 1465DL; 1465dl; 48.4; 60.0; 1
+-LG Electronics Inc.; LG 1465DLS; 1465dls; 48.4; 60.0; 1
++LG Electronics Inc.; LG 1465DLS/1468; GSM36BA; 30.0-54.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG 1466; 1466; 48.4; 60.0; 1
+ LG Electronics Inc.; LG 1466DM; 1466dm; 48.4; 60.0; 1
+ LG Electronics Inc.; LG 1466LR; 1466lr; 48.4; 60.0; 1
+@@ -2389,38 +2479,679 @@
+ LG Electronics Inc.; LG 1468; 1468; 48.4; 60.0; 1
+ LG Electronics Inc.; LG 1485; 1485; 48.4; 60.0; 1
+ LG Electronics Inc.; LG 1505; 1505; 37.5; 75.0; 1
+-LG Electronics Inc.; LG 1505S; gsm3aa0; 48.4; 60.0; 1
++LG Electronics Inc.; LG 1505S; GSM3AA0; 30.0-54.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG 1515; 1515; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1520; 1520; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1520DM; 1520dm; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1527; 1527; 30.0-57.0; 50.0-110.0; 1
+ LG Electronics Inc.; LG 1527; gsm3a9a; 30.0-57.0; 50.0-110.0; 1
+-LG Electronics Inc.; LG L1710B(Digital); GSM4358; 30.0-71.0; 56.0-70.0
+-LG Electronics Inc.; LG L1710B(Analog); GSM4356; 30.0-83.0; 56.0-70.0
+ LG Electronics Inc.; LG 1725; 1725; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1725DM; 1725dm; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1725s; gsm42cf; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1727; 1727; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG 1730DM; 1730dm; 30.0-82.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG L1730P(Digital); GSM439E; 30.0-71.0; 56.0-75.0
+-LG Electronics Inc.; LG L1730P(Analog); GSM439D; 30.0-83.0; 56.0-75.0
+-LG Electronics Inc.; LG L1740B; 1740b; 30-83; 56-75; 1
++LG Electronics Inc.; LG 1771; GSM42F8; 30.0-70.0; 50.0-160.0; 1
+ LG Electronics Inc.; LG 2010; 2010; 30.0-85.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 285LT; GSM55F1; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 291U; GSM5215; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 295LM; GSM55F2; 30.0-94.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 500E; GSM3B65; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 500G; GSM3B66; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 500M; GSM3B38; 30.0-61.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 500N; GSM3B67; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 501E; GSM3B51; 30.0-61.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 501S; GSM3B50; 30.0-61.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 505E; GSM3B83; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 505G; GSM3B91; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 55W; GSM3AD0; 30.0-54.0; 50.0-90.0; 1
++LG Electronics Inc.; LG 563A / 563N; GSM3B1B; 30.0-63.0; 50.0-120.0; 1
++LG Electronics Inc.; LG 563LE; GSM3B2F; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 563LS; GSM3B25; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 564LE; GSM3B4B; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 566LE; GSM3B60; 30.0-63.0; 50.0-75.0; 1
++LG Electronics Inc.; LG 566LM; GSM3B5D; 30.0-63.0; 50.0-75.0; 1
++LG Electronics Inc.; LG 568LM; GSM3B43; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 568LT; GSM3B5F; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 575E; GSM3B10; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 575LB / 575LE / 575MS; GSM3B34; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 575LC; GSM3B44; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 575LE; GSM3B02; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 575LM-2; GSM3B35; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 575LM; GSM3B03; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 575LS; GSM3B32; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 575MM; GSM3B07; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 575MS; GSM3B06; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 576LU; GSM3B08; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 577LH-2; GSM3B3D; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 577LH; GSM3B09; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 577LM-2; GSM3B3E; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 577LM; GSM3B0A; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 585E; GSM3B23; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 680LE; GSM3E81; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 700B; GSM430C; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 700E; GSM4317; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 700ME; GSM4335; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 700M; GSM4336; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 700P; GSM43B9; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 700S; GSM430B; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 701B; GSM432C; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 701S; GSM432B; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 702BE; GSM4398; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 702B; GSM434F; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 702S; GSM4350; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 710E; GSM437C; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 710S; GSM4378; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 771EF; GSM4305; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 772EF; GSM431F; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 772EF PLUS; GSM4345; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 772E; GSM4311; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 772EH PLUS; GSM4355; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 772G; GSM4316; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 773E; GSM42EF; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 773N; GSM42ED; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 774FT; GSM42DB; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 774FT PLUS; GSM437D; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 775E; GSM42E7; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 775FC; GSM42F5; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 775FT; GSM42D1; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 775FT PLUS; GSM4349; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 775N; GSM42B9; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 776FM; GSM42F1; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 777FN; GSM42F7; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 77E; GSM42E5; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 77G; GSM42E4; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 77SFN / 77SFT; GSM431A; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 781C; GSM4312; 30.0-86.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 782LE; GSM4327; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 782LM; GSM4341; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 782LS; GSM4351; 30.0-80.0; 56.0-75.0; 1
++LG Electronics Inc.; LG 786LS; GSM4353; 30.0-83.0; 55.0-75.0; 1
++LG Electronics Inc.; LG 787LE; GSM437E; 30.0-83.0; 50.0-75.0; 1
++LG Electronics Inc.; LG 78FT; GSM4298; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 793FT; GSM42EA; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 793FT PLUS; GSM42EB; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 795FT; GSM42DC; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 795FT PLUS/795FT SUPER; GSM42DD; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 870LE; GSM4657; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 882LE; GSM4656; 31.0-80.0; 58.0-120.0; 1
++LG Electronics Inc.; LG 882SL; GSM4654; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 885LE-2; GSM4655; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG 885LE; GSM4653; 31.0-80.0; 56.0-120.0; 1
++LG Electronics Inc.; LG 900B; GSM4A5B; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 900B Plus; GSM4A5C; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 901B; GSM4A68; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 910B; GSM4A7D; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 910E; GSM4A7E; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 910S; GSM4A7A; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 915FT PLUS; GSM4A4D; 30.0-107.0; 50.0-200.0; 1
++LG Electronics Inc.; LG 915FT SUPER (Analog); GSM4A63; 30.0-110.0; 50.0-200.0; 1
++LG Electronics Inc.; LG 915FT SUPER (Digital); GSM4A65; 30.0-92.0; 50.0-87.0; 1
++LG Electronics Inc.; LG 995FT PLUS; GSM4A5D; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 995SU; GSM4A55; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG 99G; GSM4A54; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CB910C; GSM4A40; 30.0-100.0; 50.0-200.0; 1
++LG Electronics Inc.; LG CF786C; GSM429F; 30.0-85.0; 50.0-120.0; 1
++LG Electronics Inc.; LG CS778DC; GSM42CA; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CS788C; GSM42A9; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CS788T; GSM4293; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CS911; GSM4A4E; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CS990DC; GSM4A50; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG CS990DE; GSM4A53; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E700B; GSM4313; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E700BH; GSM4352; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E700BH/SH; GSM4389; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E700S; GSM430D; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E701S; GSM4340; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E900B; GSM4A5E; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG E900P; GSM4A62; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG EB771D; GSM4323; 31.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T707B; GSM43F1; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T707S; GSM43F2; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710BH; GSM4366; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710MH; GSM43AD; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710P; GSM4368; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710PH; GSM4367; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710PU; GSM437A; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710S; GSM436C; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T710SH; GSM436B; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T711S; GSM4397; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730B; GSM43BF; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730BH; GSM43C2; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730BH plus; GSM43C1; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730PH; GSM43E2; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730PU plus; GSM43CA; 30.0-85.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730S; GSM43F8; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T730SH; GSM43CB; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T910B; GSM4A6D; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T910BH; GSM4A6E; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG ez T910BU; GSM4A6C; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F700B; GSM4344; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F700PD (Analog); GSM435A; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F700PD (Digital); GSM4359; 30.0-90.0; 50.0-87.0; 1
++LG Electronics Inc.; LG F700P; GSM434C; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F700PH; GSM435C; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F702B/710B; GSM437B; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F702P; GSM4379; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F702PU; GSM4387; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F710B; GSM436E; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F720B; GSM4396; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F720PD (Analog); GSM4394; 30.0-96.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F720PD (Digital); GSM4393; 30.0-92.0; 50.0-87.0; 1
++LG Electronics Inc.; LG F720P; GSM4395; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F730B; GSM43C3; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F730BY; GSM43D7; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F730P; GSM43C4; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F900B; GSM4A66; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F900BL; GSM4A6A; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F900P; GSM4A67; 30.0-111.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F900PL; GSM4A6B; 30.0-111.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F920B; GSM4A95; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG F920P; GSM4A88; 30.0-111.0; 50.0-160.0; 1
++LG Electronics Inc.; LG L1510A; GSM3B69; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510BF; GSM3B7E; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510B; GSM3B5C; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510H; GSM3B70; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510M; GSM3B61; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510P (Analog); GSM3B62; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510P (Digital); GSM3B76; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510P Plus (Analog); GSM3B77; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510P Plus (Digital); GSM3B78; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510SF; GSM3B73; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510SG; GSM3B8D; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510S; GSM3B55; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1510T; GSM3B6A; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1511S; GSM3B59; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1511SK; GSM3B68; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1512S; GSM3B64; 30.0-63.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1515S; GSM3B7C; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1515SR; GSM3B94; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1516S; GSM3B85; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1520B; GSM3B80; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1520P (Analog); GSM3B8E; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1520P (Digital); GSM3B90; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1521B; GSM3BA6; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530B (Analog); GSM3B96; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530B (Digital); GSM3B97; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530P (Analog); GSM3B98; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530P (Digital); GSM3B99; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530S; GSM3B95; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530TM (Analog); GSM3B92; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1530TM (Digital); GSM3B93; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1550G; GSM3BAE; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1550S; GSM3BA7; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710B (Analog); GSM4356; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710B (Digital); GSM4358; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710M; GSM4370; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710P (Analog); GSM4384; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710P (Digital); GSM4388; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1710S; GSM4357; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1711S; GSM4371; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1712T (Analog); GSM4443; 30.0-83.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1712T (Digital); GSM4444; 30.0-71.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1713P (Analog); GSM43AB; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1713P (Digital); GSM43AC; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1714SQ; GSM4400; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1715S; GSM436F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1715SR; GSM438B; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1716S; GSM4373; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1717S; GSM4404; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1718S; GSM443C; 30.0-83.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1719S; GSM4441; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1719SP; GSM444C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L171WT; GSM43A6; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1720B; GSM4372; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720B Plus; GSM43BC; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720BQ; GSM4418; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720BU; GSM442E; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720P (Analog); GSM437F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720P (Digital); GSM4383; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720P Plus (Analog); GSM43BD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720P Plus (Digital); GSM43BE; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720PQ (Analog); GSM4419; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1720PQ (Digital); GSM441A; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1721B; GSM43DF; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1722P (Analog); GSM43FD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1722P (Digital); GSM43FE; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L172WA; GSM4390; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L172WT; GSM4385; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1730B (Analog); GSM438E; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730B (Digital); GSM438F; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730P (Analog); GSM439D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730P (Digital); GSM439E; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730SF; GSM43D5; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730S; GSM438D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1730SY; GSM43D8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732P (Analog); GSM441D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732P (Digital); GSM441E; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732P Plus (Analog); GSM4459; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732P Plus (Digital); GSM445A; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732S; GSM4413; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732S PLUS; GSM444F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732TQ (Analog); GSM43E9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732TQ (Digital); GSM43F9; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732TX (Analog); GSM4401; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1732TX (Digital); GSM440A; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173SA (Analog); GSM43A9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173SA (Digital); GSM43AA; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173ST (Analog); GSM43B0; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173ST (Digital); GSM43B1; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173WT (Analog); GSM43EC; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L173WT (Digital); GSM43ED; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740B; GSM43D4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740B PLUS; GSM4450; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740BQ; GSM43E5; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740BU; GSM442F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740P (Analog); GSM43CF; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740P (Digital); GSM43D0; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740P Plus (Analog); GSM4451; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740P Plus (Digital); GSM4452; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740PQ (Analog); GSM43E6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1740PQ (Digital); GSM43E7; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750B (Analog); GSM4406; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750B (Digital); GSM4407; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750E; GSM4405; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750G; GSM43FF; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750H (Analog); GSM43CD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750H (Digital); GSM43CE; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750HQ (Analog); GSM43EA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750HQ (Digital); GSM43EB; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750S; GSM43CC; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750SQ; GSM43E8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750T (Analog); GSM4420; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1750T (Digital); GSM4421; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1751H (Analog); GSM43DA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1751H (Digital); GSM43DB; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1751S; GSM43D9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1751SQ; GSM43F3; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752H (Analog); GSM443D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752H (Digital); GSM443E; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752HM (Analog); GSM443F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752HM (Digital); GSM4440; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752HQ (Analog); GSM4457; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752HQ (Digital); GSM4458; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752S; GSM4432; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752T (Analog); GSM4433; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752T (Digital); GSM4434; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752TQ (Analog); GSM4453; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752TQ (Digital); GSM4454; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752TX (Analog); GSM4435; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1752TX (Digital); GSM4436; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760SR; GSM445C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TG (Analog); GSM4455; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TG (Digital); GSM4456; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TQ (Analog); GSM4446; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TQ (Digital); GSM4447; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TR (Analog); GSM445D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1760TR (Digital); GSM445E; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1770H (Analog); GSM4425; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1770H (Digital); GSM4426; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1770HQ (Analog); GSM4408; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1770HQ (Digital); GSM4409; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780Q (Analog); GSM43E0; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780Q (Digital); GSM43E1; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780Q Plus (Analog); GSM441B; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780Q Plus (Digital); GSM441C; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780U (Analog); GSM43BA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1780U (Digital); GSM43BB; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1781Q/U (Analog); GSM43DC; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1781Q/U (Digital); GSM43DD; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800P (Analog); GSM4659; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800P (Digital); GSM466C; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800PK (Analog); GSM465E; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800PK (Digital); GSM466E; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800PM (Analog); GSM465C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800PM (Digital); GSM466D; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1800P Plus (Analog); GSM466A; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1800P Plus (Digital); GSM466B; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810A (Analog); GSM4661; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810A (Digital); GSM4664; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810B (Analog); GSM465D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1810B (Digital); GSM4668; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1810M (Analog); GSM4660; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1810M (Digital); GSM4663; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1810S; GSM465B; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810T (Analog); GSM4666; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810T (Digital); GSM4667; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810TS (Analog); GSM466F; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1810TS (Digital); GSM4670; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L1811B (Analog); GSM465F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1811B (Digital); GSM4669; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1811S (Analog); GSM4662; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1811S (Digital); GSM4665; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900E (Analog); GSM4AFF; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900E (Digital); GSM4B00; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900J (Analog); GSM4B01; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900J (Digital); GSM4B02; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900R (Analog); GSM4AFD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1900R (Digital); GSM4AFE; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BA (Analog); GSM4A9E; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BA (Digital); GSM4A9F; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910B (Analog); GSM4A70; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910B (Digital); GSM4A71; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BG (Analog); GSM4A7F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BG (Digital); GSM4A80; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BM (Analog); GSM4A74; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910BM (Digital); GSM4A75; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910P (Analog); GSM4A72; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910P (Digital); GSM4A73; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910PM (Analog); GSM4A76; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910PM (Digital); GSM4A77; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910SA; GSM4A9D; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910S; GSM4A78; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1910SM; GSM4A8A; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1912T (Analog); GSM4AF4; 30.0-83.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1912T (Digital); GSM4AF5; 30.0-71.0; 50.0-75.0; 1
++LG Electronics Inc.; LG L1913P (Analog); GSM4A8E; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1913P (Digital); GSM4A8F; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1915S; GSM4A90; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1915SV; GSM4A9B; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1917S; GSM4AC6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1919S; GSM4AF2; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1919SP; GSM4B07; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1920B; GSM4A84; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1920P (Analog); GSM4A7B; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1920P (Digital); GSM4A7C; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1920P Plus (Analog); GSM4A99; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1920P Plus (Digital); GSM4A9A; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1921B; GSM4AAD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1922P (Analog); GSM4AC4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1922P (Digital); GSM4AC5; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930B (Analog); GSM4A85; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930B (Digital); GSM4A86; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930BQ (Analog); GSM4A94; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930BQ (Digital); GSM4A96; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930P (Analog); GSM4A82; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930P (Digital); GSM4A83; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930PE (Analog); GSM4AA8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930PE (Digital); GSM4AA9; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930S; GSM4A87; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1930SQ; GSM4A93; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932P (Analog); GSM4AD4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932P (Digital); GSM4AD5; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932P Plus (Analog); GSM4B1C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932P Plus (Digital); GSM4B1D; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932S; GSM4ACD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932S PLUS; GSM4B12; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932TQ (Analog); GSM4AB6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932TQ (Digital); GSM4AB7; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932TX (Analog); GSM4AE3; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1932TX (Digital); GSM4AE4; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L193SA (Analog); GSM4A8C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L193SA (Digital); GSM4A8D; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L193ST (Analog); GSM4A91; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L193ST (Digital); GSM4A92; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940B; GSM4AA6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940B PLUS; GSM4B13; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940BQ; GSM4AD2; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940P (Analog); GSM4AA4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940P (Digital); GSM4AA5; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940P Plus (Analog); GSM4B14; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940P Plus (Digital); GSM4B15; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940PQ (Analog); GSM4AD0; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1940PQ (Digital); GSM4AD1; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WT (Analog); GSM4B05; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WT (Digital); GSM4B06; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WTM (Analog); GSM4B0C; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WTM (Digital), GSM4B0D; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WTQ (Analog); GSM4B0E; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L194WTQ (Digital); GSM4B0F; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950B (Analog); GSM4AC8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950B (Digital); GSM4AC9; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950E; GSM4AC7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950G; GSM4ABE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950H (Analog); GSM4AA2; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950H (Digital); GSM4AA3; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950S; GSM4AA1; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950SQ; GSM4AD3; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950T (Analog); GSM4ACA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1950T (Digital); GSM4ACB; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1951H (Analog); GSM4AAB; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1951H (Digital); GSM4AAC; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1951S; GSM4AAA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1951SQ; GSM4AD6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952H (Analog); GSM4AEC; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952H (Digital); GSM4AED; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952HM (Analog); GSM4AEE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952HM (Digital); GSM4AEF; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952HQ (Analog); GSM4B08; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952HQ (Digital); GSM4B09; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952S; GSM4AE0; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952T (Analog); GSM4AE1; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952T (Digital); GSM4AE2; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952TQ (Analog); GSM4B16; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952TQ (Digital); GSM4B17; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952TX (Analog); GSM4AE6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1952TX (Digital); GSM4AE7; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TG (Analog); GSM4B18; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TG (Digital); GSM4B19; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TQ (Analog); GSM4AF9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TQ (Digital); GSM4AFA; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TR (Analog); GSM4B20; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1960TR (Digital); GSM4B21; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970H (Analog); GSM4ADB; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970H (Digital); GSM4ADC; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970HQ (Analog); GSM4AD7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970HQ (Digital); GSM4AD8; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970HR (Analog); GSM4AE8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1970HR (Digital); GSM4AE9; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980Q (Analog); GSM4AB2; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980Q (Digital); GSM4AB3; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980Q Plus (Analog); GSM4ACE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980Q Plus (Digital); GSM4ACF; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980U (Analog); GSM4A97; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1980U (Digital); GSM4A98; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1981Q/U (Analog); GSM4AAE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1981Q/U (Digital); GSM4AAF; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1982U (Analog); GSM4B0A; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L1982U (Digital); GSM4B0B; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000C (Analog); GSM4E39; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000C (Digital); GSM4E3A; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CE (Analog); GSM4E41; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CE (Digital); GSM4E42; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CEM (Analog); GSM4E43; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CEM (Digital); GSM4E44; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CM (Analog); GSM4E45; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CM (Digital); GSM4E46; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CN (Analog); GSM4E52; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2000CN (Digital); GSM4E53; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2010B (Analog) GSM4E2A; 28.0-92.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2010B (Digital); GSM4E2B; 28.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2010P (Analog); GSM4E27; 30.0-96.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2010P (Digital); GSM4E28; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2010T (Analog); GSM4E35; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2010T (Digital); GSM4E36; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2012P (Analog); GSM4E37; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2012P (Digital); GSM4E38; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2013P (Analog); GSM4E2E; 28.0-92.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2013P (Digital); GSM4E2F; 28.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L203WT (Analog); GSM4E3D; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L203WT (Digital); GSM4E3E; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L203WTX (Analog); GSM4E3F; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L203WTX (Digital); GSM4E40; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2040P (Analog); GSM4E30; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2040P (Digital); GSM4E31; 28.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L204WT (Analog); GSM4E47; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L204WT (Digital); GSM4E48; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L204WTM (Analog); GSM4E49; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L204WTM (Digital); GSM4E4A; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L204WTQ (Analog); GSM4E4B; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L204WTQ (Digital); GSM4E4C; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L222W (Analog); GSM5664; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L222W (Digital); GSM5665; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2300B (Analog); GSM5611; 30.0-92.0; 57.0-85.0; 1
++LG Electronics Inc.; LG L2300B (Digital); GSM5612; 30.0-75.0; 57.0-63.0; 1
++LG Electronics Inc.; LG L2300C (Analog); GSM5613; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2300C (Digital); GSM5614; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320A (ANALOG); GSM55F5; 30.0-96.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320A (DVI-D); GSM55F7; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320A (DVI-I); GSM55F6; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320T (ANALOG); GSM55F8; 30.0-96.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320T (DVI-D); GSM55FA; 30.0-71.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2320T (DVI-I); GSM55F9; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L2323T (Analog); GSM55FD; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L2323T (Digital); GSM55FE; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L245WP (Analog); GSM5623; 28.0-84.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L245WP (Digital); GSM5624; 28.0-84.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L245WPM (Analog); GSM562B; 28.0-84.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L245WPM (Digital); GSM562C; 28.0-84.0; 56.0-75.0; 1
++LG Electronics Inc.; LG L3000A (Analog); GSM7531; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3000A (Digital); GSM7532; 30.0-63.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3000H (Analog); GSM7537; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3000H (Digital); GSM7538; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3010T (Analog); GSM753B; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3010T (Digital); GSM753C; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3020A (Analog); GSM7535; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3020A (Digital); GSM7536; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3020AL/T (Analog); GSM7533; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3020AL/T (Digital); GSM7534; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3200A (Analog); GSM754F; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3200A (Digital); GSM7550; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3200T (Analog); GSM7549; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3200T (Digital); GSM754A; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3700A (Analog); GSM754D; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3700A (Digital); GSM754E; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3700T (Analog); GSM7547; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L3700T (Digital); GSM7548; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L4200A (Analog); GSM9C41; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L4200A (Digital); GSM9C42; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L4200T (Analog); GSM9C43; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG L4200T (Digital); GSM9C44; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG LB500; GSM3B6F; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LB563B; GSM3B3A; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LG777; GSM4320; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1510TFT; GSM3B5A; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1510TXW; GSM3B6B; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1520TFT; GSM3B9C; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1710TFT (Analog); GSM4360; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1710TFT (Digital); GSM4364; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1711TFT; GSM4376; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 1770X; GSM431C; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1771FT; GSM42D3; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1771FT PLUS; GSM434D; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1771FXW; GSM4330; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1771X; GSM4380; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1772 SUPER; GSM4342; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LGIBM 1910TFT (Digital); GSM4A89; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 568TXW; GSM3B49; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 571TFT; GSM3B2D; 31.0-61.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LGIBM 871TFT; GSM465A; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG LN777F; GSM431D; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LPL-22W03 (Analog); GSM55FB; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG LPL-22W03 (Digital); GSM55FC; 30.0-64.0; 60.0-60.0; 1
++LG Electronics Inc.; LG LS773; GSM4318; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG LX151; GSM3BA2; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX151M; GSM3BA3; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX152; GSM3BAA; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1717; GSM4415; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX171D (Analog); GSM43C5; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX171D (Digital); GSM43C6; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX171; GSM43C7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1721; GSM43DE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX172; GSM43C9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX174D (Analog); GSM43F4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX174D (Digital); GSM43F5; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1751QD (Analog); GSM43FB; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1751QD (Digital); GSM43FC; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1751Q; GSM43FA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX178QD (Analog); GSM43EE; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX178QD (Digital); GSM43EF; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX191D (Analog); GSM4A9C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX191D (Digital); GSM4AB0; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX191; GSM4ABA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1921; GSM4AB1; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX194D (Analog); GSM4ABB; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX194D (Digital); GSM4ABC; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1951D (Analog); GSM4AC2; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1951D (Digital); GSM4AC3; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX1951; GSM4AC0; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX198QD (Analog); GSM4AB8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX198QD (Digital); GSM4AB9; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX20D (Analog); GSM4E4E; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX20D (Digital); GSM4E4F; 28.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX713D (Analog); GSM4416; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX713D (Digital); GSM4417; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX732J; GSM4442; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX74Q; GSM442A; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX752D (Analog); GSM444A; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX752D (Digital); GSM444B; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX752; GSM4445; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX77D (Analog); GSM443A; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX77D (Digital); GSM443B; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX932J; GSM4AF3; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX952D (Analog); GSM4B03; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX952D (Digital); GSM4B04; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX952; GSM4AF8; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX97D (Analog); GSM4AEA; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG LX97D (Digital); GSM4AEB; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1510A; GSM3BA5; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1510S; GSM3BAB; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1710A; GSM43D6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1710S; GSM43F6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1717A; GSM4424; 30.0-70.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1717S; GSM441F; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1717TM (Analog); GSM442C; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1717TM (Digital); GSM442D; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M173WA (Analog); GSM43D1; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M173WA (Digital); GSM43D2; 30.0-66.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1740A (Analog); GSM43E3; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1740A (Digital); GSM43E4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1910A; GSM4AA7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1910S; GSM4ABF; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1917A; GSM4ADA; 30.0-70.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1917S; GSM4AD9; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1917TM (Analog); GSM4ADD; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1917TM (Digital); GSM4ADE; 30.0-71.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1940A (Analog); GSM4AB4; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M1940A (Digital); GSM4AB5; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M203WA (Analog); GSM4E3B; 28.0-83.0; 55.0-75.0; 1
++LG Electronics Inc.; LG M203WA (Digital); GSM4E3C; 28.0-83.0; 55.0-75.0; 1
++LG Electronics Inc.; LG M203WX (Analog); GSM4E2C; 28.0-83.0; 55.0-75.0; 1
++LG Electronics Inc.; LG M203WX (Digital); GSM4E2D; 28.0-83.0; 55.0-75.0; 1
++LG Electronics Inc.; LG M2040A (Analog); GSM4E32; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M2040A (Digital); GSM4E33; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG M2343A (Analog); GSM5615; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M2343A (Digital); GSM5616; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3200C (Analog); GSM7551; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3200C (Digital); GSM7552; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3201C (Analog); GSM7579; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3201C (Digital); GSM757A; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3700C (Analog); GSM7555; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3700C (Digital); GSM7556; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3701C (Analog); GSM757B; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M3701C (Digital); GSM757C; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4200C (Analog); GSM9C49; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4200C (Digital); GSM9C4A; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4201C (Analog); GSM9C5F; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4201C (Digital); GSM9C60; 30.0-72.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4600C (Analog); GSM9C4B; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M4600C (Digital); GSM9C4C; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M5500C (Analog); GSMC353; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG M5500C (Digital); GSMC354; 30.0-83.0; 56.0-85.0; 1
++LG Electronics Inc.; LG MX172WT; GSM43F0; 30.0-66.0; 56.0-85.0; 1
++LG Electronics Inc.; LG MX94D (Analog); GSM4AF6; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG MX94D (Digital); GSM4AF7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG N2200P; GSM55F3; 30.0-124.0; 50.0-160.0; 1
++LG Electronics Inc.; LG RM151; GSM3B86; 30.0-63.0; 56.0-75.0, 1
+ LG Electronics Inc.; LG StudioWorks 20i; gsm4e21; 30.0-85.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG Studioworks28i; sw28i; 30.0-85.0; 50.0-120.0; 1
++LG Electronics Inc.; LG StudioWorks 28i; sw28i; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 44i; gsm36b9; 30.0-50.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 44m; gsm36b4; 30.0-50.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 45i; gsm36bb; 30.0-54.0; 50.0-90.0; 1
++LG Electronics Inc.; LG StudioWorks 500LC; GSM3ACE; 31.0-61.0; 56.0-75.0; 1
+ LG Electronics Inc.; LG StudioWorks 54m; gsm3aa9; 30.0-50.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 550m; CXO0f0f; 30.0-54.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 55i; gsm3abd; 30.0-54.0; 50.0-90.0; 1
++LG Electronics Inc.; LG StudioWorks 560LS; GSM3B1A; 31.0-61.0; 56.0-75.0; 1
+ LG Electronics Inc.; LG StudioWorks 56i; gsm3aa8; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 56m; gsm3aa2; 30.0-65.0; 50.0-110.0; 1
+ LG Electronics Inc.; LG StudioWorks 56T; gsm3aaf; 30.0-65.0; 50.0-120.0; 1
++LG Electronics Inc.; LG StudioWorks 570LE; GSM3AF2; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG StudioWorks 570LS; GSM3AF3; 31.0-69.0; 56.0-85.0; 1
++LG Electronics Inc.; LG StudioWorks 575N; GSM3AE1; 30.0-70.0; 50.0-160.0; 1
+ LG Electronics Inc.; LG StudioWorks 5D; gsm3ab6; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 74i; gsm4278; 30.0-50.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 74m; gsm4277; 30.0-50.0; 50.0-90.0; 1
+-LG Electronics Inc.; LG StudioWorks74m; sw74m; 30.0-50.0; 50.0-90.0; 1
++LG Electronics Inc.; LG StudioWorks 74m; sw74m; 30.0-50.0; 50.0-90.0; 1
+ LG Electronics Inc.; LG StudioWorks 76i; gsm426e; 30.0-65.0; 50.0-110.0; 1
+ LG Electronics Inc.; LG StudioWorks 76m; gsm4273; 30.0-65.0; 50.0-110.0; 1
+ LG Electronics Inc.; LG StudioWorks 76T; gsm4284; 30.0-65.0; 50.0-120.0; 1
+@@ -2428,10 +3159,28 @@
+ LG Electronics Inc.; LG StudioWorks 78DT; gsm4280; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 78i; gsm426c; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 78m; gsm4274; 30.0-85.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG StudioWorks78T; gsm426b; 30.0-85.0; 50.0-120.0; 1
++LG Electronics Inc.; LG StudioWorks 78T; gsm426b; 30.0-85.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 78T; gsm426d; 30.0-85.0; 50.0-120.0; 1
+-LG Electronics Inc.; LG StudioWorks 7D; gsm427e; 30.0-65.0; 50.0-120.0; 1
++LG Electronics Inc.; LG StudioWorks 7D; GSM427E; 30.0-65.0; 50.0-120.0; 1
+ LG Electronics Inc.; LG StudioWorks 7DT; gsm4281; 30.0-65.0; 50.0-120.0; 1
++LG Electronics Inc.; LG StudioWorks 880LC; GSM4658; 30.0-80.0; 56.0-85.0; 1
++LG Electronics Inc.; LG T530B; GSM3BA8; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG T530S; GSM3BA9; 30.0-54.0; 50.0-120.0; 1
++LG Electronics Inc.; LG T705B; GSM43A2; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T705BH; GSM43A4; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T705S; GSM43A1; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T705SH; GSM43A3; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T710B; GSM4365; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T711B; GSM43A7; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG T730BG; GSM43C0; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG TX171; GSM43C8; 30.0-71.0; 50.0-160.0; 1
++LG Electronics Inc.; LG TX191; GSM4ABD; 30.0-98.0; 50.0-160.0; 1
++LG Electronics Inc.; LG WS771A; GSM42F2; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG WS771B; GSM42F3; 30.0-70.0; 50.0-160.0; 1
++LG Electronics Inc.; LG Zenith 515Z; GSM3BAC; 30.0-63.0; 56.0-75.0; 1
++LG Electronics Inc.; LG Zenith 715Z; GSM43F7; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG Zenith 721Z; GSM440B; 30.0-83.0; 56.0-75.0; 1
++LG Electronics Inc.; LG Zenith 921Z; GSM4ACC; 30.0-83.0; 56.0-75.0; 1
+ Link Computer, Inc.; Link Computer CE-8; ce-8; 15.5-38.0; 50.0-90.0; 1
+ Link Computer, Inc.; Link Computer CM-3; cm-3; 15.5-36.0; 50.0-70.0; 1
+ Lite-On; Lite-On 1570; ltn1570; 30.0-70.0; 50.0-120.0; 1
+@@ -2744,7 +3493,6 @@
+ Monitronix; Monitronix MX-240EZ; mx-240ez; 30.0-75.0; 40.0-120.0; 1
+ Monitronix; Monitronix MX240; mx240; 30.0-90.0; 20.0-120.0; 1
+ Morse; Morse Monitor; morsemon; 30.0-57.0; 50.0-90.0; 1
+-Mtek; Mtek 9" Monochrome MT-0910; 0; 28-37.5; 40-60; 0
+ Nanao; Nanao 9060S; nan0502; 15.5-38.5; 50.0-90.0; 1
+ Nanao; Nanao 9060S; nan0902; 15.5-38.5; 50.0-90.0; 1
+ Nanao; Nanao 9065S; nan0503; 30.0-50.0; 50.0-90.0; 1
+@@ -2830,6 +3578,7 @@
+ NEC; NEC AccuSync LCD7V; NEC6617; 30.0-83.0; 55.0-76.0; 1
+ NEC; NEC AccuSync LCD9V; NEC6619; 31.0-84.0; 56.0-75.0; 1
+ NEC; NEC AccuSync LCD200VX; NEC665C; 31.0-95.0; 56.0-85.0; 1
++NEC; NEC CI A727; GSM5011; 30.0-70.0; 50.0-160.0; 1
+ NEC; NEC C510; necea6b; 30.0-70.0; 50.0-120.0; 1
+ NEC; NEC C550; necea65; 30.0-70.0; 50.0-90.0; 1
+ NEC; NEC C700; necea67; 30.0-70.0; 50.0-90.0; 1
+@@ -2854,6 +3603,7 @@
+ NEC; NEC F14T2L; nec00e6; 31.0-61.0; 59.0-76.0; 1
+ NEC; NEC F14T2; nec00b4; 30.0-63.0; 60.0-75.0; 1
+ NEC; NEC F15T1; nec00d2; 31.0-61.0; 59.0-76.0; 1
++NEC; NEC F727; NCI5015; 31.0-70.0; 50.0-160.0; 1
+ NEC; NEC LCD1280; 0; 29.5-33.5; 60.0-62.0; 1
+ NEC; NEC LCD200; nec2fb2; 24.0-62.0; 53.0-85.0; 1
+ NEC; NEC LCD300; 0; 30.8-38.0; 55.0-72.8; 1
+@@ -3108,6 +3858,7 @@
+ Nokia; Nokia 800PRO; nok1803; 31.0-65.0; 58.0-62.0; 1
+ Nokia; Nokia 800XA/820L; nok1801; 24.0-80.0; 56.0-75.0; 1
+ Nokia; Nokia 800Xi; nok1800; 24.0-80.0; 56.0-75.0; 1
++OKI; Oki GD1203; OKI04B3; 31.0-61.0; 56.0-75.0; 1
+ Olivetti; Olivetti DSM 25-314 P-Y; dsm25-314p-y; 31.5; 60.0-70.0; 1
+ Olivetti; Olivetti DSM 26-314 LE; dsm26-314le; 31.5; 60.0-70.0; 1
+ Olivetti; Olivetti DSM 27-039; dsm27-039; 35.5; 87.0; 1
+@@ -3516,10 +4267,17 @@
+ Princeton; Princeton Ultra 95; pgs00fa; 30.0-95.0; 50.0-120.0; 1
+ Princeton; W74; pgs00e5; 30.0-70.0; 50.0-160.0; 1
+ Princeton; W74; pgs00fb; 30.0-70.0; 55.0-120.0; 1
++Proview; Proview 456/482; PTS0579; 30.0-60.0; 60.0-75.0; 1
++Proview; Proview 513/516; PTS05DD; 30.0-60.0; 60.0-75.0; 1
+ Proview; Proview 570; pts023a; 30.0-70.0; 50.0-150.0; 1
++Proview; Proview 576w; PTS05DF; 30.0-50.0; 60.0-70.0; 1
++Proview; Proview 713/716; PTS06A5; 30.0-80.0; 60.0-75.0; 1
+ Proview; Proview 770; pts0302; 30.0-76.0; 50.0-150.0; 1
+ Proview; Proview 860; pts035c; 30.0-54.0; 50.0-150.0; 1
++Proview; Proview 913/916; PTS076D; 30.0-80.0; 60.0-75.0; 1
++Proview; Proview 926w; PTS077D; 31.0-94.0; 60.0-75.0; 1
+ Proview; Proview 996N; pts025c; 30.0-98.0; 50.0-160.0; 1
++Proview; Proview 2072; PTS0000; 30.0-93.0; 60.0-85.0; 1
+ Quantex; Quantex TE1564M - Super View 1280; 75; 30-64; 50-100
+ Qume; Qume QM835; qm835; 30.0-36.5; 50.0-90.0; 1
+ Radius; Radius PrecisionColor Display/19; pcd19; 30.0-67.0; 72; 1
+@@ -3680,21 +4438,21 @@
+ Samsung; Samsung SyncMaster 198T/910T/CX901T (Digital); SAM010F; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 20GLsi; sam4690; 30.0-82.0; 50.0-120.0; 1
+ Samsung; Samsung SyncMaster 20gls; sam20gls; 30-82; 50-120; 1
++Samsung; Samsung SyncMaster 21GLs; sam4610; 30.0-85.0; 50.0-160.0; 1
+ Samsung; Samsung SyncMaster 205BW (Analog); SAM021D; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 205BW (Digital); SAM021E; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 206BW (Analog); SAM027C; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 206BW (Digital); SAM027D; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 225BW (Analog); SAM0254; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 225BW (Digital); SAM0255; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 226BW (Analog); SAM027E; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 226BW (Digital); SAM027F; 30-81; 56-75; 1
+-Samsung; Samsung SyncMaster 21GLs; sam4610; 30.0-85.0; 50.0-160.0; 1
+ Samsung; Samsung SyncMaster 210T/LXA210T (Analog); SAM4251; 30-93; 50-85; 1
+ Samsung; Samsung SyncMaster 210T/LXA210T (Digital); SAM4252; 30-81; 50-85; 1
+ Samsung; Samsung SyncMaster 211MP/215MP/CX211MP; SAMOO56; 30-85; 55-85; 1
+ Samsung; Samsung SyncMaster 213T/CX210T; SAMOO91; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 215TW(Digital); SAM0214; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 215TW(Analog); SAM0213; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 225BW (Analog); SAM0254; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 225BW (Digital); SAM0255; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 226BW (Analog); SAM027E; 30-81; 56-75; 1
++Samsung; Samsung SyncMaster 226BW (Digital); SAM027F; 30-81; 56-75; 1
+ Samsung; Samsung SyncMaster 240T (Analog); SAM4254; 30-93; 50-85; 1
+ Samsung; Samsung SyncMaster 240T (Digital); SAM4255; 30-81; 50-85; 1
+ Samsung; Samsung SyncMaster 204T/204Ts/214T,SyncMaster Magic CX201Ts(Digital); SAM01AE; 30-81; 56-75; 1
+@@ -3766,7 +4524,7 @@
+ Samsung; Samsung SyncMaster 793S/793V/CM173G; SAM0117; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 793DF/793MB; SAM0107; 30-71; 50-160; 1
+ Samsung; Samsung SyncMaster 794MB/794MBplus/798MB; SAM01AB; 30-70; 50-160; 1
+-Samsung; Samsung SyncMaster 795DF/795MB/Magic CD175GP; SAM0108; 30-85; 50-160; 1
++Samsung; Samsung SyncMaster 795DF/795MB/CD175GP; SAM0108; 30-85; 50-160; 1
+ Samsung; Samsung SyncMaster 796MB/796MBplus; SAM01AC; 30-85; 50-160; 1
+ Samsung; Samsung SyncMaster 800TFT; sam6058; 61.5-81.0; 59.0-76.0; 1
+ Samsung; Samsung SyncMaster 900IFT; sam4f29; 30-96; 50-160; 1
+@@ -4387,6 +5145,7 @@
+ ViewSonic; ViewSonic VA520; VSCBA07; 30-62; 50-75
+ ViewSonic; ViewSonic VA550; VSCFA02; 30-62; 50-60
+ ViewSonic; ViewSonic VA700; VSCF705; 30-82; 50-75
++ViewSonic; ViewSonic VA702b; VSC231C; 30-82; 50-85; 1
+ ViewSonic; ViewSonic VA720-2; VSC700B; 30-82; 50-75
+ ViewSonic; ViewSonic VA720; VSC6C09; 30-82; 50-75
+ ViewSonic; ViewSonic VA800; VSCDE00; 30-82; 50-75

Deleted: kde-extras/guidance/trunk/debian/patches/13_nvidia_typo.diff

Added: kde-extras/guidance/trunk/debian/patches/14_displayconfig_no_xorg_no_serverlayout.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/14_displayconfig_no_xorg_no_serverlayout.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/14_displayconfig_no_xorg_no_serverlayout.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,175 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py	2008-01-03 08:58:02.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py	2008-03-30 18:56:01.000000000 -0400
+@@ -765,7 +765,14 @@
+                 i = 1
+                 while os.path.exists("%s.%i" % (self.xconfigpath,i)):
+                     i += 1
+-                shutil.copyfile(self.xconfigpath,"%s.%i" % (self.xconfigpath,i))
++                try:
++                    shutil.copyfile(self.xconfigpath,"%s.%i" % (self.xconfigpath,i))
++                except IOError, errmsg:
++                    print "IOError", errmsg, " - while trying to save new xorg.conf - trying to fix"
++                    self.xconfigpath = "/etc/X11/xorg.conf"
++                    xorgfile = open(self.xconfigpath, 'a')
++                    xorgfile.close()
++                    shutil.copyfile(self.xconfigpath,"%s.%i" % (self.xconfigpath,i))
+ 
+                 # Write out the new config
+                 tmpfilename = self.xconfigpath + ".tmp"
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py kde-guidance-0.8.0svn20080103.new/displayconfig/xorgconfig.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py	2008-01-03 08:58:02.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/xorgconfig.py	2008-03-30 18:56:44.000000000 -0400
+@@ -659,16 +659,64 @@
+         return stem+str(i)
+ 
+ ############################################################################
+-def readConfig(filename):
++def addxorg(context, stack):
++    # Add minimal xorg.conf if it's missing
++    rows = [[None, [u'Section', u'Device']], [None, [u'Identifier', u'Configured Video Device']], \
++        [None, [u'EndSection']], [None, [u'Section', u'Monitor']], \
++        [None, [u'Identifier', u'Configured Monitor']], \
++        [None, [u'EndSection']], [None, [u'Section', u'Screen']], \
++        [None, [u'Identifier', u'Default Screen']], \
++        [None, [u'Monitor', u'Configured Monitor']], [None, [u'EndSection']], \
++        [None, [u'Section', u'ServerLayout']], \
++        [None, [u'Identifier', u'Default Layout']], \
++        [None, [u'screen', u'Default Screen']], \
++        [None, [u'EndSection']]]
++
++    for data in rows:
++        rowcomment = data[0]
++        row = data[1]
++        try:
++            first = row[0].lower()
++            if context.isSection(first):
++                section = context.makeSection(rowcomment,row)
++                context.append(section)
++                stack.append(context)
++                context = section
++                context_class = context.__class__
++            elif context.isEndSection(first):
++                context = stack.pop()
++            elif context.isListAttr(first):
++                context.makeListAttr(rowcomment,row)
++            else:
++                newline = context.makeLine(rowcomment,row)
++                if newline is None:
++                    raise ParseException,"Unknown line type '%s' on line %i" % (first,line)
++                context.append(newline)
++        except IndexError:
++            context.append(ConfigLine(rowcomment,row))
+ 
+-    context = XorgConfig()
+-    stack = []
+-    line = 1
+-    for row in XorgconfCVSReader(filename=filename).readlines():
++    return context, section, stack, first
++
++############################################################################
++def addServerLayout(context, section, stack, first):
++    # Add empty server layout section to xorg.conf if it's missing
++    rows = [[None, [u'Section', u'ServerLayout']], \
++           [None, [u'Identifier', u'Default Layout']], \
++           [None, [u'screen', u'0', u'Default Screen', u'0', u'0']], \
++           [None, [u'Inputdevice', u'Generic Keyboard']], \
++           [None, [u'Inputdevice', u'Configured Mouse']], \
++           [None, []], ["Uncomment if you have a wacom tablet", []], \
++           ["InputDevice     \"stylus\"        \"SendCoreEvents\"", []], \
++           ["     InputDevice     \"cursor\"        \"SendCoreEvents\"", []], \
++           ["     InputDevice     \"eraser\"        \"SendCoreEvents\"", []], \
++           [None, [u'Inputdevice', u'Synaptics Touchpad']], [None, [u'EndSection']]]
++    for data in rows:
++        rowcomment = data[0]
++        row = data[1]
+         try:
+             first = row[0].lower()
+             if context.isSection(first):
+-                section = context.makeSection(row.comment,row)
++                section = context.makeSection(rowcomment,row)
+                 context.append(section)
+                 stack.append(context)
+                 context = section
+@@ -676,18 +724,77 @@
+             elif context.isEndSection(first):
+                 context = stack.pop()
+             elif context.isListAttr(first):
+-                context.makeListAttr(row.comment,row)
++                context.makeListAttr(rowcomment,row)
+             else:
+-                newline = context.makeLine(row.comment,row)
++                newline = context.makeLine(rowcomment,row)
+                 if newline is None:
+                     raise ParseException,"Unknown line type '%s' on line %i" % (first,line)
+                 context.append(newline)
+         except IndexError:
+-            context.append(ConfigLine(row.comment,row))
+-        line += 1
++            context.append(ConfigLine(rowcomment,row))
++
++    return context, section, stack, first
++
++############################################################################
++def readConfig(filename):
++
++    context = XorgConfig()
++    stack = []
++    line = 1
++    hasserverlayout = False
++    hasxorg = True
++    try:
++        import os
++        try:
++            if os.path.getsize(filename) == 0:
++                raise IOError, "xorg.conf is empty - making up config"
++        except OSError, errmsg:
++            raise IOError, errmsg
++        for row in XorgconfCVSReader(filename=filename).readlines():
++            try:
++                first = row[0].lower()
++                if context.isSection(first):
++                    section = context.makeSection(row.comment,row)
++                    if section._name == 'ServerLayout':
++                        hasserverlayout = True
++                    context.append(section)
++                    stack.append(context)
++                    context = section
++                    context_class = context.__class__
++                elif context.isEndSection(first):
++                    context = stack.pop()
++                elif context.isListAttr(first):
++                    context.makeListAttr(row.comment,row)
++                else:
++                    newline = context.makeLine(row.comment,row)
++                    if newline is None:
++                        raise ParseException,"Unknown line type '%s' on line %i" % (first,line)
++                    context.append(newline)
++            except IndexError:
++                context.append(ConfigLine(row.comment,row))
++            line += 1
++    except IOError, errmsg:
++        ermsg = str(errmsg)
++        print "IOError", ermsg, " - will create xorg.conf if possible."
++        if ermsg[:9] == "[Errno 2]": # No such file or directory:
++            hasxorg = False
++            addxorg(context, stack)
++            try:
++                xorgfile = open(filename, 'a')
++                xorgfile.close()
++            except IOError, errmsg:
++                ermsg = str(errmsg)
++                if ermsg[:9] == "[Errno 13]": #Permission denied:
++                    pass
++                    # Since we aren't root, changes can't be made anyway.
++        elif ermsg[:9] == "xorg.conf": # xorg.conf exists, but is empty
++            hasxorg = False
++            addxorg(context, stack)
+ 
+     if len(stack)!=0:
+         raise ParseException,"Unexpected end of file on line %i" % line
++    if not hasserverlayout and hasxorg:
++        addServerLayout(context, section, stack, first)
+     return context
+ 
+ ############################################################################

Deleted: kde-extras/guidance/trunk/debian/patches/14_powermanager_fixes.diff

Added: kde-extras/guidance/trunk/debian/patches/15_powermanager_suspend.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/15_powermanager_suspend.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/15_powermanager_suspend.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/powermanage.py kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py
+--- kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-03-13 11:31:44.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py	2008-03-13 11:32:28.000000000 +0100
+@@ -547,7 +547,7 @@
+         """ Run a suspend command, either via HAL or script. """
+         if SUSPEND_USE_HAL:
+             try:
+-                self.computerObject.Suspend(3, dbus_interface="org.freedesktop.Hal.Device.SystemPowerManagement")
++                self.computerObject.Suspend(0, dbus_interface="org.freedesktop.Hal.Device.SystemPowerManagement")
+             except dbus.DBusException:
+                 pass #we get a DBusException: No reply within specified time
+         else:

Added: kde-extras/guidance/trunk/debian/patches/16_displayconfig_no_xrrqueryextention.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/16_displayconfig_no_xrrqueryextention.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/16_displayconfig_no_xrrqueryextention.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,18 @@
+diff -Nur kde-guidance-0.8.0svn20080103/modules/xf86misc.py kde-guidance-0.8.0svn20080103.new/modules/xf86misc.py
+--- kde-guidance-0.8.0svn20080103/modules/xf86misc.py	2008-01-03 08:58:05.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/modules/xf86misc.py	2008-03-13 16:03:16.000000000 -0400
+@@ -40,8 +40,12 @@
+ 
+     def _load(self):
+         # Check for the presence of the xrandr extension.
+-        (rc,x,y) = ixf86misc.XRRQueryExtension(self.display)
+-        if rc==0:
++        try:
++            (rc,x,y) = ixf86misc.XRRQueryExtension(self.display)
++            if rc==0:
++                return
++        except AttributeError, errmsg:
++            print "Trapped AttributeError:", errmsg, " - attempting to continue."
+             return
+ 
+         self.screenconfig = ixf86misc.XRRGetScreenInfo(self.display, ixf86misc.RootWindow(self.display, self.screenid))

Added: kde-extras/guidance/trunk/debian/patches/17_kde-powermanager_brightness.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/17_kde-powermanager_brightness.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/17_kde-powermanager_brightness.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,37 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-03-16 20:59:02.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-03-16 20:59:43.000000000 +0100
+@@ -442,25 +442,25 @@
+     def setBrightnessUp(self):
+         """Increments slider value by 10%"""
+         if self.powermanager.onBattery():
+-            self.BatteryBrightnessSlider.setValue(self.BatteryBrightnessSlider.value()+self.BatteryBrightnessSlider.maxValue()/10)
++            self.BatteryBrightnessSlider.setValue(float(self.BatteryBrightnessSlider.value())+max(float(self.BatteryBrightnessSlider.maxValue())/float(10),1))
+         else:
+-            self.PoweredBrightnessSlider.setValue(self.PoweredBrightnessSlider.value()+self.PoweredBrightnessSlider.maxValue()/10)
+-            self.showBrightnessPopup()
+-    
++            self.PoweredBrightnessSlider.setValue(float(self.PoweredBrightnessSlider.value())+max(float(self.PoweredBrightnessSlider.maxValue())/float(10),1))
++        self.showBrightnessPopup()
+             
+     def setBrightnessDown(self):
++        """Decrements slider value by 10%"""
+         if self.powermanager.onBattery():
+-                self.BatteryBrightnessSlider.setValue(self.BatteryBrightnessSlider.value()-self.BatteryBrightnessSlider.maxValue()/10)
++            self.BatteryBrightnessSlider.setValue(float(self.BatteryBrightnessSlider.value())-max(float(self.BatteryBrightnessSlider.maxValue())/float(10),1))
+         else:
+-            self.PoweredBrightnessSlider.setValue(self.PoweredBrightnessSlider.value()-self.PoweredBrightnessSlider.maxValue()/10)
+-            self.showBrightnessPopup()
++            self.PoweredBrightnessSlider.setValue(float(self.PoweredBrightnessSlider.value())-max(float(self.PoweredBrightnessSlider.maxValue())/float(10),1))
++        self.showBrightnessPopup()
+ 
+     def getBrightness(self):
+       """Work with percentages - it's a bit nicer"""
+       if self.powermanager.onBattery():
+         value=self.BatteryBrightnessSlider.value()*100/self.BatteryBrightnessSlider.maxValue()
+       else:
+-        value=self.MainsBrightnessSlider.value()*100/self.MainsBrightnessSlider.maxValue()
++        value=self.PoweredBrightnessSlider.value()*100/self.PoweredBrightnessSlider.maxValue()
+       return QString(str(value))
+ 
+     def hideTip(self):

Added: kde-extras/guidance/trunk/debian/patches/18_displayconfig_no_resolutions.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/18_displayconfig_no_resolutions.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/18_displayconfig_no_resolutions.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,21 @@
+diff -Nur kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py	2008-01-03 08:58:02.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py	2008-03-25 11:47:31.000000000 -0400
+@@ -2306,8 +2306,15 @@
+                 for display_section in self.x_config_screen.getSections('display'):
+                     self.x_config_screen.remove(display_section)
+ 
+-                (preferred_width, preferred_height) = self.getAvailableResolutions()[self.currentsizeindex]
+-                preferred_rate = self.getAvailableRefreshRates()[self.getRefreshRateIndex()]
++                try:
++                    (preferred_width, preferred_height) = self.getAvailableResolutions()[self.currentsizeindex]
++                    preferred_rate = self.getAvailableRefreshRates()[self.getRefreshRateIndex()]
++                except IndexError, errmsg:
++                    # This is presumed to be better than a crash:
++                    print "Failed to get preferred width, height, or rate - Assuming none. IndexError: ", errmsg
++                    preferred_width = 0
++                    preferred_height = 0
++                    preferred_rate = 0
+ 
+                 # Find the monitor supported mode that best matches what the user has selected.
+                 best_score = 2000000    # big number.

Added: kde-extras/guidance/trunk/debian/patches/19_powermanager_new_names.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/19_powermanager_new_names.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/19_powermanager_new_names.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,14 @@
+diff -Nur kde-guidance-0.8.0svn20080103/powermanager/powermanage.py kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py
+--- kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-03-25 11:54:58.000000000 -0400
++++ kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py	2008-03-25 11:57:10.000000000 -0400
+@@ -250,8 +250,8 @@
+                                                         u'/org/freedesktop/Hal/devices/computer')
+             properties = self.computerObject.GetAllProperties(
+                                                         dbus_interface="org.freedesktop.Hal.Device")
+-            self.canSuspend = properties["power_management.can_suspend_to_ram"]
+-            self.canHibernate = properties["power_management.can_suspend_to_disk"]
++            self.canSuspend = properties["power_management.can_suspend"]
++            self.canHibernate = properties["power_management.can_hibernate"]
+         else:
+             self.canSuspend = self.canHibernate = True
+ 

Added: kde-extras/guidance/trunk/debian/patches/20_displayconfig_dynamic_driver_list.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/20_displayconfig_dynamic_driver_list.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/20_displayconfig_dynamic_driver_list.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,113 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py	2008-03-29 21:49:45.000000000 -0400
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py	2008-03-29 21:50:54.000000000 -0400
+@@ -9,6 +9,7 @@
+ import xorgconfig
+ import ScanPCI
+ import csv
++import re
+ from execwithcapture import *
+ 
+ """Classes for dealing with X.org configuration in a sane way.
+@@ -2520,17 +2521,7 @@
+         self.vendordb = {} 
+         self.driverdb = {}
+ 
+-        self.drivers = ["ati", "glint", "vga", "fbdev"]
+-        #FIXME
+-        #if arch() .startswith("sparc"):
+-        #    self.drivers.extend(["sunbw2", "suncg14", "suncg3", "suncg6", "sunffb", "sunleo", "suntcx"])
+-        #else:
+-        self.drivers.extend(["apm", "ark", "chips", "cirrus", "cyrix", "glide",
+-                             "i128", "i740", "i810", "intel", "imstt", "mga", 
+-                             "neomagic", "newport", "nsc", "nv", "rendition", 
+-                             "r128", "radeon", "vesa", "s3", "s3virge", 
+-                             "savage", "siliconmotion", "sis", "tdfx", "tga", 
+-                             "trident", "tseng", "vmware"])
++        self.drivers = self._getAvailableDrivers()
+ 
+         self.proprietary_drivers = []
+ 
+@@ -2547,6 +2538,82 @@
+     def getAllGfxCardModelNames(self):
+         return self.db.keys()
+ 
++    def _getDriverDirs(self):
++        "Returns a list of directories where X driver files may be located"
++
++        # Fallback dir:
++        defaultDirs = ["/usr/lib/xorg/modules/drivers/"]
++
++        # Get display number:
++        display_number = 0
++        if "DISPLAY" in os.environ:
++            display_name = os.environ["DISPLAY"]
++            displayRE = re.compile("^.*:(\d+)\.\d+$")
++            m = displayRE.match(display_name)
++            if m:
++                display_number = int(m.group(1))
++            else:
++                print "failed to parse display number from '%s' - falling back to default (%d)" % (display_name, display_number)
++        else:
++            print "$DISPLAY not set - falling back to default number (%d)" % display_number
++
++        # Get the list of module paths from the Xorg log file:
++        XLogfile = "/var/log/Xorg.%d.log" % display_number
++        cmd = "awk -F \" ModulePath set to \" '/^\(..\) ModulePath set to (.*)/ {print $2}' %s" % XLogfile
++
++        baseList = os.popen(cmd).readline().strip().strip('"')
++        if baseList == "":
++            print "warning: failed to get module paths from '%s' - falling back to default" % XLogfile
++            return defaultDirs
++
++        pathList = []
++        for basePath in baseList.split(","):
++            pathList.append("%s/drivers/" % basePath)
++
++        return pathList
++
++    def _getAvailableDrivers(self):
++        """
++        Returns the list of available X graphics drivers.
++        Algorithm taken from Xorg source (see GenerateDriverlist() in xf86Config.C).
++        """
++
++        # These are drivers that cannot actually be used in xorg.conf, hence they are hidden:
++        hiddenDrivers = (
++            "atimisc", # seems to be just the internal implementation for ati driver
++            "dummy", # dummy driver without any output
++            "v4l", # not an actual video device driver, but just the v4l module
++            "ztv" # seems to be the TV output module for AMD Geode
++        )
++
++        drivers = []
++        driverDirectories = self._getDriverDirs()
++
++        driverNameRE = re.compile("^(.+)_drv.(s)?o$")
++        for ddir in driverDirectories:
++            try:
++                driverFiles = os.listdir(ddir)
++            except OSError:
++                print "error reading directory '%s'" % ddir
++                continue
++            for f in driverFiles:
++                m = driverNameRE.match(f)
++                if m:
++                    driverName = m.group(1)
++                    if driverName in drivers:
++                        print "ignoring duplicate driver '%s/%s'" % (ddir, f)
++                    else:
++                        if driverName in hiddenDrivers:
++                            #print "ignoring hidden driver '%s'" % driverName
++                            pass
++                        else:
++                            drivers.append(driverName)
++                else:
++                    #print "ignoring driver file with invalid name '%s'" % f
++                    pass
++        #print "found %d drivers" % len(drivers)
++        return drivers
++
+     def _checkProprietaryDrivers(self):
+         # Check for the NVidia driver.
+         # FIXME x86_64 => 'lib64'

Added: kde-extras/guidance/trunk/debian/patches/21_kde-powermanager_unique-check.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/21_kde-powermanager_unique-check.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/21_kde-powermanager_unique-check.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-03-21 12:39:17.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-03-21 12:40:07.000000000 +0100
+@@ -1047,7 +1047,7 @@
+         # We would like to use a KUniqueApplication, but that breaks dcop due to some
+         # strange bug. The following line is the revenge code for this bug, it is
+         # intentionally ugly.
+-        if len(os.popen("dcop |grep power-manager").readlines()) > 1:
++        if len(os.popen("dcop |grep guidance-").readlines()) > 1:
+             print "There is already an instance of power manager running. Exiting."
+             sys.exit(0)
+ 

Added: kde-extras/guidance/trunk/debian/patches/22_userconfig_utf8.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/22_userconfig_utf8.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/22_userconfig_utf8.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,18 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/userconfig/userconfig.py kde-guidance-0.8.0svn20080103.new/userconfig/userconfig.py
+--- kde-guidance-0.8.0svn20080103/userconfig/userconfig.py	2008-03-29 00:03:33.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/userconfig/userconfig.py	2008-03-29 00:03:53.000000000 +0100
+@@ -828,12 +828,11 @@
+ 	else: excludegroups = []
+ 	for group in [g.getGroupname() for g in self.admincontext.getGroups()]:
+ 		if group in excludegroups: continue
+-		 # FIXME possible bug here because name is unicode and the str()'s used below might not be able to coerce a unicode group name into what we want
+ 		if group in pn:
+-			name = i18n(str(pn[group]))
++			name = i18n(unicode(pn[group]).encode(locale.getpreferredencoding()))
+ 			wid = self.privilegeslistview
+ 		else:
+-			name = str(group)
++			name = unicode(group).encode(locale.getpreferredencoding())
+ 			wid = self.groupslistview
+ 		self.secondarygroupcheckboxes[group] = QCheckListItem(wid,name,QCheckListItem.CheckBox)
+ 

Added: kde-extras/guidance/trunk/debian/patches/23_kde-powermanager_gpmhelper.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/23_kde-powermanager_gpmhelper.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/23_kde-powermanager_gpmhelper.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,180 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/gpmhelper.py kde-guidance-0.8.0svn20080103.new/powermanager/gpmhelper.py
+--- kde-guidance-0.8.0svn20080103/powermanager/gpmhelper.py	1970-01-01 01:00:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/powermanager/gpmhelper.py	2008-04-22 09:48:28.000000000 +0200
+@@ -0,0 +1,147 @@
++#!/usr/bin/python
++# -*- coding: UTF-8 -*-
++"""
++Copyright 2008 Sebastian Kügler, Canonical Ltd, Luka Renko
++
++Authors: 
++    Andreas Wenning <awen at awen.dk>
++
++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.
++
++"""
++
++"""
++A frontend to HAL's power features for KDE - Helper application
++This application listens for HAL signals and issues dcop-calls to the
++kde-power-manager that originally started it. To avoid the need for
++kde-power-manager to shut it's helper down, this application
++will automatically shut down if it's kde-power-manager isn't running.
++"""
++
++import dbus, sys, time
++from dbus.mainloop.glib import DBusGMainLoop
++import gobject
++from dcopext import DCOPClient, DCOPObj, DCOPApp
++
++class GPMHelper():
++    def mother_alive(self):
++        """Check that our mother is still alive"""
++        found = False
++        for name in self.dcop.registeredApplications():
++            name = str(name)
++            if name == self.motherName:
++                found = True
++        if not found:
++            """No mother; commit suicide"""
++            print "guidance-power-manager not alive; exiting"
++            loop.quit()
++
++    """Called when signal is received"""
++    def signal_recv(self, *args):
++        if args[0] == "ButtonPressed":
++            if args[1] == "brightness-up":
++                if time.time()-0.02 <= self.last_brightness_up <= time.time():
++                    """Most likely an extra brightness-up call, discarding"""
++                    print "Extra brightness-up call discarded"
++                    return
++                try:
++                    ok, foo = self.mother.brightnessUp()
++                    if not ok:
++                        print "brightnessUp-call failed"
++                        return self.mother_alive()
++                    self.last_brightness_up = time.time()
++                except:
++                    print "brightnessUp-call failed"
++                    return self.mother_alive()
++            elif args[1] == "brightness-down":
++                if time.time()-0.02 <= self.last_brightness_down <= time.time():
++                    """Most likely an extra brightness-down call, discarding"""
++                    print "Extra brightness-down call discarded"
++                    return
++                try:
++                    ok, foo = self.mother.brightnessDown()
++                    if not ok:
++                        print "brightnessDown-call failed"
++                        return self.mother_alive()
++                    self.last_brightness_down = time.time()
++                except:
++                    print "brightnessDown-call failed"
++                    return self.mother_alive()
++            elif args[1] == "sleep":
++                if time.time()-1 <= self.last_sleep <= time.time():
++                    """Most likely an extra sleep-call, discarding"""
++                    print "Extra sleep-call discarded"
++                    return
++                try:
++                    ok, foo = self.mother.suspend()
++                    if not ok:
++                        print "suspend-call failed"
++                        return self.mother_alive()
++                    self.last_sleep = time.time()
++                except:
++                    print "suspend-call failed"
++                    return self.mother_alive()
++            elif args[1] == "hibernate":
++                if time.time()-1 <= self.last_hibernate <= time.time():
++                    """Most likely an extra hibernate-call, discarding"""
++                    print "Extra hibernate-call discarded"
++                    return
++                try:
++                    ok, foo = self.mother.hibernate()
++                    if not ok:
++                        print "hibernate-call failed"
++                        return self.mother_alive()
++                    self.last_hibernate = time.time()
++                except:
++                    print "hibernate failed"
++                    return self.mother_alive()
++
++    def __init__(self):
++        """Connect to HAL"""
++        self.dbus_loop = DBusGMainLoop(set_as_default=True)
++        self.bus = dbus.SystemBus(mainloop=self.dbus_loop)
++        hal_manager_obj = self.bus.get_object("org.freedesktop.Hal",u'/org/freedesktop/Hal/Manager')
++        self.hal_manager = dbus.Interface(hal_manager_obj, "org.freedesktop.Hal.Manager")
++
++        """Find button-devices and to connect to"""
++        button_devices = self.hal_manager.FindDeviceByCapability("button")
++        for device in button_devices:
++            self.bus.add_signal_receiver(self.signal_recv,
++                                        "Condition",
++                                        "org.freedesktop.Hal.Device",
++                                        "org.freedesktop.Hal",
++                                        device)
++        """Let's find our mother"""
++        self.dcop = DCOPClient()
++        self.dcop.attach()
++        found = False
++        for name in self.dcop.registeredApplications():
++            name = str(name)
++            if name.startswith('guidance-'):
++                self.motherName = name
++                try:
++                    self.mother = DCOPObj(name, self.dcop, 'power-manager')
++                    found = True
++                except:
++                    """Do nothing, catched by found=False"""
++                break
++        if not found:
++            """No mother; commit suicide"""
++            print "No guidance-power-manager is running"
++            sys.exit()
++
++        """Some laptops issue double sleep/hibernate-calls, we need to discard one in that case"""
++        self.last_sleep = 0
++        self.last_hibernate = 0
++
++        """And multiple brightness calls is also possible"""
++        self.last_brightness_up = 0
++        self.last_brightness_down = 0
++
++if __name__ == "__main__":
++    gpmh = GPMHelper()
++    loop = gobject.MainLoop()
++    loop.run()
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-04-22 09:46:03.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-04-22 09:46:04.000000000 +0200
+@@ -1120,5 +1120,14 @@
+     mainWindow = PowermanagerApp(None, "main window")
+     doDcop(kapp)
+     dcop_iface = DcopIface(mainWindow.pmwidget)
++    """Start helper module / button listener"""
++    try:
++        helperPid = os.spawnl(os.P_NOWAIT, os.path.dirname(__file__)+'/gpmhelper.py', 'gpmhelper.py')
++    except:
++        """Non-fatal if this fails"""
++        print "Unable to start button-listener"
+ 
+     kapp.exec_loop()
++
++    """Kill helper module / button listener"""
++    os.system('kill '+str(helperPid))
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/setup.py kde-guidance-0.8.0svn20080103.new/setup.py
+--- kde-guidance-0.8.0svn20080103/setup.py	2008-01-03 14:58:07.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/setup.py	2008-04-22 09:46:04.000000000 +0200
+@@ -183,6 +183,7 @@
+                             'wineconfig/drivedetect.py',
+                             'powermanager/guidance-power-manager.py',
+                             'powermanager/powermanage.py',
++                            'powermanager/gpmhelper.py',
+                             'powermanager/guidance_power_manager_ui.ui',
+                             'powermanager/powermanager_ui.ui',
+                             'grubconfig/grubconfig.py'],

Added: kde-extras/guidance/trunk/debian/patches/24_displayconfig_no_gamma.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/24_displayconfig_no_gamma.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/24_displayconfig_no_gamma.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,98 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py	2008-04-01 22:42:29.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py	2008-04-01 22:51:17.000000000 +0200
+@@ -735,7 +735,11 @@
+                 if self.applytimerdialog.exec_loop():
+                     self.xsetup.acceptLiveResolutionChanges()
+                 else:
+-                    self.xsetup.rejectLiveResolutionChanges()
++                    try:
++                        self.xsetup.rejectLiveResolutionChanges()
++                    except:
++                        """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++                        print "Live gamma change not supported"
+                     return
+             else:
+                 # Nothing really changed, just accept the changes.
+@@ -808,7 +812,11 @@
+         self.save()
+ 
+     def slotClose(self): # KDialogBase
+-        self.xsetup.rejectLiveGammaChanges()
++        try:
++            self.xsetup.rejectLiveGammaChanges()
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
+         KDialogBase.slotClose(self)
+ 
+     def load(self): # KCModule
+@@ -836,37 +844,56 @@
+         self.redslider.setDisabled(self.settingall)
+         self.greenslider.setDisabled(self.settingall)
+         self.blueslider.setDisabled(self.settingall)
+-
+-        if self.settingall:
+-            self.currentgammascreen.setAllGamma(self.currentgammascreen.getAllGamma())
+-        else:
+-            self.currentgammascreen.setRedGamma(self.currentgammascreen.getRedGamma())
+-            self.currentgammascreen.setGreenGamma(self.currentgammascreen.getGreenGamma())
+-            self.currentgammascreen.setBlueGamma(self.currentgammascreen.getBlueGamma())
+-        self._sendChangedSignal()
++        try:
++            if self.settingall:
++                self.currentgammascreen.setAllGamma(self.currentgammascreen.getAllGamma())
++            else:
++                self.currentgammascreen.setRedGamma(self.currentgammascreen.getRedGamma())
++                self.currentgammascreen.setGreenGamma(self.currentgammascreen.getGreenGamma())
++                self.currentgammascreen.setBlueGamma(self.currentgammascreen.getBlueGamma())
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
++	self._sendChangedSignal()
+ 
+     def slotGammaChanged(self,value):
+         if self.updatingGUI:
+             return
+-        self.currentgammascreen.setAllGamma(value)
++        try:
++            self.currentgammascreen.setAllGamma(value)
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
+         self._sendChangedSignal()
+ 
+     def slotRedChanged(self,value):
+         if self.updatingGUI:
+             return
+-        self.currentgammascreen.setRedGamma(value)
++        try:
++            self.currentgammascreen.setRedGamma(value)
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
+         self._sendChangedSignal()
+ 
+     def slotGreenChanged(self,value):
+         if self.updatingGUI:
+             return
+-        self.currentgammascreen.setGreenGamma(value)
++        try:
++            self.currentgammascreen.setGreenGamma(value)
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
+         self._sendChangedSignal()
+ 
+     def slotBlueChanged(self,value):
+         if self.updatingGUI:
+             return
+-        self.currentgammascreen.setBlueGamma(value)
++        try:
++            self.currentgammascreen.setBlueGamma(value)
++        except:
++            """Workaround! FIXME: Use isGammaLive function in displayconfigabstraction when this is implemented"""
++            print "Live gamma change not supported"
+         self._sendChangedSignal()
+ 
+     def slotGammaScreenCombobox(self,i):

Added: kde-extras/guidance/trunk/debian/patches/25_kde-powermanager_allways_change_brightness.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/25_kde-powermanager_allways_change_brightness.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/25_kde-powermanager_allways_change_brightness.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,13 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/powermanage.py kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py
+--- kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-04-05 23:25:21.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py	2008-04-05 23:28:52.000000000 +0200
+@@ -301,9 +301,6 @@
+         if not self.hasBrightness:
+             debug("Brightness setting not supported.")
+             return
+-        if level == self.getBrightness():
+-            debug("brightness is the same")
+-            return
+         try:
+             self.brightnessObject.SetBrightness(level, 
+                     dbus_interface="org.freedesktop.Hal.Device.LaptopPanel")

Added: kde-extras/guidance/trunk/debian/patches/26_kde-powermanager_handle_hal_dbus_restarts.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/26_kde-powermanager_handle_hal_dbus_restarts.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/26_kde-powermanager_handle_hal_dbus_restarts.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,44 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-04-17 14:23:47.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-04-17 14:23:49.000000000 +0200
+@@ -626,6 +626,7 @@
+         """ Check for changes in plugged in status, battery status and laptop lid closed status. """
+         debug( "------------ POLL ---------------")
+ 
++        self.powermanager.checkHAL()
+         # Battery stuff:
+         # check for last state, and run plugged / unplugged message if the state changed.
+         if self.powermanager.hasBattery:
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/powermanage.py kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py
+--- kde-guidance-0.8.0svn20080103/powermanager/powermanage.py	2008-04-17 14:23:47.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/powermanage.py	2008-04-17 14:34:59.000000000 +0200
+@@ -108,6 +108,29 @@
+         self._checkCpuCapabilities()
+         self._findDisks()
+ 
++    def checkHAL(self):
++        """ Handle HAL and DBus restarts """
++        try:
++            self.hal_manager.FindDeviceByCapability("")
++        except dbus.DBusException, e:
++            if str(e) == 'org.freedesktop.DBus.Error.Disconnected: Connection is closed' \
++            or str(e) == 'org.freedesktop.DBus.Error.Disconnected: Connection was disconnected before a reply was received':
++                # DBus doesn't support on-the-fly restart
++                print "connection with DBus lost, please restart the display manager"
++                return
++
++            if os.system("ps aux|grep [h]ald-runner") == 0:
++                print "connection with HAL lost, trying to reconnect"
++                self._initHAL()
++                self._initBrightness()
++                self._initBattery()
++                self._initAc()
++                self._initLid()
++                self._checkSuspend()
++                self._checkCpuCapabilities()
++            else:
++                print "HAL is not running"
++
+     def isLaptop(self):
+         """ Detect if system is laptop. """
+         try:

Added: kde-extras/guidance/trunk/debian/patches/27_displayconfig-restore_try_getsize_again.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/27_displayconfig-restore_try_getsize_again.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/27_displayconfig-restore_try_getsize_again.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,16 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfig-restore.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig-restore.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfig-restore.py	2008-04-05 20:17:37.000000000 -0400
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig-restore.py	2008-04-05 21:59:14.000000000 -0400
+@@ -292,7 +292,11 @@
+                     vdisplay = mode_line[5]
+ 
+                     live_refresh_rate = xscreen.getRefreshRate()
+-                    (live_width,live_height,x,x) = xscreen.getAvailableSizes()[xscreen.getSizeID()]
++                    try:
++                        (live_width,live_height,x,x) = xscreen.getAvailableSizes()[xscreen.getSizeID()]
++                    except IndexError, errmsg:
++                        print "IndexError:", errmsg, "in displayconfig-restore getting live screen size - trying screen 0."
++                        (live_width,live_height,x,x) = xscreen.getAvailableSizes()[0]
+ 
+                     if (hdisplay,vdisplay) != (live_width,live_height):
+                         # The screen resolution doesn't match the virtual screen size.

Added: kde-extras/guidance/trunk/debian/patches/28_kde-powermanager_i18n_strings.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/28_kde-powermanager_i18n_strings.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/28_kde-powermanager_i18n_strings.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,12 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-04-09 00:12:28.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-04-09 00:13:00.000000000 +0200
+@@ -780,7 +780,7 @@
+         elif state == "charging":
+             self.BattProgress[batt].setFormat(i18n("Charging (%p%)"))
+         elif state == "discharging":
+-            self.BattProgress[batt].setFormat("Discharging (%p%)")
++            self.BattProgress[batt].setFormat(i18n("Discharging (%p%)"))
+         else:
+             self.BattProgress[batt].setFormat("%p%")
+ 

Added: kde-extras/guidance/trunk/debian/patches/29_kde-powermanager_display_consumption_rate.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/29_kde-powermanager_display_consumption_rate.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/29_kde-powermanager_display_consumption_rate.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,34 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-04-09 21:43:46.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-04-09 21:44:53.000000000 +0200
+@@ -636,7 +636,7 @@
+             self.batt_rate = self.batt_charge = self.batt_full = 0
+             for batt in self.powermanager.batteries:
+                 state, level, remain, rate, current, full = self.powermanager.getBatteryState(batt)
+-                self._updateBatteryWidget(batt, state, level, remain)
++                self._updateBatteryWidget(batt, state, level, remain, rate)
+ 
+                 ## notify plugged/unplugged batteries
+                 if state == "not present":
+@@ -770,7 +770,7 @@
+             i += 1
+ 
+ 
+-    def _updateBatteryWidget(self, batt, state, level, remain):
++    def _updateBatteryWidget(self, batt, state, level, remain, rate):
+         """ Retrieve battery information and update the related widgets accordingly. """
+         self.BattProgress[batt].setEnabled(True)
+         self.BattProgress[batt].setTotalSteps(100)
+@@ -780,7 +780,11 @@
+         elif state == "charging":
+             self.BattProgress[batt].setFormat(i18n("Charging (%p%)"))
+         elif state == "discharging":
+-            self.BattProgress[batt].setFormat(i18n("Discharging (%p%)"))
++            if rate > 0:
++                showrate = rate/1000
++                self.BattProgress[batt].setFormat(i18n("Discharging (%p%)") + " - %.d W" % showrate)
++            else:
++                self.BattProgress[batt].setFormat(i18n("Discharging (%p%)"))
+         else:
+             self.BattProgress[batt].setFormat("%p%")
+ 

Added: kde-extras/guidance/trunk/debian/patches/30_displayconfig_no_xorg_correct_detection.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/30_displayconfig_no_xorg_correct_detection.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/30_displayconfig_no_xorg_correct_detection.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,55 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfigabstraction.py	2008-04-13 17:34:19.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfigabstraction.py	2008-04-13 17:37:25.000000000 +0200
+@@ -72,11 +72,12 @@
+     ROLE_PRIMARY = 1
+     ROLE_SECONDARY = 2
+ 
+-    def __init__(self,xorg_config_filename='/etc/X11/xorg.conf',debug_scan_pci_filename=None):
++    def __init__(self,xorg_config_filename='/etc/X11/xorg.conf',debug_scan_pci_filename=None,secondtry=False):
+         self.screens = []
+         self.gfxcards = []
+-        self.xorg_config = xorgconfig.readConfig(xorg_config_filename)
+-        self.xorg_config_filename = xorg_config_filename
++        self.xorg_config, self.hasxorg = xorgconfig.readConfig(xorg_config_filename, check_exists=True)
++        if not secondtry:
++            self.xorg_config_filename = xorg_config_filename
+         self.x_live_info = xf86misc.XF86Server()
+ 
+         self.primary_screen = None
+@@ -391,6 +392,11 @@
+                     break
+ 
+         self._finalizeInit()
++
++        if not self.hasxorg and not secondtry:
++            """No xorg.conf, so we need to write a temporary one and reload from that one"""
++            self.writeXorgConfig('/tmp/xorg.conf.displayconfig')
++            self.__init__(xorg_config_filename='/tmp/xorg.conf.displayconfig',secondtry=True)
+         return
+ 
+     def _finalizeInit(self):
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py kde-guidance-0.8.0svn20080103.new/displayconfig/xorgconfig.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/xorgconfig.py	2008-04-13 17:34:19.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/xorgconfig.py	2008-04-13 17:36:02.000000000 +0200
+@@ -736,7 +736,7 @@
+     return context, section, stack, first
+ 
+ ############################################################################
+-def readConfig(filename):
++def readConfig(filename, check_exists=False):
+ 
+     context = XorgConfig()
+     stack = []
+@@ -795,7 +795,10 @@
+         raise ParseException,"Unexpected end of file on line %i" % line
+     if not hasserverlayout and hasxorg:
+         addServerLayout(context, section, stack, first)
+-    return context
++    if check_exists:
++        return context, hasxorg
++    else:
++        return context
+ 
+ ############################################################################
+ class ParseException(Exception):

Added: kde-extras/guidance/trunk/debian/patches/31_wineconfig_no_i18_on_keys.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/31_wineconfig_no_i18_on_keys.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/31_wineconfig_no_i18_on_keys.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,422 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.py kde-guidance-0.8.0svn20080103.new/wineconfig/wineconfig.py
+--- kde-guidance-0.8.0svn20080103/wineconfig/wineconfig.py	2008-01-03 11:26:48.000000000 -0500
++++ kde-guidance-0.8.0svn20080103.new/wineconfig/wineconfig.py	2008-04-13 12:44:36.000000000 -0400
+@@ -1529,11 +1529,11 @@
+     # and size values and translations for that item
+     # For example, the value of BorderWidth is
+     #  customizableitems[str(i18n("Window Border"))][1]["BorderWidth"][1]
+-    customizableitems = {unicode(i18n("Window Border")):
++    customizableitems = {"Window Border":
+             ({"ActiveBorder":[unicode(i18n("Active Color:")),QColor()],
+               "InactiveBorder":[unicode(i18n("Inactive Color:")),QColor()]},
+              {"BorderWidth":[unicode(i18n("Width:")),1]}), #ActiveBorder, InactiveBorder, metrics: BorderWidth
+-        unicode(i18n("Title Bar")):
++        "Title Bar":
+             ({"ActiveTitle":[unicode(i18n("Active Color:")),QColor()],
+               "GradientActiveTitle":[unicode(i18n("Gradient:")),QColor()],
+               "InactiveTitle":[unicode(i18n("Inactive Color:")),QColor()],
+@@ -1541,10 +1541,10 @@
+               "TitleText":[unicode(i18n("Active Text:")),QColor()],
+               "InactiveTitleText":[unicode(i18n("Inactive Text:")),QColor()]},
+              {}), #ActiveTitle, GradientActiveTitle, InactiveTitle, GradientInactiveTitle, TitleText, InactiveTitleText
+-        unicode(i18n("Application Workspace")):
++        "Application Workspace":
+             ({"AppWorkSpace":[unicode(i18n("Background Color:")),QColor()]},
+              {}), #AppWorkSpace "Background"
+-        unicode(i18n("Buttons")):
++        "Buttons":
+             ({"ButtonFace":[unicode(i18n("Face:")),QColor()],
+               "ButtonHilight":[unicode(i18n("Hilight:")),QColor()],
+               "ButtonLight":[unicode(i18n("Light:")),QColor()],
+@@ -1554,27 +1554,27 @@
+               "ButtonDkShadow":[unicode(i18n("Dark Shadow:")),QColor()],
+               "WindowFrame":[unicode(i18n("Frame:")),QColor()]},
+              {}), #ButtonFace, ButtonHilight, ButtonLight, ButtonShadow, ButtonText, ButtonAlternateFace, ButtonDkShadow, WindowFrame
+-        unicode(i18n("Caption Buttons")):
++        "Caption Buttons":
+             ({},
+              {"CaptionHeight":[unicode(i18n("Height:")),1],
+               "CaptionWidth":[unicode(i18n("Width:")),1]}), #Metrics: CaptionHeight, CaptionWidth
+-        unicode(i18n("Desktop")):
++        "Desktop":
+             ({"Background":[unicode(i18n("Background:")),QColor()]},
+              {}), #Background
+-        unicode(i18n("Menu")):
++        "Menu":
+             ({"Menu":[unicode(i18n("Menu Background:")),QColor()],
+               "MenuBar":[unicode(i18n("Menu Bar Color:")),QColor()],
+               "MenuHilight":[unicode(i18n("Menu Hilight:")),QColor()],
+               "MenuText":[unicode(i18n("Text Color:")),QColor()]},
+              {"MenuHeight":[unicode(i18n("Menu Bar Height:")),1]}), #Menu (Background), MenuBar, MenuHilight, MenuText, metrics: MenuHeight, MenuWidth (does nothing)
+-        unicode(i18n("Scrollbar")):
++        "Scrollbar":
+             ({"Scrollbar":[unicode(i18n("Color:")),QColor()]},
+              {"ScrollWidth":[unicode(i18n("Width:")),1]}), #Scrollbar, metrics: ScrollHeight (does nothing), ScrollWidth
+-        unicode(i18n("Window")):
++        "Window":
+             ({"Window":[unicode(i18n("Background:")),QColor()],
+               "WindowText":[unicode(i18n("Text Color:")),QColor()]},
+              {}), #Window "Background", WindowText
+-        unicode(i18n("Selected Items")):
++        "Selected Items":
+             ({"Hilight":[unicode(i18n("Hilight Color:")),QColor()],
+               "HilightText":[unicode(i18n("Text Color:")),QColor()]},
+              {})} #Hilight, HilightText
+@@ -1963,13 +1963,13 @@
+         self.config.writeEntry("ColorScheme",self.currentcustomcolorscheme)
+         self.config.sync()
+ 
+-        if self.customizableitems[unicode(i18n("Title Bar"))][0]["ActiveTitle"][1]\
++        if self.customizableitems["Title Bar"][0]["ActiveTitle"][1]\
+             !=\
+-            self.customizableitems[unicode(i18n("Title Bar"))][0]["GradientActiveTitle"][1]\
++            self.customizableitems["Title Bar"][0]["GradientActiveTitle"][1]\
+             or\
+-            self.customizableitems[unicode(i18n("Title Bar"))][0]["InactiveTitle"][1]\
++            self.customizableitems["Title Bar"][0]["InactiveTitle"][1]\
+             !=\
+-            self.customizableitems[unicode(i18n("Title Bar"))][0]["GradientInactiveTitle"][1]:
++            self.customizableitems["Title Bar"][0]["GradientInactiveTitle"][1]:
+             prefmask = self.desktopsettings["UserPreferencemask"]
+             prefmask = prefmask[:4] + "1" + prefmask[5:]
+             self.desktopsettings["UserPreferencemask"] = prefmask
+@@ -2008,10 +2008,10 @@
+         items = self.customizableitems.keys()
+         items.sort()
+         for item in items:
+-            if not (allowwm and (item == unicode(i18n("Window Border")) \
+-                or item == unicode(i18n("Title Bar")) or \
+-                item == unicode(i18n("Caption Buttons")))):
+-                combo.insertItem(item)
++            if not (allowwm and (item == "Window Border" \
++                or item == "Title Bar" or \
++                item == "Caption Buttons")):
++                combo.insertItem(unicode(i18n(item)))
+ 
+     def slotFillItemComboDesktop(self,desktop):
+         """
+@@ -2029,10 +2029,10 @@
+         items.sort()
+         self.currentitems = []
+         for item in items:
+-            if not (currentallowwm == 'Y' and (item == unicode(i18n("Window Border")) \
+-                or item == unicode(i18n("Title Bar")) or \
+-                item == unicode(i18n("Caption Buttons")))):
+-                combo.insertItem(item)
++            if not (currentallowwm == 'Y' and (item == "Window Border" \
++                or item == "Title Bar" or \
++                item == "Caption Buttons")):
++                combo.insertItem(unicode(i18n(item)))
+                 self.currentitems.append(item)
+ 
+     def slotThemeActivated(self,themeid):
+@@ -2114,63 +2114,63 @@
+         config = KConfig("kdesktoprc")
+ 
+         config.setGroup("General")
+-        self.customizableitems[unicode(i18n("Application Workspace"))][0]["AppWorkSpace"][1] =\
++        self.customizableitems["Application Workspace"][0]["AppWorkSpace"][1] =\
+             config.readColorEntry("background",QColor(100,100,100))
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonFace"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonFace"][1] =\
+             config.readColorEntry("background",QColor(230,230,230))
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonHilight"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonHilight"][1] =\
+             config.readColorEntry("windowBackground",QColor(240,240,240))
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonLight"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonLight"][1] =\
+             config.readColorEntry("selectBackground",QColor(200,200,200)).light(135)
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonShadow"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonShadow"][1] =\
+             config.readColorEntry("background",QColor(100,100,100)).dark(180)
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonText"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonText"][1] =\
+             config.readColorEntry("buttonForeground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonAlternateFace"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonAlternateFace"][1] =\
+             config.readColorEntry("background",QColor(230,230,230))
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["ButtonDkShadow"][1] =\
++        self.customizableitems["Buttons"][0]["ButtonDkShadow"][1] =\
+             config.readColorEntry("selectBackground",QColor(0,0,0)).dark(146)
+-        self.customizableitems[unicode(i18n("Buttons"))][0]["WindowFrame"][1] =\
++        self.customizableitems["Buttons"][0]["WindowFrame"][1] =\
+             config.readColorEntry("selectBackground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Menu"))][0]["Menu"][1] =\
++        self.customizableitems["Menu"][0]["Menu"][1] =\
+             config.readColorEntry("background",QColor(230,230,230)).light(105)
+-        self.customizableitems[unicode(i18n("Menu"))][0]["MenuBar"][1] =\
++        self.customizableitems["Menu"][0]["MenuBar"][1] =\
+             config.readColorEntry("background",QColor(230,230,230))
+-        self.customizableitems[unicode(i18n("Menu"))][0]["MenuHilight"][1] =\
++        self.customizableitems["Menu"][0]["MenuHilight"][1] =\
+             config.readColorEntry("selectBackground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Menu"))][0]["MenuText"][1] =\
++        self.customizableitems["Menu"][0]["MenuText"][1] =\
+             config.readColorEntry("foreground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Scrollbar"))][0]["Scrollbar"][1] =\
++        self.customizableitems["Scrollbar"][0]["Scrollbar"][1] =\
+             config.readColorEntry("background",QColor(230,230,230))
+-        self.customizableitems[unicode(i18n("Window"))][0]["Window"][1] =\
++        self.customizableitems["Window"][0]["Window"][1] =\
+             config.readColorEntry("windowBackground",QColor(255,255,255))
+-        self.customizableitems[unicode(i18n("Window"))][0]["WindowText"][1] =\
++        self.customizableitems["Window"][0]["WindowText"][1] =\
+             config.readColorEntry("foreground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Selected Items"))][0]["Hilight"][1] =\
++        self.customizableitems["Selected Items"][0]["Hilight"][1] =\
+             config.readColorEntry("selectBackground",QColor(0,0,0))
+-        self.customizableitems[unicode(i18n("Selected Items"))][0]["HilightText"][1] =\
++        self.customizableitems["Selected Items"][0]["HilightText"][1] =\
+             config.readColorEntry("selectForeground",QColor(255,255,255))
+ 
+         config.setGroup("WM")
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["ActiveTitle"][1] =\
++        self.customizableitems["Title Bar"][0]["ActiveTitle"][1] =\
+             config.readColorEntry("activeBackground",QColor(10,10,100))
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["GradientActiveTitle"][1] =\
++        self.customizableitems["Title Bar"][0]["GradientActiveTitle"][1] =\
+             config.readColorEntry("activeBlend",QColor(10,10,200)).light(110)
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["InactiveTitle"][1] =\
++        self.customizableitems["Title Bar"][0]["InactiveTitle"][1] =\
+             config.readColorEntry("inactiveBackground",QColor(100,100,100))
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["GradientInactiveTitle"][1] =\
++        self.customizableitems["Title Bar"][0]["GradientInactiveTitle"][1] =\
+             config.readColorEntry("inactiveBlend",QColor(100,100,200))
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["TitleText"][1] =\
++        self.customizableitems["Title Bar"][0]["TitleText"][1] =\
+             config.readColorEntry("activeForeground",QColor(255,255,255))
+-        self.customizableitems[unicode(i18n("Title Bar"))][0]["InactiveTitleText"][1] =\
++        self.customizableitems["Title Bar"][0]["InactiveTitleText"][1] =\
+             config.readColorEntry("inactiveForeground",QColor(250,250,250))
+-        self.customizableitems[unicode(i18n("Window Border"))][0]["ActiveBorder"][1] =\
++        self.customizableitems["Window Border"][0]["ActiveBorder"][1] =\
+             config.readColorEntry("frame",QColor(10,10,100))
+-        self.customizableitems[unicode(i18n("Window Border"))][0]["InactiveBorder"][1] =\
++        self.customizableitems["Window Border"][0]["InactiveBorder"][1] =\
+             config.readColorEntry("frame",QColor(100,100,200))
+ 
+         config.setGroup("Desktop0")
+-        self.customizableitems[unicode(i18n("Desktop"))][0]["Background"][1] =\
++        self.customizableitems["Desktop"][0]["Background"][1] =\
+             config.readColorEntry("Color1",QColor(50,150,85))
+ 
+         self.saveColorScheme(self.colorschemes[1])
+@@ -2238,7 +2238,7 @@
+             self.GetKdeColorScheme()
+ 
+         if not self.selecteditem:
+-            self.__selectItem(unicode(i18n("Desktop")))
++            self.__selectItem("Desktop")
+         else:
+             self.__selectItem(self.selecteditem)
+ 
+@@ -2263,7 +2263,7 @@
+             if item1 == item:
+                 self.itemcombo.setCurrentItem(i)
+ 
+-        if item == unicode(i18n("Application Workspace")):
++        if item == "Application Workspace":
+             key = "AppWorkSpace"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2283,7 +2283,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Buttons")):
++        elif item == "Buttons":
+             key = "ButtonFace"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2379,7 +2379,7 @@
+             self.colorcombo8.setColor(\
+                 self.customizableitems[item][0][key][1])
+             self.colorcombo8.setName(key)
+-        elif item == unicode(i18n("Caption Buttons")):
++        elif item == "Caption Buttons":
+             key = "CaptionHeight"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2414,7 +2414,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Desktop")):
++        elif item == "Desktop":
+             key = "Background"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2434,7 +2434,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Menu")):
++        elif item == "Menu":
+             key = "Menu"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2500,7 +2500,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Scrollbar")):
++        elif item == "Scrollbar":
+             key = "Scrollbar"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2533,7 +2533,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Selected Items")):
++        elif item == "Selected Items":
+             key = "Hilight"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2564,7 +2564,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Title Bar")):
++        elif item == "Title Bar":
+             key = "ActiveTitle"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2639,7 +2639,7 @@
+ 
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Window")):
++        elif item == "Window":
+             key = "Window"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2670,7 +2670,7 @@
+             self.colorsizehbox6.hide()
+             self.colorsizehbox7.hide()
+             self.colorsizehbox8.hide()
+-        elif item == unicode(i18n("Window Border")):
++        elif item == "Window Border":
+             key = "ActiveBorder"
+             self.colorsizehbox1.show()
+             self.colorsizetext1.setText(\
+@@ -2733,11 +2733,11 @@
+ 
+     # --- Some default color schemes, with names ---
+     preset1 = (unicode(i18n("Purple")),
+-       {unicode(i18n("Window Border")):
++       {"Window Border":
+             ({"ActiveBorder":[unicode(i18n("Active Color:")),QColor(239,239,239)],
+               "InactiveBorder":[unicode(i18n("Inactive Color:")),QColor(239,239,239)]},
+              {"BorderWidth":[unicode(i18n("Width:")),1]}), #ActiveBorder, InactiveBorder, metrics: BorderWidth
+-        unicode(i18n("Title Bar")):
++        "Title Bar":
+             ({"ActiveTitle":[unicode(i18n("Active Color:")),QColor(91,86,168)],
+               "GradientActiveTitle":[unicode(i18n("Gradient:")),QColor(136,118,202)],
+               "InactiveTitle":[unicode(i18n("Inactive Color:")),QColor(223,225,230)],
+@@ -2745,10 +2745,10 @@
+               "TitleText":[unicode(i18n("Active Text:")),QColor(255,255,255)],
+               "InactiveTitleText":[unicode(i18n("Inactive Text:")),QColor(168,168,168)]},
+              {}), #ActiveTitle, GradientActiveTitle, InactiveTitle, GradientInactiveTitle, TitleText, InactiveTitleText
+-        unicode(i18n("Application Workspace")):
++        "Application Workspace":
+             ({"AppWorkSpace":[unicode(i18n("Background Color:")),QColor(90,90,90)]},
+              {}), #AppWorkSpace "Background"
+-        unicode(i18n("Buttons")):
++        "Buttons":
+             ({"ButtonFace":[unicode(i18n("Face:")),QColor(238,239,242)],
+               "ButtonHilight":[unicode(i18n("Hilight:")),QColor(255,255,255)],
+               "ButtonLight":[unicode(i18n("Light:")),QColor(201,199,255)],
+@@ -2758,37 +2758,37 @@
+               "ButtonDkShadow":[unicode(i18n("Dark Shadow:")),QColor(98,96,143)],
+               "WindowFrame":[unicode(i18n("Frame:")),QColor(144,140,209)]},
+              {}), #ButtonFace, ButtonHilight, ButtonLight, ButtonShadow, ButtonText, ButtonAlternateFace, ButtonDkShadow, WindowFrame
+-        unicode(i18n("Caption Buttons")):
++        "Caption Buttons":
+             ({},
+              {"CaptionHeight":[unicode(i18n("Height:")),22],
+               "CaptionWidth":[unicode(i18n("Width:")),22]}), #Metrics: CaptionHeight, CaptionWidth
+-        unicode(i18n("Desktop")):
++        "Desktop":
+             ({"Background":[unicode(i18n("Background:")),QColor(146,127,188)]},
+              {}), #Background
+-        unicode(i18n("Menu")):
++        "Menu":
+             ({"Menu":[unicode(i18n("Menu Background:")),QColor(250,251,254)],
+               "MenuBar":[unicode(i18n("Menu Bar Color:")),QColor(238,239,242)],
+               "MenuHilight":[unicode(i18n("Menu Hilight:")),QColor(144,140,209)],
+               "MenuText":[unicode(i18n("Text Color:")),QColor(0,0,0)]},
+              {"MenuHeight":[unicode(i18n("Menu Bar Height:")),22]}), #Menu (Background), MenuBar, MenuHilight, MenuText, metrics: MenuHeight, MenuWidth (does nothing)
+-        unicode(i18n("Scrollbar")):
++        "Scrollbar":
+             ({"Scrollbar":[unicode(i18n("Color:")),QColor(238,239,242)]},
+              {"ScrollWidth":[unicode(i18n("Width:")),16]}), #Scrollbar, metrics: ScrollHeight (does nothing), ScrollWidth
+-        unicode(i18n("Window")):
++        "Window":
+             ({"Window":[unicode(i18n("Background:")),QColor(255,255,255)],
+               "WindowText":[unicode(i18n("Text Color:")),QColor(0,0,0)]},
+              {}), #Window "Background", WindowText
+-        unicode(i18n("Selected Items")):
++        "Selected Items":
+             ({"Hilight":[unicode(i18n("Hilight Color:")),QColor(144,140,209)],
+               "HilightText":[unicode(i18n("Text Color:")),QColor(255,255,255)]},
+              {})}) #Hilight, HilightText
+ 
+     preset2 = (unicode(i18n("Blue")),
+-       {unicode(i18n("Window Border")):
++       {"Window Border":
+             ({"ActiveBorder":[unicode(i18n("Active Color:")),QColor(239,239,239)],
+               "InactiveBorder":[unicode(i18n("Inactive Color:")),QColor(239,239,239)]},
+              {"BorderWidth":[unicode(i18n("Width:")),1]}), #ActiveBorder, InactiveBorder, metrics: BorderWidth
+-        unicode(i18n("Title Bar")):
++        "Title Bar":
+             ({"ActiveTitle":[unicode(i18n("Active Color:")),QColor(0,113,201)],
+               "GradientActiveTitle":[unicode(i18n("Gradient:")),QColor(87,161,219)],
+               "InactiveTitle":[unicode(i18n("Inactive Color:")),QColor(191,191,191)],
+@@ -2796,10 +2796,10 @@
+               "TitleText":[unicode(i18n("Active Text:")),QColor(255,255,255)],
+               "InactiveTitleText":[unicode(i18n("Inactive Text:")),QColor(95,95,95)]},
+              {}), #ActiveTitle, GradientActiveTitle, InactiveTitle, GradientInactiveTitle, TitleText, InactiveTitleText
+-        unicode(i18n("Application Workspace")):
++        "Application Workspace":
+             ({"AppWorkSpace":[unicode(i18n("Background Color:")),QColor(90,90,90)]},
+              {}), #AppWorkSpace "Background"
+-        unicode(i18n("Buttons")):
++        "Buttons":
+             ({"ButtonFace":[unicode(i18n("Face:")),QColor(239,239,239)],
+               "ButtonHilight":[unicode(i18n("Hilight:")),QColor(246,246,246)],
+               "ButtonLight":[unicode(i18n("Light:")),QColor(191,207,251)],
+@@ -2809,27 +2809,27 @@
+               "ButtonDkShadow":[unicode(i18n("Dark Shadow:")),QColor(50,101,146)],
+               "WindowFrame":[unicode(i18n("Frame:")),QColor(74,149,214)]},
+              {}), #ButtonFace, ButtonHilight, ButtonLight, ButtonShadow, ButtonText, ButtonAlternateFace, ButtonDkShadow, WindowFrame
+-        unicode(i18n("Caption Buttons")):
++        "Caption Buttons":
+             ({},
+              {"CaptionHeight":[unicode(i18n("Height:")),22],
+               "CaptionWidth":[unicode(i18n("Width:")),22]}), #Metrics: CaptionHeight, CaptionWidth
+-        unicode(i18n("Desktop")):
++        "Desktop":
+             ({"Background":[unicode(i18n("Background:")),QColor(44,109,189)]},
+              {}), #Background
+-        unicode(i18n("Menu")):
++        "Menu":
+             ({"Menu":[unicode(i18n("Menu Background:")),QColor(249,249,249)],
+               "MenuBar":[unicode(i18n("Menu Bar Color:")),QColor(239,239,239)],
+               "MenuHilight":[unicode(i18n("Menu Hilight:")),QColor(74,149,214)],
+               "MenuText":[unicode(i18n("Text Color:")),QColor(0,0,0)]},
+              {"MenuHeight":[unicode(i18n("Menu Bar Height:")),22]}), #Menu (Background), MenuBar, MenuHilight, MenuText, metrics: MenuHeight, MenuWidth (does nothing)
+-        unicode(i18n("Scrollbar")):
++        "Scrollbar":
+             ({"Scrollbar":[unicode(i18n("Color:")),QColor(230,230,230)]},
+              {"ScrollWidth":[unicode(i18n("Width:")),16]}), #Scrollbar, metrics: ScrollHeight (does nothing), ScrollWidth
+-        unicode(i18n("Window")):
++        "Window":
+             ({"Window":[unicode(i18n("Background:")),QColor(255,255,255)],
+               "WindowText":[unicode(i18n("Text Color:")),QColor(0,0,0)]},
+              {}), #Window "Background", WindowText
+-        unicode(i18n("Selected Items")):
++        "Selected Items":
+             ({"Hilight":[unicode(i18n("Hilight Color:")),QColor(74,149,214)],
+               "HilightText":[unicode(i18n("Text Color:")),QColor(255,255,255)]},
+              {})}) #Hilight, HilightText

Added: kde-extras/guidance/trunk/debian/patches/32_displayconfig_update_refresh_rate.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/32_displayconfig_update_refresh_rate.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/32_displayconfig_update_refresh_rate.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,11 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py
+--- kde-guidance-0.8.0svn20080103/displayconfig/displayconfig.py	2008-04-01 22:42:29.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/displayconfig.py	2008-05-04 03:31:10.000000000 +0800
+@@ -1271,6 +1305,7 @@
+         for rate in self.current_screen.getAvailableRefreshRates():
+             self.size_refresh_combo.insertItem(i18n("%1 Hz").arg(rate))
+         self.size_refresh_combo.setCurrentItem(self.current_screen.getRefreshRateIndex())
++        self.current_screen.setRefreshRateIndex(self.size_refresh_combo.currentItem())
+ 
+     def slotMonitorFocussed(self,currentMonitor):
+         if currentMonitor==0:

Added: kde-extras/guidance/trunk/debian/patches/33_displayconfig_add_new_video_cards.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/33_displayconfig_add_new_video_cards.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/33_displayconfig_add_new_video_cards.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,25 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/Cards+ kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/Cards+
+--- kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/Cards+	2008-01-03 14:58:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/Cards+	2008-06-02 22:38:04.000000000 +0200
+@@ -2326,6 +2326,10 @@
+ DRIVER i810
+ DRI_GLX
+ 
++NAME Intel Q35
++DRIVER intel
++DRI_GLX
++
+ # Alan Cox's new "voodoo" driver for Voodoo Graphics and Voodoo II
+ #0x121a  0x0001  "Card:Voodoo Graphics"  "3Dfx Interactive, Inc.|Voodoo"
+ NAME Voodoo Graphics
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/pcitable kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/pcitable
+--- kde-guidance-0.8.0svn20080103/displayconfig/ldetect-lst/pcitable	2008-01-03 14:58:00.000000000 +0100
++++ kde-guidance-0.8.0svn20080103.new/displayconfig/ldetect-lst/pcitable	2008-06-02 22:38:47.000000000 +0200
+@@ -7507,6 +7507,7 @@
+ 0x8086	0x29a5	"unknown"	"Intel Corporation|HECI Controller"
+ 0x8086	0x29a6	"unknown"	"Intel Corporation|PT IDER Controller"
+ 0x8086	0x29a7	"unknown"	"Intel Corporation|KT Controller"
++0x8086	0x29b2	"Card:Intel Q35"	"Intel Corporation|82Q35 Express Integrated Graphics Controller"
+ 0x8086	0x2a00	"unknown"	"Intel Corporation|Mobile Memory Controller Hub"
+ 0x8086	0x2a01	"unknown"	"Intel Corporation|Mobile PCI Express Root Port"
+ 0x8086	0x2a02	"unknown"	"Intel Corporation|Mobile Integrated Graphics Controller"

Added: kde-extras/guidance/trunk/debian/patches/34_kde-powermanager_no_lid_special_behaviour_disable.patch
===================================================================
--- kde-extras/guidance/trunk/debian/patches/34_kde-powermanager_no_lid_special_behaviour_disable.patch	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/34_kde-powermanager_no_lid_special_behaviour_disable.patch	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,14 @@
+diff -Nur -x '*.orig' -x '*~' kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py
+--- kde-guidance-0.8.0svn20080103/powermanager/guidance-power-manager.py	2008-06-02 22:19:39.000000000 +0200
++++ kde-guidance-0.8.0svn20080103.new/powermanager/guidance-power-manager.py	2008-06-02 22:20:21.000000000 +0200
+@@ -134,10 +134,6 @@
+         """ Check for lid support and disable widgets if it's not there. """
+         if not self.powermanager.hasLid:
+             self.LaptopLidRadios.setEnabled(False)
+-            if self.powermanager.onBattery():
+-                self.powerHasBeenPlugged()
+-            else:
+-                self.powerHasBeenUnplugged()
+ 
+     def _initCB(self, combo, options, values):
+         """ Initialize QComboBox with proper values from provided options. """

Added: kde-extras/guidance/trunk/debian/patches/series
===================================================================
--- kde-extras/guidance/trunk/debian/patches/series	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/patches/series	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1,31 @@
+01_svn20080103.diff
+03_desktop_files.diff
+06_displayconfig_fix_intel_dpi.patch
+07_powermanager_i18n.patch
+08_nice_groups_and_privileges.patch -p0
+09_mountconfig_no_extensions.patch
+10_displayconfig_tryagain.patch
+11_wineconfg_amd64.patch
+12_powermanager_survive_no_brightness.patch
+13_displayconfig_add_new_monitors.patch
+14_displayconfig_no_xorg_no_serverlayout.patch
+15_powermanager_suspend.patch
+16_displayconfig_no_xrrqueryextention.patch
+17_kde-powermanager_brightness.patch
+18_displayconfig_no_resolutions.patch
+19_powermanager_new_names.patch
+20_displayconfig_dynamic_driver_list.patch
+21_kde-powermanager_unique-check.patch
+22_userconfig_utf8.patch
+23_kde-powermanager_gpmhelper.patch
+24_displayconfig_no_gamma.patch
+25_kde-powermanager_allways_change_brightness.patch
+26_kde-powermanager_handle_hal_dbus_restarts.patch
+27_displayconfig-restore_try_getsize_again.patch
+28_kde-powermanager_i18n_strings.patch
+29_kde-powermanager_display_consumption_rate.patch
+30_displayconfig_no_xorg_correct_detection.patch
+31_wineconfig_no_i18_on_keys.patch
+32_displayconfig_update_refresh_rate.patch
+33_displayconfig_add_new_video_cards.patch
+34_kde-powermanager_no_lid_special_behaviour_disable.patch

Deleted: kde-extras/guidance/trunk/debian/pyversions

Added: kde-extras/guidance/trunk/debian/pyversions
===================================================================
--- kde-extras/guidance/trunk/debian/pyversions	                        (rev 0)
+++ kde-extras/guidance/trunk/debian/pyversions	2008-06-10 14:27:30 UTC (rev 10939)
@@ -0,0 +1 @@
+2.4-

Modified: kde-extras/guidance/trunk/debian/rules
===================================================================
--- kde-extras/guidance/trunk/debian/rules	2008-06-10 12:53:45 UTC (rev 10938)
+++ kde-extras/guidance/trunk/debian/rules	2008-06-10 14:27:30 UTC (rev 10939)
@@ -36,7 +36,8 @@
 		$(PYSUPPORT_PATH)/displayconfig-hwprobe.py
 
 	# copy python modules in PYSUPPORT_PATH
-	cp $(DEB_DESTDIR)/usr/lib/python*/site-packages/*.py $(PYSUPPORT_PATH)
+	(for d in `ls -d $(DEB_DESTDIR)/usr/lib/python*`; do \
+		cp -f $$d/site-packages/*.py $(PYSUPPORT_PATH); done)
 	cp $(DEB_DESTDIR)/usr/share/apps/guidance/*.py $(PYSUPPORT_PATH)
 
         # fix script-not-executable
@@ -136,15 +137,6 @@
 	rm -f po/*.gmo
 	rm -f po/*.pot
 
-	# clean up edited .desktop etc files
-	if [ -f /usr/lib/kubuntu-desktop-i18n/createdesktop.pl ]; then \
-		sh /usr/lib/kubuntu-desktop-i18n/findfiles LIST; \
-		for file in `cat LIST`; do \
-			sed -i '/X-Ubuntu-Gettext-Domain=/d' $${file}; \
-		done; \
-		rm -f LIST; \
-	fi
-
 common-install-prehook-impl::
 	mkdir -p po
 	-XGETTEXT=/usr/bin/kde-xgettext EXTRACTATTR=/usr/bin/extractattr sh $(DEB_SRCDIR)/admin/cvs.sh extract-messages
@@ -152,26 +144,6 @@
 		sed "s/charset=CHARSET/charset=UTF-8/" -i $$file; \
 	done
 
-	# generate .po files for .desktop etc files
-	if [ -z $${KUBUNTU_DESKTOP_POT} ]; then \
-		KUBUNTU_DESKTOP_POT=$(DEB_SOURCE_PACKAGE); \
-	fi; \
-	echo KUBUNTU_DESKTOP_POT: $${KUBUNTU_DESKTOP_POT}; \
-	if [ -f /usr/lib/kubuntu-desktop-i18n/createdesktop.pl ]; then \
-		sh /usr/lib/kubuntu-desktop-i18n/findfiles LIST; \
-		cat LIST; \
-		perl /usr/lib/kubuntu-desktop-i18n/createdesktop.pl --file-list=LIST --base-dir=. > desktop.$${KUBUNTU_DESKTOP_POT}.tmp; \
-		msguniq --to-code=UTF-8 --no-wrap -o desktop.$${KUBUNTU_DESKTOP_POT} desktop.$${KUBUNTU_DESKTOP_POT}.tmp 2>/dev/null; \
-		python /usr/lib/kubuntu-desktop-i18n/msgsplit desktop.$${KUBUNTU_DESKTOP_POT}; \
-		mv desktop.$${KUBUNTU_DESKTOP_POT} po/desktop_$${KUBUNTU_DESKTOP_POT}.pot; \
-		rm -f desktop.$${KUBUNTU_DESKTOP_POT} desktop.$${KUBUNTU_DESKTOP_POT}.tmp; \
-		# add translation domain to files \
-		for file in `cat LIST`; do \
-			echo X-Ubuntu-Gettext-Domain=desktop_$${KUBUNTU_DESKTOP_POT} >> $${file}; \
-		done; \
-		rm -f LIST; \
-	fi
-
 get-orig-source-dpatch:
 	@@dh_testdir
 	@@[ -d ../tarballs/. ]




More information about the pkg-kde-commits mailing list