“J.OH.L” KEYEVAL
will do the trick!newRPL has two independent menus at all times on the screen, from now on referred to as MENU 1 and MENU 2. Each menu has 6 tabs, each associated with a corresponding key on the keyboard. Keys A through F correspond to MENU 1, and keys G through L are associated with MENU 2. On the screen, MENU 1 is the top row, while MENU 2 is organized in 2 rows of 3 tabs (second and third rows). The layout of the menu on the screen mimics the layout of the corresponding keys on the keyboard.
Each tab on a menu may contain anything: a system command, a program written by the user, variables. Tabs perform an action when their associated key is pressed. When a menu key is pressed in a shift or shift-hold combination, different actions are performed.
Each tab can therefore perform up to 5 different actions depending on how the user activates the key:
There are system defined menus that are ready to be used, but the user can also create custom menus.
newRPL's MAIN menu is activated with the key P. Pressing it will display the MAIN menu in the so-called active menu. By default the active menu is MENU 1, but this can be customized. By contrast, the menu that is not the active menu is called the secondary menu.
The MAIN menu shows 6 tabs:
Math
contains math related sub-menus in various subjects;Symb
contains sub-menus to manipulate symbolic expressions;Units
contains sub-menus to work with units;Prog
contains sub-menus regarding RPL programming;System
contains various system settings, flags and various hardware and user interface commands;Vars
shows the variables in the current directory.Tabs that will open a sub-menu always have the first letter grayed out, while tabs that activate a command or other objects don't.
Activating any tab in the MAIN menu will change the active menu into the corresponding sub-menu. In the MAIN menu, activating a tab using any shift or shift-hold combination will display the sub-menu in the secondary menu.
For example, after pressing P to bring the MAIN menu, pressing
Math
sub-menu in MENU 1 and the MAIN menu is no longer visible in MENU 1;Math
sub-menu in MENU 2, while MENU 1 still has the MAIN menu available.To go back to a previous menu in MENU 1, use RS-M key. To go back to a previous menu in MENU 2, use RShold-M. The last 8 sub-menus are remembered by the system, so it is possible to use this key to go back multiple times.
All sub-menus of the MAIN menu behave as described above, with a notable exception. The Vars
sub-menu is somewhat different, since it displays user variables rather than commands; tabs with the first letter grayed out are directories. Activating a directory changes the current directory (see Directories and variable storage) rather than changing to a different sub-menu.
Changing to a different directory doesn't affect the fact that the same Vars
menu is being displayed. Therefore, the RS-M shortcut doesn't go back to the previous directory (which might be the expected behavior) but goes to the sub-menu that was active before Vars
.
When a menu needs more than 6 tabs, the last tab becomes NXT…
. An example can be found by going into the Units
sub-menu in the MAIN* menu. Activating NXT…
shows other 5 tabs, and pressing it repeatedly will cycle through all the available tabs in a menu. Using any shift with NXT…
will show the previous 5 tabs, and pressing it repeatedly will cycle through tabs in the opposite direction.
The Vars
menu shows variables and directories, and is therefore quite useful: the user is expected to spend most of the time with Vars
displayed in one of the menus. Tabs with the first letter grayed out are directories, while all other tabs are variables.
Activating a tab with a variable has various effects, depending on when it's being used.
Activating a tab in the Vars
menu causes it to run XEQ
on its contents. In most cases, this results in the contents being recalled to the stack. However, if the variable contains an RPL program, XEQ
will instead run that program. If the variable is a directory name, it will become the currently active directory.
Using the right shift with a tab (with or without holding it) causes it to run RCL
on the variable, resulting in the contents being recalled to the stack.
Using the left shift with a tab (with or without holding it) causes it to run STO
, storing whatever is in level 1 of the stack into the variable. The contents of the variable will be overwritten and there is no confirmation message, so it must be used with caution.
Activating tabs while the command line editor is open has different effects depending on the active mode of operation.
STO
.Regardless of the active mode, holding right shift and activating the tab will always insert the content of the variable in the editor. If the variable is a directory, instead of inserting its contents it will insert its name.
Activating a tab with a directory without any shift will always change the current directory without affecting the editor, allowing the user to navigate through directories while editing text.
While the Vars
menu allows the user to enter into sub-directories, it does not provide any means to exit back into the parent directory. This is achieved with the UPDIR
command (always accessible through the keyboard shortcut LS-UP).
To go directly to the home directory, the HOME
command (also always accessible at LShold-UP) is used.
The MAIN menu is always displayed in the currently active menu. To change the currently active menu, activate the MAIN menu then go into System
/ Settings
/ Flags
. There is a tab that reads either 1MENU
or 2MENU
indicating which menu is currently active. Activate the tab and the currently active menu will alternate between MENU 1 and MENU 2. When this tab indicates 2MENU
, pressing P to invoke the MAIN menu will display it in MENU 2.
The active menu is controlled by flag -11, set whenever MENU 2 is active. Named flags also exist to control this behavior. 'ACTIVEMENU2' SF
will set MENU 2 as the active one. Using 'ACTIVEMENU1' SF
will set MENU 1 as active.
In any moment the contents of the menu areas can be swapped, either via the ONhold-J keypress or the MENUSWAP
command.
To gain more real estate space on the display the user can toggle MENU 2 on or off pressing ONhold-Jhold; there is no specific flag to control the display of MENU 2 1): anyway, in order to check whether MENU 2 is visible or not, a program can test flag -13 which is set when MENU 2 is hidden.
Menus are normally displayed with a black background, but the user can as well select to display them in a white background. This behavior is controlled by flags -15 and -16.