manual:chapter2:menus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:chapter2:menus [2019/11/29 15:56]
jojo1973 Reformatted
manual:chapter2:menus [2021/10/12 15:32] (current)
jojo1973 [The Vars Menu]
Line 1: Line 1:
 ===== Working with the menus ===== ===== Working with the menus =====
  
-==== General concepts ==== +**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.
- +
-**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 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.
Line 10: Line 8:
  
   * by itself;   * by itself;
-  * in //Left-Shift// mode; +  * in **Left-Shift** mode; 
-  * in //Left-Shift Hold// mode; +  * in **Left-Shift Hold** mode; 
-  * in //Right-Shift// mode; +  * in **Right-Shift** mode; 
-  * in //Right-Shift Hold// mode.+  * in **Right-Shift Hold** mode.
  
-There are system defined menus that are ready to be used, but the user can also create custom menus.+There are system defined menus that are ready to be used, but the user can also create [[manual:chapter7:custmenu|custom menus]].
  
-==== Using the menus Main, Active and Secondary 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 1but this can be customized. By contrast, the menu that is not the active menu is called the **secondary menu**.+==== Using the menus MAIN, active and secondary menus ====
  
-The main menu shows 6 tabs:+**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//.
  
-  * ''Math'' contains other math related sub-menus in various subjects; +The **MAIN** menu shows 6 tabs: 
-  * ''Lib'' contains sub-menu with all user installed libraries;+ 
 +  * ''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;   * ''Units'' contains sub-menus to work with units;
   * ''Prog'' contains sub-menus regarding RPL programming;   * ''Prog'' contains sub-menus regarding RPL programming;
Line 31: Line 31:
  
 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. 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.
 +
 +----
  
 ==== Navigating through sub-menus ==== ==== Navigating through sub-menus ====
  
-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.+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+For example, after pressing **P** to bring the **MAIN** menu, pressing
  
-  * **A** will show the ''Math'' sub-menu in Menu 1 and the main menu is no longer visible in Menu 1; +  * **A** will show the ''Math'' sub-menu in **MENU 1** and the **MAIN** menu is no longer visible in **MENU 1**
-  * **RS-A** will show the ''Math'' sub-menu in Menu 2, while Menu 1 still has the main menu available.+  * **RS-A** will show the ''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 **RS<sup>hold</sup>-M**. The last 8 sub-menus are remembered by the system, so it is possible to use this key to go back multiple times.+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 **RS<sup>hold</sup>-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 [[manual:chapter4:dirs|Directories and variable storage]]) rather than changing to a different sub-menu.+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 [[manual:chapter4:dirs|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''. 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.+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 ====+---- 
 + 
 +==== The Vars menu ====
  
 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. 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.
Line 57: Line 61:
 === At the stack === === At the stack ===
  
-Activating a tab in the ''Vars'' menu causes it to run ''[[manual:chapter6:operators:cmd_ovr_xeq|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, ''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]'' will instead run that  program. If the variable is a directory name, it will become the currently active directory.+Activating a tab in the ''Vars'' menu causes it to run ''[[manual:chapter6:operators:cmd_ovr_xeq|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, ''[[manual:chapter6:operators:cmd_ovr_xeq|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 ''[[manual:chapter6:dirs:cmd_rcl|RCL]]'' on the variable, resulting in the contents being recalled to the stack. Using the right shift with a tab (with or without holding it) causes it to run ''[[manual:chapter6:dirs:cmd_rcl|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 ''[[manual:chapter6:dirs:cmd_sto|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.+Using the left shift with a tab (with or without holding it) causes it to run ''[[manual:chapter6:dirs:cmd_sto|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**.
  
 === At the command line editor === === At the command line editor ===
Line 67: Line 71:
 Activating tabs while the command line editor is open has different effects depending on the [[manual:chapter2:cmdline#modes-of-operation|active mode of operation]]. Activating tabs while the command line editor is open has different effects depending on the [[manual:chapter2:cmdline#modes-of-operation|active mode of operation]].
  
-  * **Direct mode 'D'**: Activating the variable will close the editor as if the user had pressed **EN** then perform the same action as when at the stack (''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]'' when by itself, ''[[manual:chapter6:dirs:cmd_rcl|RCL]]'' with right shift and ''[[manual:chapter6:dirs:cmd_sto|STO]]'' with left shift); +  * **Direct mode**: activating the variable will close the editor as if the user had pressed **EN** then perform the same action as when at the stack (''[[manual:chapter6:operators:cmd_ovr_xeq|XEQ]]'' when by itself, ''[[manual:chapter6:dirs:cmd_rcl|RCL]]'' with right shift and ''[[manual:chapter6:dirs:cmd_sto|STO]]'' with left shift); 
-  * **Programming mode 'P'**: When pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the quoted name and ''[[manual:chapter6:dirs:cmd_rcl|RCL]]'', while using it with left shift will insert the quoted name and ''[[manual:chapter6:dirs:cmd_sto|STO]]''; +  * **Programming mode**: when pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the quoted name and ''[[manual:chapter6:dirs:cmd_rcl|RCL]]'', while using it with left shift will insert the quoted name and ''[[manual:chapter6:dirs:cmd_sto|STO]]''; 
-  * **Algebraic mode 'A'**: When pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the contents of the variable in the editor, while using it with left shift will close the command line and perform ''[[manual:chapter6:dirs:cmd_sto|STO]]''.+  * **Algebraic mode**: when pressed by itself, the unquoted name of the variable will be inserted in the editor. Using it with right shift will insert the contents of the variable in the editor, while using it with left shift will close the command line and perform ''[[manual:chapter6:dirs:cmd_sto|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. 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.
Line 79: Line 83:
 To go directly to the home directory, the ''[[manual:chapter6:dirs:cmd_home|HOME]]'' command (also always accessible at **LS<sup>hold</sup>-UP**) is used. To go directly to the home directory, the ''[[manual:chapter6:dirs:cmd_home|HOME]]'' command (also always accessible at **LS<sup>hold</sup>-UP**) is used.
  
-==== Customizing the menus ====+----
  
-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.+==== Customizing the menu areas ====
  
-The active menu is controlled by flag [[manual:appendix:flags#flag-11|-11]], set whenever Menu 2 is active. Named flags also exist to control this behavior. ''%%'ACTIVEMENU2'%% [[manual:chapter6:flags:cmd_sf|SF]]'' will set Menu 2 as the active oneUsing '' %%'ACTIVEMENU1'%% [[manual:chapter6:flags:cmd_sf|SF]]'' will set Menu as active.+The **MAIN** menu is always displayed in the currently active menuTo 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**.
  
-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 [[manual:appendix:flags#flag-15|-15]] and [[manual:appendix:flags#flag-16|-16]].+The active menu is controlled by flag [[manual:appendix:flags#flag-11|-11]], set whenever **MENU 2** is active. Named flags also exist to control this behavior. ''%%'ACTIVEMENU2'%% [[manual:chapter6:flags:cmd_sf|SF]]'' will set **MENU 2** as the active one. Using ''%%'ACTIVEMENU1'%% [[manual:chapter6:flags:cmd_sf|SF]]'' will set **MENU 1** as active.
  
-To gain more real estate space on the display the user can hide Menu 2: this is achieved setting flag [[manual:appendix:flags#flag-13|-13]].+In any moment the contents of the menu areas can be swapped, either via the **ON<sup>hold</sup>-J** keypress or the ''[[manual:chapter6:flags:cmd_menuswap|MENUSWAP]]'' command. 
 + 
 +To gain more real estate space on the display the user can toggle **MENU 2** on or off pressing **ON<sup>hold</sup>-J<sup>hold</sup>**; there is no specific flag to control the display of **MENU 2** ((however, the instruction ''"J.OH.L" [[manual:chapter6:ui:cmd_keyeval|KEYEVAL]]'' will do the trick!)): anyway, in order to check whether **MENU 2** is visible or not, a program can test flag [[manual:appendix:flags#flag-13|-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 [[manual:appendix:flags#flag-15|-15]] and [[manual:appendix:flags#flag-16|-16]].
  • manual/chapter2/menus.1575071786.txt.gz
  • Last modified: 2019/11/29 15:56
  • by jojo1973