Synchronet v3.20d-Win32 (install) has been released (Mar-2025).

You can donate to the Synchronet project using PayPal.

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
module:xtrn_sec [2020/11/11 08:18] – [Fonts] mention pre xtrn mlongmodule:xtrn_sec [2025/04/19 19:15] (current) – indent_list_item renamed to align_prog_list, added align_section_list option digital man
Line 34: Line 34:
  
 ^ 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 | +| align_prog_list        | false   | Use with ''multi/singlecolumn_fmt'' strings which don't contain padded integer specifiers 
-| underline              |  text[XtrnProgLstUnderline]  | Underline string | +| header_fmt             | text[XtrnProgLstHdr]  | Program list header format | 
-| which                  |  text[WhichXtrnProg]  | Which prompt | +| titles                 | text[XtrnProgLstTitles]  | Program list titles | 
-| sort                    false  | Re-sort (alphabetically) the list of programs and program sections before displaying to the user | +| underline              | text[XtrnProgLstUnderline]  | Underline string under the titles | 
-| autoexec                false  | Automatically execute a section's program when there is only one program available within that section | +| section_header_fmt     | text[SelectItemHdr] | Header format for main section listing | 
-| clear_screen            true   | Clear the screen before each program list | +| section_fmt            | text[SelectItemFmt] | Display format used for section entries in main section listing | 
-| clear_screen_on_exec    false  | Clear the screen before executing any/all programs | +| section_which          | text[SelectItemWhich] | Which prompt for main section listing | 
-| eval_before_exec               | Evaluate the specified JavaScript expression //before// executing any/all programs | +| section_header_title   | External Program Selection | Main section listing header text | 
-| eval_after_exec        |         | Evaluate the specified JavaScript expression //after// executing any/all programs | +| align_section_list     | false  | Use with ''section_fmt'' string that doesn't contain padded integer specifiers 
-| restricted_user_msg    |  text[R_ExternalPrograms]  | Message displayed users with X-[[access:restrictions]] | +| which                  | text[WhichXtrnProg]  | Which prompt | 
-| no_programs_msg        |  text[NoXtrnPrograms]      | Message displayed when there are no external programs available |+| sort                   | false  | Re-sort (alphabetically) the list of programs and program sections before displaying to the user | 
 +| autoexec               | false  | Automatically execute a section's program when there is only one program available within that section | 
 +| 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 =====
  
Line 58: Line 71:
  
   * 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>.*''
  
Line 94: Line 112:
 ===== See Also ===== ===== See Also =====
   * [[:module:|Modules]]   * [[:module:|Modules]]
 +  * [[config:modopts.ini|Module Options]]
  
 {{tag>doors fonts javascript}} {{tag>doors fonts javascript}}