@node Point and click @appendix Point and click @cindex point and click @cindex source specials @cindex specials, source Point and click lets you find notes in the input by clicking on them in the Xdvi window. This makes it easier to find input that causes some error in the sheet music. To use it, you need the following software: @itemize @bullet @item a dvi viewer that supports src specials. The most obvious choice is Xdvi@footnote{KDVI also provides src @cindex Xdvi @cindex KDVI @cindex KDE specials, but does not use the kpathsea library, so it cannot find LilyPond font and PostScript library files.}, version 22.36 or newer. It is available from @uref{ftp://@/ftp@/.math@/.berkeley@/.edu/@/pub/@/Software/@/TeX/@/xdvi@/.tar@/.gz, ftp@/.math@/.berkeley@/.edu}. Most @TeX{} distributions ship with @command{xdvik}, which is always a few versions behind the official Xdvi. To find out which Xdvi you are running, try @code{xdvi -version} or @code{xdvi.bin -version}. @item an editor with a client/@/server interface (or a lightweight GUI editor): @cindex editor @itemize @minus @item Emacs. Emacs is an extensible text editor. It is available from @uref{http://@/www@/.gnu@/.org/@/software/@/emacs/}. You need version 21 to use column location. @c move this elsewhere? @cindex Emacs @cindex Emacs mode @cindex lilypond-mode for Emacs @cindex syntax coloring @item XEmacs. XEmacs is very similar to Emacs. @cindex XEmacs @item NEdit. NEdit runs under Windows and Unix. It is available from @uref{http://@/www@/.nedit@/.org}. @cindex NEdit @item GVim. GVim is a GUI variant of VIM, the popular VI clone. It is available from @uref{http://@/www@/.vim@/.org}. @cindex GVim @cindex Vim @item jEdit. jEdit is an editor written in Java with extensive plug-in support. The LilyPond plugin for jEdit comes with an DVI viewer, which is preconfigured for point-and-click. @cindex jEdit @end itemize @end itemize Xdvi must be configured to find the @TeX{} fonts and music fonts. Refer to the Xdvi documentation for more information. To use point-and-click, add one of these lines to the top of your @file{.ly} file: @example #(ly:set-point-and-click 'line) @end example @cindex line-location When viewing, Control-Mousebutton@tie{}1 will take you to the originating spot in the @file{.ly} file. Control-Mousebutton@tie{}2 will show all clickable boxes. If you correct large files with point-and-click, be sure to start correcting at the end of the file. When you start at the top, and insert one line, all following locations will be off by a line. @cindex Emacs For using point-and-click with Emacs, add the following In your Emacs startup file (usually @file{~/@/.emacs}): @example (server-start) @end example Make sure that the environment variable @var{XEDITOR} is set to @example emacsclient --no-wait +%l %f @end example @cindex @var{XEDITOR} If you use XEmacs instead of Emacs, insert @code{(gnuserve-start)} in your @file{.emacs} file, and set @code{XEDITOR} to @code{gnuclient -q +%l %f}. For using Vim, set @code{XEDITOR} to @code{gvim --remote +%l %f}, or use this argument with Xdvi's @code{-editor} option. @cindex NEdit For using NEdit, set @code{XEDITOR} to @code{nc -noask +%l %f}, or use this argument with Xdvi's @code{-editor} option. If can also make your editor jump to the exact location of the note you clicked. This is only supported on Emacs and VIM. Users of Emacs version 20 must apply the patch @file{emacsclient.patch}. Users of version 21 must apply @file{server.el.patch} (version 21.2 and earlier). At the top of the @code{.ly} file, replace the @code{set-point-and-click} line with the following line: @example #(ly:set-point-and-click 'line-column) @end example @cindex line-column-location and set @code{XEDITOR} to @code{emacsclient --no-wait +%l:%c %f}. Vim users can set @code{XEDITOR} to @code{gvim --remote +:%l:norm%c| %f}.