Jarnal - Startup
     
    by David K. Levine
    
    Startup
    
    The command line format is java -jar jarnal.jar
      [options]
        [file_to_open]. 
          Several command line options are supported
        
    
      - -ico uses text labels for buttons
          rather than images; workaround for broken java on chromebooks
- -t filename opens the file as a template so it will not be
          accidentally overwritten when saving
- -b filename opens filename as a background file
- -bb filename similar to -b except that if a file that
          begins with filename and ends with .jaj exists in
          the same directory, that file will be opened instead of opening
        filename as a background file.
- -text filename opens filename as a text file
- -m filename opens filename as a metadata file; meta data files
          are described below
- -n do not show the menu bar
- -p restore window to previous position of file/template on the
          screen
- -pnxm restore window to the absolute position nxm ignoring
          whatever the saved position might be
- -l filename load filename as an "extra" file to be stored in the
          .jaj file (this option may be specified more than once)
- -g use an external renderer such as ghostscript or xpdf
          to render pdf
- -sg use a silent external renderer. Similar to -g except
          that if the renderer fails, instead of popping up a message and
          switching to the internal renderer, the internal render is used for
          the current page only without a message. Useful if you use ghostscript
          with documents that have bad pdf.
- -mini supercedes all other command lines switches to
          open a mini-jarnal suitable for copying recognized text to the
          clipboard
- -pen starts in pencentric mode (pencentric mode is
          deprecated with the advent of soft keyboards)
- -s filename sets the name and directory the file will be saved in
- -fs start up full-screen
- -pdf filename converts the .jaj file into a pdf file called
          filename from the command line without opening the gui. You may use -
          for the filename in which case if the .jaj file is called fname.jaj
          the pdf file will be called fname.pdf. Note that the print options
          should already be set in the .jaj file. Note also that to run jarnal
          under linux you must have an xserver running. If you are running
          without one, install the dummy xserver Xvfb and use the command Xvfb :1 -screen 0 10x10x8 -pixdepths 1
          &export DISPLAY=:1.0 ; java -Xmx192m -jar jarnal.jar -pdf -
          whatever.jaj making sure to kill
              Xvfb when you are done.
- -javagui overrides native look and feel
- -confdir the jarnalshell.conf file goes there rather than in the
          user home directory.
- -connect hostname:port immediately initiates a collaborative
          session to the server operating on port at hostname.
- -lang language override the computer language setting to set a
          specific language for the GUI; currently supported languages EN
        (English), DE (German), ES (Spanish), EU (Basque), FR (French), IT
        (Italian), JA (Japanese), NL (Duitch)
- -large use large toolbar icons suitable for touchscreen
- -mousecursor replaces the small drawing dot cursor with a large
          pen suitable for drawing with the mouse
- -multitouch If
            you click (leaving a dot) and then either escape or use the up or
            down key the dot will be erased. This works around a bug with the
            Ubuntu uTouch ginn program which sends a mouse click before every
            multitouch gesture.
- -startServer start
            the server on the default port 1189
- -connectPresentation
          connect to the server specified in -connect or if no
            server is specified connect to localhost on port 1189. Take control
            of the server, send it to fullscreen and lock pages.
If filename
      begins with
      http:// the file will be downloaded from the url rather than loaded
      from the local filesystem.
    MetadataFiles:
                A metadata file is a text file containing command line options
                plus
                other options. Here is a sample
    [Globals]
                jarnalFile=http://localhost/main/docs/newfiles/hi.jaj
      templateFile=http://localhost/main/docs/newfiles/hi.jaj
      netServer=http://localhost/workshops/testup.php3
      netSaveName=myfile.jaj
      backgroundFile=whatever
      URLEncode=false
      email=one@a.com, John <john@b.com>
      
                  [Net Options]
                  infile=$$jarnal
                
    The format is the usual .ini file format. There are two
      sections
      in the metadata file [Globals]
      and
      [Net Options]. The [Net
        Options] section
      will be used as the default
      Network Save Options, to send information
      back to a
      server. The
      [Globals] section supports the following
      keys:
    
    
      - jarnalFile
          to open
- templateFile to open
- backgroundFile to open
- email list of email addresses
 
- loadFile an "extra"
          file to be saved in the
          .jaj zip; you may specify as many as you like
 
- netServer
          to send network saves to
- netSaveName sets the
          network save name
-  promptForNetSaveName whether
              if the network
              save name is not set and the user attempts to exit a prompt to set
              the
              network save name will be issued 
 
- URLEncode whether
                  data going back
                  to the server should be urlencoded - see below
- showMenu
                  set to false
                  is the same as command line switch -n
 
- setLocation
                  set to
                  true is the same as command line switch -p
 
The
      intended usage is that a web server can generate a metadata file on the
      fly instructing jarnal what file to download and open, and where the
      server is so that the file can be saved back to the server.
    
      Applet Parameters:
      The applet
      uses parameters to set the metadata. The parameters
          pn
          where n
          is an integer, and
          the parameters are numbered sequentially starting with 0 become [Net
            Options]. For example the
          jarnal-demo.htm file
          uses the following (you can view the source by clicking on the files
          and viewing the code in your browser).
          
          <applet code="jarnal/Jarnal" archive="jarnal.jar"
            width="20"
            height="20">
            <param  name=netServer 
            value="http://www.dklevine.com/workshops/jarnal.php3">
            <param  name=p0  value="just=a test">
            <param  name=p1 
            value="infile=$$snapshot">
            </applet>
          
          
          This will cause the network save function
          to send a jpg
          snapshot under the name infile to the php script http://www.dklevine.com/workshops/jarnal.php3.
Note
          that due to java security restrictions, this script will work only
          if loaded from www.dklevine.com.
          
          All keys that can appear in metafiles can appear as applet parameters.
          In addition three additional keys are supported
        
    
      - metaFile load the specified metaFile
- embed if set to true
          the applet will be
          embedded in the web page rather than appearing in a separate window
- showGUI if set to
          true the entire GUI will be
          available, and the applet will behave the same way as the application.
          This must be used with caution. The applet can only interact with the
          server it was loaded to, and cannot access the local file system or
          clipboard. By default these options are disabled. However, if the
          applet is signed, it can be given access to the full resources
          available on the computer. The showGUI parameter is intended to be set
          only when the applet is signed.
- loadFile should be
          specified as loadFilen
          where each file is
          assigned a different integer n
 
Priorities: When
          opened as an
          application, parameters can be read from several locations.
        
    1. Either a template or a
            file can be opened, but
            not both, and no more than one of each should be specified. If both
            a
            template and a file to open are specified, whichever appears last on
            the command line is used; if a template was specified, the whichever
            file is used is treated as a template. If a metadatafile is used,
            the background, template and file replace those specified on the
            command line. The template in a metadatafile always has priority
            over
            opening a file. The first encountered file is used. Files specified
            in
            a metadata file have priority over files specified by applet
            parameters.
          
    2. Only one background file
            should be specified as
            an option at loading; it is added to whatever backgrounds already
            exist
            in the file. The background in the file or
            template that is opened
            takes priority over that specified in the metadatafile or the
            command
            line. On the command line, the last encountered background file is
            used; in a metadata file the first encountered background file is
            used.
          
    3. It is not regarded as an error to
          have duplicate
          network save parameters in different locations; since network save
          parameters are stored in the .jaj file, when a metadata file is loaded
          from the network, it will generally duplicate parameters stored in the
          loaded file. The parameters in the metadata file take precedence.
          applet parameters get second priority, and parameters in the file get
          least priority. Metadata variables ([Network Options]) are combined
          with those from the applet, and the two together replace any variables
          in the file.