Both sides previous revisionPrevious revisionNext revision | Previous revision |
module:xtrn_sec [2020/11/11 07:59] – [External Programs Section] add info about pre/post module mlong | module:xtrn_sec [2020/12/06 14:32] (current) – [Configure] Add center option. digital man |
---|
The ''Xtrn Section'' module provides the "External Programs" (doors) menu for the [[:server:Terminal]] server users, and defaults to ''xtrn_sec.js''. | The ''Xtrn Section'' module provides the "External Programs" (doors) menu for the [[:server:Terminal]] server users, and defaults to ''xtrn_sec.js''. |
| |
The Pre Xtrn Prog module executes common functionality before any external program is launched. This includes things like setting fonts, displaying ANSI screens, clearing screen, and performing the eval_before_exec option. The module defaults to ''prextrn.js''. | The ''Pre Xtrn Prog'' module executes common functionality before any external program is launched. This includes things like setting fonts, displaying ANSI screens, clearing screen, and performing the eval_before_exec option. The module defaults to ''prextrn.js''. |
| |
The Post Xtrn Prog module is like the pre module, except it executes after an external program door is run. It performs the eval_after_exec option and defaults to ''postxtrn.js'' | The ''Post Xtrn Prog'' module is like the pre module, except it executes after an external program door is run. It performs the eval_after_exec option and defaults to ''postxtrn.js'' |
| |
===== Install ===== | ===== Install ===== |
| |
^ Option ^ Default ^ Description ^ | ^ Option ^ Default ^ Description ^ |
| multicolumn | true | Use a multiple-column program list when there are more than ''singlecolumn_height'' items | | | center | false | Center single-column program list in the user's terminal screen | |
| multicolumn_separator | " " | Separator displayed between columns of program names | | | multicolumn | true | Use a multiple-column program list when there are more than ''singlecolumn_height'' items. This will automatically set to false if screen_columns < 80 | |
| multicolumn_fmt | text[XtrnProgLstFmt] | Display format used for multiple columns | | | multicolumn_separator | " " | Separator displayed between columns of program names | |
| singlecolumn_fmt | (see source) | Display format used for single column | | | multicolumn_fmt | text[XtrnProgLstFmt] | Display format used for multiple columns | |
| singlecolumn_margin | 7 | Desired button margin (below program list), in rows | | | singlecolumn_fmt | "\x01h\x01c%3u \xb3 \x01n\x01c%s\x01h " | Display format used for single column | |
| singlecolumn_height | screen_rows - singlecolumn_margin | The maximum length of a single column list | | | singlecolumn_margin | 7 | Desired button margin (below program list), in rows | |
| header_fmt | text[XtrnProgLstHdr] | Program list header format | | | singlecolumn_height | screen_rows - singlecolumn_margin | The maximum length of a single column list | |
| titles | text[XtrnProgLstTitles] | Program list titles | | | header_fmt | text[XtrnProgLstHdr] | Program list header format | |
| underline | text[XtrnProgLstUnderline] | Underline string | | | titles | text[XtrnProgLstTitles] | Program list titles | |
| which | text[WhichXtrnProg] | Which prompt | | | underline | text[XtrnProgLstUnderline] | Underline string under the titles | |
| sort | false | Re-sort (alphabetically) the list of programs and program sections before displaying to the user | | | section_header_fmt | text[SelectItemHdr] | Header format for main section listing | |
| autoexec | false | Automatically execute a section's program when there is only one program available within that section | | | section_fmt | text[SelectItemFmt] | Display format used for section entries in main section listing | |
| clear_screen | true | Clear the screen before each program list | | | section_which | text[SelectItemWhich] | Which prompt for main section listing | |
| clear_screen_on_exec | false | Clear the screen before executing any/all programs | | | section_header_title | External Program Selection | Main section listing header text | |
| eval_before_exec | | Evaluate the specified JavaScript expression //before// executing any/all programs | | | which | text[WhichXtrnProg] | Which prompt | |
| eval_after_exec | | Evaluate the specified JavaScript expression //after// executing any/all programs | | | sort | false | Re-sort (alphabetically) the list of programs and program sections before displaying to the user | |
| restricted_user_msg | text[R_ExternalPrograms] | Message displayed users with X-[[access:restrictions]] | | | autoexec | false | Automatically execute a section's program when there is only one program available within that section | |
| no_programs_msg | text[NoXtrnPrograms] | Message displayed when there are no external programs available | | | clear_screen | true | Clear the screen before each program list/menu | |
| | clear_screen_on_exec | false | Clear the screen before executing any/all programs | |
| | eval_before_exec | | Evaluate the specified JavaScript expression //before// executing any/all programs | |
| | eval_after_exec | | Evaluate the specified JavaScript expression //after// executing any/all programs | |
| | restricted_user_msg | text[R_ExternalPrograms] | Message displayed users with X-[[access:restrictions]] | |
| | no_programs_msg | text[NoXtrnPrograms] | Message displayed when there are no external programs available | |
| | prompt_on_info | false | Display a yes/no prompt after displaying external program intro file | |
| | prompt_on_info_fmt | "\r\n\x01n\x01cDo you wish to continue" | Formatting for prompt_on_info yes/no prompt | |
| |
| |
| For all options that contain formatting, have the INI entry with a colon such as "name: value". For true/false, you can use the "=" format such as "name=value". |
| |
| Formatting options can contain escaped hexadecimal: "\x01" is Ctrl-A. |
===== Customize ===== | ===== Customize ===== |
| |
| |
* The auto-generated external program section list can be replaced by creating the optional file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_sec.*''. | * The auto-generated external program section list can be replaced by creating the optional file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_sec.*''. |
* Each program list can have an optional header displayed by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_num>_head.*''. | * The external program section list can have an optional header displayed by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_sec_head.*''. |
* Each auto-generated program list can be replaced by creating the optional file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_num>.*''. | * The external program section list can have an optional footer displayed by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_sec_tail.*''. |
| * Each program list can have an optional header displayed by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_num>_head.*'' or ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_code>_head.*''. |
| * You can create a global header across all menus by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_head.*'' |
| * Each auto-generated program list can be replaced by creating the optional file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_num>.*'' or ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_code>.*''. |
| * Each program list can have an optional tail section displayed by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_num>_tail.*'' or ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn<sec_code>_tail.*''. |
| * You can create a global tail across all menus by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn_tail.*'' |
* Each external program can have an optional file displayed before execution by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn/<code>.*'' | * Each external program can have an optional file displayed before execution by creating the file ''[[dir:text]]/[[custom:menu_files|menu]]/xtrn/<code>.*'' |
| |
; and <char> is the relevant character height. | ; and <char> is the relevant character height. |
; | ; |
; Note: you must utilize xtrn_sec.js rev 1.18 or later for this feature: | ; Note: you must utilize xtrn_sec.js rev 1.18 or later, or the Pre Xtrn Module for this feature: |
| |
[xtrn:lore:16] | [xtrn:lore:16] |
===== See Also ===== | ===== See Also ===== |
* [[:module:|Modules]] | * [[:module:|Modules]] |
| * [[config:modopts.ini|Module Options]] |
| |
{{tag>doors fonts javascript}} | {{tag>doors fonts javascript}} |
| |