logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

seetxt/seeman ‐‐ GUI text file and manual page ("manpage") viewer for X windows.

Bottom Toggles And Text Entry

       There are five toggle buttons along the bottom of the see interface, two of which look like little  round
       lights  that blink green when set.  Click directly on the light to toggle it.  The left light toggles the
       server on and off (see SERVER MODE, below).  The right light sets a watch  on  the  current  file,  which
       means  it  will  be reloaded at an interval to include any new changes.  The default for this interval is
       ten seconds (see CONFIGURATION, below).

       NOTE: Files over a default 1 Mb are not reloaded ‐‐ they are tailed.  This means if  the  file  size  has
       increased,  an  amount equal to the difference will be taken from the end and added to the display.  That
       works fine if "the change" was an addition to the end (such as occurs with a normal  log).   But  if  you
       want  to monitor a very large text file for other (random) changes, you will have to adjust the default 1
       Mb limit, see CONFIGURATION.  This does not apply to man pages.  If the cursor is at the end of a watched
       file, the display should remain there even if the file has grown.

       The three buttons in the center, around the text entry, are controls for text  searching.   If  you  type
       something  into  the text entry and press enter, see will perform a "find all" style search, highlighting
       the term in yellow where found and moving the view to include the first instance.  You  can  now  advance
       the  cursor  to  the  next  instance  with ctrl‐n, and back to the previous instance with ctrl‐p.  If you
       toggle "push" and enter a new search term, all the instances of the last search will change to  a  purple
       highlight  and  the  new term will be yellow.  Reloading, or setting a watch which causes reloading, will
       erase the highlights.  Don't worry, there's a command history, making it easy to repeat searches by using
       the arrow keys in the text entry (this history is not shared or saved between invocations).

       Normally, searches are case‐insensitive.  To make the search case‐sensitive, toggle "case".   To  process
       the search term as a regular expression, toggle "regexp" (eg: to find "for" but not "foreach", search for
       "\bfor\b"  as  a  regexp).   These  are  POSIX style regular expressions, as with the "grep" command. The
       number to the left of the text entry shows the number of instances found in the last search.  You can use
       "ctrl‐/" to set focus to the text entry instead of clicking in it with the mouse.

       There are a few key combinations that may be useful in navigating the text area:  alt‐left or Home  moves
       to  the  beginning  of a line, alt‐right jumps 27 characters at a time, End moves to the end of the line.
       Ctrl‐home moves to the very beginning of the document, ctrl‐end to the very end.

Configuration

       See  does  not  require  any  configuration  to  work, although without it you may not be able to use all
       features.  An example configuration file is installed into INSTALLDIR/share/seetxt‐runtime (INSTALLDIR is
       set at build time, probably /usr/local if you built from source and didn't choose anything different,  or
       /usr  if  you installed from a pre‐built package).  Copy .seeconfig into your home directory and adapt it
       to your needs.  Field names are case insensitive and lines beginning with a # are ignored.  Configuration
       can affect the following:

       •   "text font" eg, "text font: helvetica 12"

       •   "dimensions" eg, "dimensions: 1200 800".  This is the dimensions of the text area in pixels.

       •   file  load  confirmation: normally, see asks you to confirm when a new file is to be loaded.  You can
           skip this by including "no confirm" on a line by itself.

       •   "seedata:" this is the location of a text file to store  mark‐up  and  bookmarks  in.  Eg.  "seedata:
           /home/user/seedata".   DO  NOT  USE  THE TILDE (~).  You can edit the seedata file, but be careful to
           follow the structure there: manpages require a section number in parentheses.  Versions prior to 0.70
           did not require this and you may have to add the section manually if your bookmarks for a page do not
           load with version 0.70+.  After that there is an asterisk separated list  of  line  numbers  for  the
           bookmarks.   The  first number is the number of bookmarks.  Then there can be an "R" (for red) and or
           "B" (for blue), with more asterisk separated integers.    These  are  pairs  of  character  positions
           (begin and end) for highlights.  For example, try inserting this into your seedata file:

           seetxt(1)*2*143*263*B*15226*15269*R*15464*15659*

           With  or  without  a  config  file, the first time you use see, it will create a seedata file for you
           (defaulting to ~/.seedata).  This is the only permanent  file  automatically  created  in  your  home
           directory. Also read the NOTE ABOUT SYMLINKS IN FILE PATHS under INVOCATION OPTIONS, above.

       •   "filelist:"  this is the location of a text file to keep the history of viewed files in.  It defaults
           to INSTALLDIR/share/seetxt‐runtime/filelist, which is world read/writable.  Multiple instances of see
           may share the same filelist; it is not locked or held open.

       •   "seesocket:" a path and name to use as the socket for the server; the default is  ~/.seesock  (again,
           do  not use a tilde).  The full length of this pathname cannot be more than 106 characters (this is a
           limitation of local unix sockets).  DO NOT ACTUALLY CREATE THIS FILE.

       •   "watch interval:" is the number of seconds between updates when a file is "watched" (using the  right
           side blinking toggle, see TOGGLES AND INTERFACE, above); the default is ten seconds. The light blinks
           at a constant rate unrelated to the watch time.

       •   "background:"  sets  the  text  area  background  color  (eg, "background: CornflowerBlue"). The text
           highlights used by see (red, blue, green, and cyan) are reasonably high contrast, but if you want  to
           adjust  the  background  for  any  reason  pick a color from /usr/share/X11/rgb.txt (except ones with
           spaces in the name), or use the hexbyte RGB format (eg, #ffffff).

       •   "tail at:" sets the file size boundary at which to use "tailing" rather than a  complete  reload,  in
           bytes.  (eg,  "tail  at: 5000000").  The default is 1000000.  See the NOTE at the beginning of BOTTOM
           TOGGLES, above.

       •   "copy to:" is a directory into which to place files from  a  "copy  out"  operation  (see  MAIN  MENU
           above).  Eg,  "copy  to:  /home/user/Desktop".   If  you  do not have a copy‐to directory, you cannot
           perform any copy‐outs.

       •   stderr redirection with the "execute" menu option (see  above).   To  turn  stderr  redirection  off,
           include "no redirect" on a line by itself.

       •   "editor:"  sets an editor command to use (eg, "editor: vim ‐‐remote"); see MAIN MENU above for a more
           detailed explanation.

       Incorrect values in your .seeconfig file may cause a malfunction o_O

Description

       Seetxt  and  seeman  (collectively:  "see")  are the same program, but the name used to call it indicates
       whether a man page or a regular text  file  is  being  loaded.   Subsequently,  the  invocation  name  is
       irrelevant ‐‐ the GUI can always be used to view both kinds of files.  See maintains document "meta‐data"
       independently  for  each  user,  allowing you to keep bookmarks and highlights for read‐only system files
       (including man pages) in a simple and intuitive  manner.   See  also  does  layered  finds,  hyper‐linked
       apropos searches, and can be set to monitor an existing file (such as a log) for changes.

       By  default,  see  runs in "server mode": command‐line requests will be sent to the running server rather
       than starting a new instance. This helps facilitate integration with file browsers, most of  which  allow
       you to register a command to use when viewing a text document.

       See  uses  the  titlebar  to  issue some program messages.  You can drag n' drop a text file from another
       application window into the text area to view it (this does not move or copy the file  anywhere,  and  is
       not applicable to man pages).

Errors

       Most error messages, either in the titlebar or a pop‐up, should be self‐explanatory.

       Short Read on file
              This can happen if you try to load a non‐text file, since see will stop at a  zero  byte,  meaning
              the amount of text read is less than the actual file length.

       Could not create temp file
              See uses your home directory for two very short lived possible temporary files, .seeTMP and .seeTP
              (these  should  never be left behind as garbage and you can erase them if you find them).  Without
              the permission to do this, functionality will be reduced.

       Unable to update filelist! (Error #3)
              This will only happen if see is able to read the filelist, but not write to it.  In that case  you
              either  need  to  change/add the "filelist:" entry in ~/.seeconfig or have the permission to write
              the file.  The default system wide file list should have been set mode  666  at  installation;  if
              not, your system administrator needs to "chmod 666" the filelist.

       Can't Validate Text (Error #4)
              There is a non‐utf8 character (something unprintable) in your file.

       Out of Memory
              Your computer will never run out of memory, I promise.

Invocation Options

       To  start "see" (or to send a request to the existing server), use either seetxt or seeman, then the file
       name, then any options.  The filename must be before the options. If no filename is given, a new instance
       of see is launched, even if there's a server running.  If the filename itself begins with  a  dash,  make
       sure to use the full path or "./".  You can also view out‐of‐path manual pages by using the full pathname
       or "./".  See will refer to such pages (in the filelist, etc.) as belonging to section "***".

       All options are a single character preceded by a dash.

       -ssection
              Used  to  indicate  a manual page section to use instead of the default, eg. "seeman printf -s 3".
              Do not use this with out‐of‐path manpages.

       -xterm
              See will perform an initial find‐all text search  for  "term",  highlighting  all  instances.   To
              search for a phrase, (ie, a term including spaces), enclose the term in quotation marks.

       -v     Show version.  This documentation is for version 0.72.

       -h     Show a helpful "usage" message.

       NOTEABOUTSYMLINKSINFILEPATHS: If you load a file in your current working directory with no path, see
       uses  the  real  path to that file.  However, if that directory is also symlinked, and you later load the
       file using a full path to the file withasymlinksomewhereinit, see will use that path.  This  matters
       with regard to the filelist and seedata (bookmarks/highlighting), since that information is saved by file
       name including the path, and a symlinked path will not match "the real one".

Name

seetxt/seeman ‐‐ GUI text file and manual page ("manpage") viewer for X windows.

Server Mode

       The only way to load a new file into a running instance of see (unless it's in the "file list", above) is
       to use drag n' drop, an apropos search (for manpages), or the server.

       "Server mode" allows you to send remote commands to see, primarily so that it can be included in the user
       menu of a file browser, operated by some other application, or operated from  a  command‐line.   EXAMPLE:
       To  use  see  with  GNOME's nautilus file browser, click "open with" on a text file in nautilus, select a
       custom command, and type "seetxt".  From now on, nautilus will offer you the option of viewing text files
       with seetxt.

       While the server is running, a green light on the left will be blinking, and any command line  invocation
       which  includes  a  filename or manpage will go to it (including requests from other applications such as
       your file browser).  Most web browsers work this way ‐‐ if you click on a link in your email  client,  it
       will appear in the running web browser and not launch another one.

       The  server uses a local socket which defaults to ~/.seesock but it can be set in the configuration file.
       If the server refuses to start for some reason, quit see and erase this socket file (it should only exist
       when a server is running).

       There can only be one server running at a time.  You can turn the server off  by  clicking  the  flashing
       indicator on the left side of the interface.

Synopsis

seetxt [textfile] [-x search term]
       seeman [manpage] [-s section] [-x search term]

See Also