Version: (using KDE KDE 3.3.0) Installed from: Gentoo Packages OS: Linux some kinfocenter modules/views are good, but some are really bad. One module that should be improved is PCI. It's only the lspci dump, it should be parsed and displayed in a more human readable form.
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