Summary: | JJ: KInfoCenter should improve PCI view | ||
---|---|---|---|
Product: | [Unmaintained] kcontrol | Reporter: | Gustavo Sverzut Barbieri <barbieri> |
Component: | kcminfo | Assignee: | Helge Deller <deller> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | CC: | hannibal |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Improved pic info i info center
Improved PCI info in kinfocenter ver 2 latest patch with proposed fixes Latest patch Latest pciinfo patch |
Description
Gustavo Sverzut Barbieri
2004-09-01 19:47:18 UTC
Agreed - the PCI info should be enhanced. But instead of just parsing the lspci output in a different way, the KDE infocenter code should be rewritten to use the pciutils-devel package and scan the PCI bus itself. (see: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml) marked as Junior Job (http://dot.kde.org/1094109399/) Created attachment 16934 [details]
Improved pic info i info center
This patch (against 3.5.3) make changes in configure.in.in and Makefile.am so
it need rerun automake & friends (make -f Makefile.cvs).
Code isn't very nice and clear but it seems to work. Probably write this in
much cleaner way is impossible.
And now some comments about it.
Need to be check:
Automake addons - I don't know this at all, I write this copying some other
parts of configure.in from net and adapt it to situation.
CardBus bridge: - I don't have info about it, this is based only on lspci. Also
i haven't such hardware.
Capability VPD, MSI - I haven't hardware support this. So this is not tested.
All - My knowlege about PCI is limted so some terms maybe innacurate, and some
code complety wrong. However for my hardware info from it and lspci are
identical.
TODO:
Support for BSD and AIX - This is easy, but I don't do this since I cannot test
it.
Add rest of capabilities - I have no health to do that (search spec in net,
coding it,...), especially my hardware don't support them.
Better tree desing - If you don't like current, you may design it better. This
include including some icons.
Finding way to check where in system is pci.ids file. - Currently this path is
hardcoded to /usr/share/pci.ids. But on some system this can be in somwhere
else place. The easies way is including kde own pci.ids, but this is also worst
solution (redundancy).
No more such "easy" JJ ;)
Created attachment 16951 [details]
Improved PCI info in kinfocenter ver 2
This second version fix some non-root errors (not all PCI config space is
available to normal users). This is ugly fix, It should add message like in
font installer, whitch is using setUseRootOnlyMsg, but currently I'm
unsucessfull with adding it.
Only needed change is adding "X-KDE-RootOnly=true" in "pci.desktop". If you want patch with this change tell me ;) Also one TODO can be added: setUseRootOnlyMsg in KInfoListWidget constructor. This problably need some widget reordering becuase this message have half of screen (if visible). The patch is available almost a month. Any comments? WOW !! That's great and impressive work! I'll send you my general thoughts and ideas in a private mail now... Thanks, Helge Created attachment 17508 [details] latest patch with proposed fixes This is the latest patch by Hannibal <hannibal@megapolis.pl> Created attachment 17556 [details]
Latest patch
Use KDE_PACKED and I18N_NOOP, sugested on kde-core-devel.
Still has this one: +union pciInfo{ + unsigned char raw[256]; + struct { + unsigned short vendor; + unsigned short device; + union { + unsigned short command; + struct { + unsigned comIo:1; + unsigned comMemory:1; + unsigned comMaster:1; + unsigned comSpecial:1; + unsigned comInvalidate:1; + unsigned comVgaPalette:1; + unsigned comParity:1; + unsigned comWait:1; + unsigned comSerr:1; + unsigned comFastBack:1; + unsigned comInterrupt:1; + unsigned comUnk:5; + } __attribute__ ((packed)); + } KDE_PACKED; "__attribute__ ((packed));" should be replaced with "KDE_PACKED;". Created attachment 17938 [details]
Latest pciinfo patch
Fixed one left "__attribute__ ((packed))", thanks to Rafael.
Is there a reason this isn't being merged in? I know 3.5.6 is coming up... The main reason is that, 3.5.6 is comming up (15 january AFAIR) ;-). But the truth is that is lo interest in adding new functionality in 3.5.X branch. Especially this one, because of a lot strings to translate. It probably be in 4.0, if I found some time to port it, and someone want to add it. SVN commit 795596 by ternisien: Complete source rewrite/improvement of KInfocenter : - Complete port to KDE/Qt 4, no more use of QT3 Support - Simplify interface (remove multiple left tabs, add quick help in the top of the layout, use a KListWidgetSearchLine to filter by keywords and name) - Fix General Page (modules were not displayed), and allow user to select it from the left panel - Clean code and indentation structure - Remove big margins and useless layout/widgets to integrate KCMModule (request from Aaron Siego) - Memory module is now in a separate folder - Memory module has been rewritten, and the chart generation is now simpler. - Use color gradient and color scheme of System Monitor app (request from John Tapsell) - Use a default icon when the requested icon does not exist (request from David Jarvie) - Integrate patch from Konrad Rzepecki about improve PCI module by using libpci API. Add an optional dependency in CMake for this library FEATURE:88625 - The porting to KDE4 of all architecture may add some compilation errors (sorry, I have no AIX, HPUX, Solaris, SGI, FreeBSD, OpenBSD systems to test those source). However, some existing codes already did not compile. - Simplify source code by removing some part corresponding to the moment where KInfocenter and KControl were the same (it seems to). - Name and comments of each modules are now normalized. (even IOSlaves Info and Samba Status) CCMAIL:kde-core-devel@kde.org - Allow the future move of inner modules of kcm_info to a dedicated module (examples: Sound, X-Server, Partitions,...) TODO : - Improve Loading page layout - Port Partitions, Sound and Network Interfaces modules to Solid - Set my email as current maintainer M +0 -2 apps/CMakeLists.txt A apps/cmake/modules/FindPCIUTILS.cmake M +24 -16 apps/kinfocenter/CMakeLists.txt M +0 -6 apps/kinfocenter/about/kinfocenter.css M +5 -9 apps/kinfocenter/about/main.html M +96 -149 apps/kinfocenter/aboutwidget.cpp M +5 -11 apps/kinfocenter/aboutwidget.h A apps/kinfocenter/base (directory) A apps/kinfocenter/base/CMakeLists.txt A apps/kinfocenter/base/config-infocenter.h.cmake apps/kinfocenter/info/config-infocenter.h.cmake#794405 A apps/kinfocenter/base/info_aix.cpp [License: UNKNOWN] A apps/kinfocenter/base/info_fbsd.cpp [POSSIBLY UNSAFE: system,popen] [License: UNKNOWN] A apps/kinfocenter/base/info_generic.cpp [License: UNKNOWN] A apps/kinfocenter/base/info_hpux.cpp [POSSIBLY UNSAFE: popen] [License: UNKNOWN] A apps/kinfocenter/base/info_linux.cpp [License: UNKNOWN] A apps/kinfocenter/base/info_netbsd.cpp [POSSIBLY UNSAFE: popen] [License: Public Domain] A apps/kinfocenter/base/info_openbsd.cpp [POSSIBLY UNSAFE: popen] [License: Public Domain] A apps/kinfocenter/base/info_osx.cpp [License: GPL (v2+)] A apps/kinfocenter/base/info_sgi.cpp [License: UNKNOWN] A apps/kinfocenter/base/info_solaris.cpp [License: UNKNOWN] A apps/kinfocenter/base/info_svr4.cpp [License: UNKNOWN] A apps/kinfocenter/base/os_base.h [License: UNKNOWN] A apps/kinfocenter/base/os_current.cpp [License: UNKNOWN] A apps/kinfocenter/base/os_current.h [License: UNKNOWN] M +130 -199 apps/kinfocenter/dockcontainer.cpp M +47 -38 apps/kinfocenter/dockcontainer.h M +47 -77 apps/kinfocenter/global.cpp M +77 -56 apps/kinfocenter/global.h D apps/kinfocenter/helpwidget.cpp D apps/kinfocenter/helpwidget.h M +74 -109 apps/kinfocenter/indexwidget.cpp M +37 -36 apps/kinfocenter/indexwidget.h _M apps/kinfocenter/info (directory) M +19 -17 apps/kinfocenter/info/CMakeLists.txt D apps/kinfocenter/info/config-infocenter.h.cmake A apps/kinfocenter/info/info.cpp [License: UNKNOWN] M +7 -20 apps/kinfocenter/info/info.h D apps/kinfocenter/info/info_aix.cpp D apps/kinfocenter/info/info_fbsd.cpp D apps/kinfocenter/info/info_generic.cpp D apps/kinfocenter/info/info_hpux.cpp D apps/kinfocenter/info/info_linux.cpp D apps/kinfocenter/info/info_netbsd.cpp D apps/kinfocenter/info/info_openbsd.cpp D apps/kinfocenter/info/info_osx.cpp D apps/kinfocenter/info/info_sgi.cpp D apps/kinfocenter/info/info_solaris.cpp D apps/kinfocenter/info/info_svr4.cpp M +10 -17 apps/kinfocenter/info/main.cpp D apps/kinfocenter/info/memory.cpp D apps/kinfocenter/info/memory.desktop D apps/kinfocenter/info/memory.h D apps/kinfocenter/info/memory_fbsd.cpp D apps/kinfocenter/info/memory_hpux.cpp D apps/kinfocenter/info/memory_linux.cpp D apps/kinfocenter/info/memory_netbsd.cpp D apps/kinfocenter/info/memory_osx.cpp D apps/kinfocenter/info/memory_sgi.cpp D apps/kinfocenter/info/memory_solaris.cpp D apps/kinfocenter/info/memory_tru64.cpp D apps/kinfocenter/info/pci.desktop D apps/kinfocenter/kcrootonly.cpp D apps/kinfocenter/kcrootonly.h M +0 -12 apps/kinfocenter/kinfocenterui.rc M +63 -79 apps/kinfocenter/main.cpp M +19 -20 apps/kinfocenter/main.h A apps/kinfocenter/memory (directory) A apps/kinfocenter/memory/CMakeLists.txt A apps/kinfocenter/memory/Messages.sh A apps/kinfocenter/memory/base.h [License: UNKNOWN] A apps/kinfocenter/memory/chartWidget.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/chartWidget.h [License: GPL (v2+)] A apps/kinfocenter/memory/kcm_memory.desktop A apps/kinfocenter/memory/memory.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/memory.h [License: GPL (v2+)] A apps/kinfocenter/memory/memory_fbsd.cpp [POSSIBLY UNSAFE: popen] [License: UNKNOWN] A apps/kinfocenter/memory/memory_hpux.cpp [License: UNKNOWN] A apps/kinfocenter/memory/memory_linux.cpp [License: UNKNOWN] A apps/kinfocenter/memory/memory_netbsd.cpp [License: UNKNOWN] A apps/kinfocenter/memory/memory_osx.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/memory_sgi.cpp [License: UNKNOWN] A apps/kinfocenter/memory/memory_solaris.cpp [License: UNKNOWN] A apps/kinfocenter/memory/memory_tru64.cpp [License: UNKNOWN] A apps/kinfocenter/memory/physicalMemoryChart.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/physicalMemoryChart.h [License: GPL (v2+)] A apps/kinfocenter/memory/swapMemoryChart.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/swapMemoryChart.h [License: GPL (v2+)] A apps/kinfocenter/memory/totalMemoryChart.cpp [License: GPL (v2+)] A apps/kinfocenter/memory/totalMemoryChart.h [License: GPL (v2+)] D apps/kinfocenter/moduleIface.cpp D apps/kinfocenter/moduleIface.h D apps/kinfocenter/moduleiconview.cpp D apps/kinfocenter/moduleiconview.h M +74 -272 apps/kinfocenter/modules.cpp M +35 -86 apps/kinfocenter/modules.h M +99 -332 apps/kinfocenter/moduletreeview.cpp M +46 -62 apps/kinfocenter/moduletreeview.h M +1 -1 apps/kinfocenter/nics/CMakeLists.txt M +193 -208 apps/kinfocenter/nics/nic.cpp M +10 -15 apps/kinfocenter/opengl/CMakeLists.txt M +1 -2 apps/kinfocenter/opengl/opengl.desktop AM apps/kinfocenter/pci (directory) A apps/kinfocenter/pci/CMakeLists.txt A apps/kinfocenter/pci/Messages.sh A apps/kinfocenter/pci/kcm_pci.cpp [License: GPL (v2+)] A apps/kinfocenter/pci/kcm_pci.desktop A apps/kinfocenter/pci/kcm_pci.h [License: GPL (v2+)] A apps/kinfocenter/pci/pci.cpp [License: UNKNOWN] A apps/kinfocenter/pci/pci.h [License: UNKNOWN] A apps/kinfocenter/pci/pci_private.h [License: UNKNOWN] M +36 -283 apps/kinfocenter/proxywidget.cpp M +29 -45 apps/kinfocenter/proxywidget.h D apps/kinfocenter/quickhelp.cpp D apps/kinfocenter/quickhelp.h D apps/kinfocenter/searchwidget.cpp D apps/kinfocenter/searchwidget.h M +2 -0 apps/kinfocenter/solidproc/kcmsolidproc.desktop M +141 -402 apps/kinfocenter/toplevel.cpp M +7 -24 apps/kinfocenter/toplevel.h M +1 -1 apps/kinfocenter/usbview/CMakeLists.txt M +114 -137 apps/kinfocenter/usbview/kcmusb.cpp M +1 -1 apps/kinfocenter/usbview/kcmusb.desktop M +12 -18 apps/kinfocenter/usbview/kcmusb.h M +67 -107 apps/kinfocenter/usbview/usbdb.cpp M +11 -14 apps/kinfocenter/usbview/usbdb.h M +208 -240 apps/kinfocenter/usbview/usbdevices.cpp [POSSIBLY UNSAFE: scanf] M +39 -34 apps/kinfocenter/usbview/usbdevices.h D apps/kinfocenter/version.h M +1 -2 apps/kinfocenter/view1394/CMakeLists.txt M +230 -245 apps/kinfocenter/view1394/view1394.cpp M +31 -34 apps/kinfocenter/view1394/view1394.h M +1 -1 apps/kinfocenter/view1394/view1394widget.ui M +1 -1 runtime/kcontrol/infocenter/ioslaveinfo/ioslaveinfo.desktop WebSVN link: http://websvn.kde.org/?view=rev&revision=795596 |