Man page documentation plugin

Milian Wolff mail at milianw.de
Thu May 2 23:46:59 UTC 2013


On Friday 03 May 2013 00:29:30 Sven Brauch wrote:
> Hi!
> 
> I recently started to notice some quasi-freezes (UI redraws but
> doesn't accept events) when moving the mouse over certain declarations
> such as QString. I poked around a bit, and tracked this behaviour down
> to be caused by the man page plugin. Indeed, for me, calling e.g.
> rekonq 'man:(3)/QString'
> tries loading the page for several seconds (then decides to launch
> chromium, erm, whatever). [1]
> 
> That's just sides notes however, the real two problems are those:
> 
> 1) Why does the man page plugin show man pages for QString? Maybe it
> should be disabled if there's other documentation found for the object
> (or is it and I'm just stupid)? Is there an easy way to do that (an
> interface which tells whether documentation exists for an object or
> so)?
> 
> 2) The kio slave is being exec()'d. That is nonsense, in my opinion,
> because even for non-broken pages it might take up to several seconds
> for the man page to be formatted and loaded. It should be used
> asynchroneously, as it is designed to be used. I can fix that, but it
> involves some restructuring and for that I need to know how the man
> page plugin is actually *supposed* to work, which I couldn't yet
> figure out: What exactly is it supposed to do? Should it show man
> pages in the navigation widget, or just in the sidebar (and a link to
> that in the nav widget)?

I noticed that myself a few months ago. It is just one more place in the KDev* 
code base that is just badly designed in that regard. Writing a sync API is 
always simpler but it is seldom the right choice. But sadly nearly every part 
of KDevPlatform is - in some degree of another - syncronously (like project 
loading, code completion, documentation, ...).

If you want to tackle this task, be my guest. But expect it to be lots of work 
as you'll have to touch all documentation plugins. Last time I looked at it, 
it looked like quite a big task. Which is also probably the reason why most 
API is sync to begin with - its just so much easier to implement that.

Cheers

/me who really wants to have time to hack on kdev again :(
-- 
Milian Wolff
mail at milianw.de
http://milianw.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130503/94d674bc/attachment.sig>


More information about the KDevelop-devel mailing list