=head1 TODO
Scratch pad of bugs, missing features, and misbehaviors collected
while using tkpod.
=head2 BUGS
=head3 Tk::Pod
=over
=item *
Ctrl-O Exporter does not work?!
=item *
What about the reported error on Suse Linux (see Tk-Pod entry on
rt.cpan.org)? I can't reproduce this bug...
=item *
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.
=item *
SE<lt>E<gt> seems often to be ignored. May be a core Tk::Text bug (i.e.
C<< -wrap => "none" >> in tags being sometimes ignored)
=item *
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.
=item *
maybe special handling for Tk::Pod::FindPods under Mac OS X is
necessary (pod directory is /System/Library/Perl/pods)
=item *
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.
=item *
C<< $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
=item *
Do not move focus if already in PodText's search entry.
=item *
The perlfunc subentries do not show up in the history.
=item *
Paragraphs after bullet and number items do not align correctly.
Tweaking the _indent functionality in Tk::Pod::SimpleBridge seems to
be necessary.
=back
=head3 Tk::Pod::Tree
=over
=item *
Make tree busy while building first time.
=back
=head3 Tk::More
=over
=item *
Highlight matches in link text.
=back
=head3 tkpod
=over
=item *
In server mode, no commandline options are accepted.
=item *
Get rid of the numerous warnings in server/client mode.
=back
=head2 WISHLIST
=head3 Tk::Pod
=over
=item *
History: prefer short pod names over filenames. Do not record
temporary file names (as in perldoc -f / -q) in history view.
=item *
If "perlindex -index" is not run yet: ask user to run it? Problematic
on Unix, because perlindex should be run as superuser.
=item *
On Windows: show printer selection dialog first, maybe also on
KDE/GNOME, if available.
=item *
Optionally save settings on exit, e.g. current base font size.
=item *
New menu item: View Pod source (like Edit Pod, but using tkmore or Tk::More)
=item *
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.
=item *
cleanup search interface to perlindex. Maybe patch Ulrichs TPJ example
code for nroff pages to allow both POD and MAN.
=item *
add meaningful regression tests
=item *
use some kind of access control for the -s option
=item *
new menu entry with a link list (e.g. all LE<lt>...E<gt> and everything
looking like a module /\w+::\w+/)
=item *
maybe put the removed WWWBrowser (as a new Launcher::WWW) code again
to Tk::Pod::Text
=item *
make ManViewer into a standalone widget, link entries in "SEE ALSO"
=item *
option for interleaving POD and code
=item *
show "No documentation found for "..."" if there's no pod in the file
(just like perldoc)
=item *
maybe you something selectable and copyable (e.g. Tk::ROText) in the
About dialog
=item *
support for the new Pod::Index module (similar to the fulltext search)
=item *
some kind of stylesheet support
=item *
encoding support, especially for utf-8
=item *
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.
=back
=head3 Tk::More
=over
=item *
Tk/More status bar: filename % line x
=item *
more 'more' like key bindings to Tk::More.
=item *
More.pm: search should scroll per page
=item *
search policies: regexp, glob, incremental (as in xmore)
and 'normalized' as in perlindex. Should go into it's own
Tk::Text::Util.pm module
=item *
after switching between case sensitive/insensitive highlightning
should be updated immediately
=item *
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)
=item *
use Tk::HistEntry for search entry
=item *
implement isearch
=item *
<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).
=back
=head3 Tk::Pod::Cache
=over
=item *
use a LRU cache with $MAX_CACHE documents
=item *
maybe do not cache small documents at all
=item *
store modtime of POD files and flush cache automatically if the file
changed
=back
=head3 Tk::Pod::Tree
=over
=item *
Some zoom functionality, maybe depending on the zoom factor of the
main window, and/or an additional menu entry.
=item *
Should I include something similar to perlfunc for perlfaq (perldoc
-q)? Maybe a new menu item "Search FAQ"?
=item *
Implement C<-rememberopen> in C<Fill> method.
=item *
Maybe categorize perl language pods like in suggested in
L<http://www.perlmonks.org/index.pl?node_id=352893>.
=back