TODO
Scratch pad of bugs, missing features, and misbehaviors collected while using tkpod.
BUGS
Tk::Pod
Ctrl-O Exporter does not work?!
What about the reported error on Suse Linux (see Tk-Pod entry on rt.cpan.org)? I can't reproduce this bug...
Dump does not always work on a RedHat 8.0 system, so I had to use a workaround. Also, Tk::Pod very often dumps core on this system in conjuction with perl5.8.0 and Tk800.025, but this might be a RedHat-related issue.
S<> seems often to be ignored. May be a core Tk::Text bug (i.e.
-wrap => "none"
in tags being sometimes ignored)For Windows: check whether Tk::More/Tk::Tree match the system background colors. Also check if the "Help" menu item is on the correct place.
maybe special handling for Tk::Pod::FindPods under Mac OS X is necessary (pod directory is /System/Library/Perl/pods)
Title is not displayed if function or FAQ pod in displayed in a new window or when navigating in the history back or forward to a function/FAQ pod.
$podtext->configure(-file => ...)
does not work always as expected. When set from a command line argument, then one expects to use the name of a module in perl's pod path (specified without .pm or .pod extension) or a (relative) path to a file (with extension). Example:cd ~/src/bbbike tkpod ESRI/esri2bbd.pl * now click on bbbike link => bbbike itself will be loaded, not bbbike.pod because of a -f test in findpod
Do not move focus if already in PodText's search entry.
The perlfunc subentries do not show up in the history.
Paragraphs after bullet and number items do not align correctly. Tweaking the _indent functionality in Tk::Pod::SimpleBridge seems to be necessary.
Tk::Pod::Tree
Make tree busy while building first time.
Tk::More
Highlight matches in link text.
tkpod
In server mode, no commandline options are accepted.
Get rid of the numerous warnings in server/client mode.
WISHLIST
Tk::Pod
History: prefer short pod names over filenames. Do not record temporary file names (as in perldoc -f / -q) in history view.
If "perlindex -index" is not run yet: ask user to run it? Problematic on Unix, because perlindex should be run as superuser.
On Windows: show printer selection dialog first, maybe also on KDE/GNOME, if available.
Optionally save settings on exit, e.g. current base font size.
New menu item: View Pod source (like Edit Pod, but using tkmore or Tk::More)
Marek Rouchal writes:
Subject: tkpod - other font
Fine, there is a central place where I can do adaptations easily - but how can I easily override? The only solution I can imagine right now is to place a Tk::Pod::Styles in some $PERL5LIB directory and shadow the installation's Tk::Pod::Styles; there could be e.g. a -usestyle Tk::Pod::Styles::Mine option, where I can provide my own package, which inherits from Tk::Pod::Styles and overrides one or more subs.
But I would appreciate a general solution with either a ~/.tkpodrc or the X resources, as already mentioned.
cleanup search interface to perlindex. Maybe patch Ulrichs TPJ example code for nroff pages to allow both POD and MAN.
add meaningful regression tests
use some kind of access control for the -s option
new menu entry with a link list (e.g. all L<...> and everything looking like a module /\w+::\w+/)
maybe put the removed WWWBrowser (as a new Launcher::WWW) code again to Tk::Pod::Text
make ManViewer into a standalone widget, link entries in "SEE ALSO"
option for interleaving POD and code
show "No documentation found for "..."" if there's no pod in the file (just like perldoc)
maybe you something selectable and copyable (e.g. Tk::ROText) in the About dialog
support for the new Pod::Index module (similar to the fulltext search)
some kind of stylesheet support
encoding support, especially for utf-8
It should probably be possible to create the menus Section and History independently of the main Tk::Pod frame, so the user may add these menus to the context menu of the PodText window.
Tk::More
Tk/More status bar: filename % line x
more 'more' like key bindings to Tk::More.
More.pm: search should scroll per page
search policies: regexp, glob, incremental (as in xmore) and 'normalized' as in perlindex. Should go into it's own Tk::Text::Util.pm module
after switching between case sensitive/insensitive highlightning should be updated immediately
scrolling is not as exact as it shoule be (i.e. scroll forw, then scroll back will not get to the same position as before)
use Tk::HistEntry for search entry
implement isearch
<Return> over a link opens the link (but this needs some kind of "current link" feature, probably by using <Tab> or similar to select the next link).
Tk::Pod::Cache
use a LRU cache with $MAX_CACHE documents
maybe do not cache small documents at all
store modtime of POD files and flush cache automatically if the file changed
Tk::Pod::Tree
Some zoom functionality, maybe depending on the zoom factor of the main window, and/or an additional menu entry.
Should I include something similar to perlfunc for perlfaq (perldoc -q)? Maybe a new menu item "Search FAQ"?
Implement
-rememberopen
inFill
method.Maybe categorize perl language pods like in suggested in http://www.perlmonks.org/index.pl?node_id=352893.