Session Manager

From NARS2000
Revision as of 15:44, 12 July 2017 by WikiSysop (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Session Manager is similar to the one in APL+Win (which was modeled after an old product of mine, TallScreen).

Contents

Features

  • The cursor may move about the screen changing text as desired. If you press Enter on a line, the original text of that line is restored, the changed line is copied to a new line at the bottom of the screen buffer and executed.
  • Text may be selected with the mouse and copied using Ctrl-C or Copy from the Context (right-click) or Edit menus.
  • Text may be pasted into the Session Manager from various formats. If the source text is all Unicode, Ctrl-V or Paste from the Context or Edit menus may be used. If the source text includes APL characters in a format different from Unicode, try one of the options in the Paste APL choice from the Context or Edit menus. Text coming from the ISO Extended APL Standard, APL+Win, APL2, and PC/3270 is supported. If you know of other systems that use a character mapping not covered by these choices, please let us know by sending a message on one of the forums.
  • Multiple workspaces may be open at the same time by use of tabs along the top of the Session Manager window. Click on a tab to bring the corresponding workspace to the forefront.
  • Workspaces are saved as plain text ASCII files with an extension of .ws.nars.
  • To invoke the function editor, type or type )EDIT by itself, or type or )EDIT followed by a name, or double-right-click on a function name in the session manager or function editor windows.
  • The function editor supports a multilevel Undo. That is, pressing Ctrl-Z reverts back to the previous text.
  • Each function's undo buffer is saved with the function for reuse the next time that function is edited.
  • Every function's undo buffers are saved with the workspace for reuse on its next load.
  • The text entered in both the Session Manager and Function Editor is colored according to its content with respect to the syntax being used.
  • Alt-nnnn may be used to enter arbitrary Unicode characters in decimal. For example, Alt-9735 is a lightning bolt ().

APL Font

As NARS2000 is a Unicode-based program, you'll need an appropriate Unicode APL font to correctly display all of the characters. To that end, I've made an arrangement with Phil Chastney to bundle a version of his APL Unicode font SImPL called SImPL medium. From the NARS2000.zip file, extract the SImPL-Medium.ttf file to your Windows fonts directory. Note that this font is licensed for distribution with NARS2000 only. Other APL Unicode fonts likely will work well as long as they contain all of the characters we use such as infinity (), zilde (), circle-middle-dot (), dieresis-jot (), dieresis-tilde (), etc. Also, in order to display the circled numbers on the left of each workspace tab, you'll need a font like Code2000 which you can download from the 'net.

For more details about APL fonts, see here.

Keyboard Mapping

The mapping of APL characters to the keyboard is controlled by the end user and can be viewed from within NARS2000 through the menu "Edit | Customize... | Keyboards". Various national language keyboards are supported such as Danish, French, German, UK, and US.

For different look at the US keyboard, visit NARS2000 Keyboard.

Output Debugging

Sometimes the displayed output may appear oddly spaced. This may be due to several reasons one of which is the presence of non-printing ASCII characters (whose character code is in the range 0x00 to 0x1F, excluding CR and LF). For that case, you may turn on Output Debugging through the menu items Edit | Customize... | User Preferences. When enabled, this feature changes the way in which non-printing characters are displayed – instead of the normal behavior of ignoring them, those characters are displayed using a special font which displays each character with its four digit hex code inside a box. For example,

      32⍴⎕AV
? !"#$%&'()*+,
./0123456789:;<=>?