6 ct_nil, // nothing special
7 ct_switch_page, // change to another page
8 ct_reset, // reset to defaults
9 ct_visible_tab_list, // show list of _visible tabs_
10 ct_cpu_speed, // show available CPU speeds
11 ct_boolean, // boolean 1/0 value
12 ct_exit, // save and quit configuring
13 ct_filename, // pick a filename
14 ct_go_manage_categories, // go to other menu, manage categories
15 ct_go_manage_skins, // to to other menu, pick skins
19 #define CONF_MAX_LISTLENGTH 2000 /* no more than this number of tabs or apps in the show/hide config pages; perhaps should go multi-page for so many.. */
21 #define CONF_APPLIST_TAG "*applist*"
22 #define CONF_TABLIST_TAG "*tablist*"
24 typedef struct _confitem_t {
25 char *text; // human readable title
26 char *desc; // slightly longer description
27 char *def; // default value (to show user, and for resets); NULL means key is normally undefined
29 char *key; // key to find this item in the config box
30 change_type_e type; // what happens with this value
31 struct _confitem_t *newhead; // value for type: if specified, will switch to this page (for TOC page)
34 unsigned char conf_run_menu ( confitem_t *toplevel ); // returns >0 for 'request restart'
35 void conf_display_page ( confitem_t *page, unsigned int selitem, unsigned int first_visible, unsigned int max_visible );
36 #define CONF_SELECTED 1
37 #define CONF_UNSELECTED 0
38 unsigned char conf_prepare_page ( confitem_t *page );
39 unsigned int conf_determine_pagelength ( confitem_t *page );
41 void conf_merge_into ( char *fullpath, pnd_conf_handle h ); // merge fullpath as a conf file into 'h'; no turning back.
42 unsigned char conf_write ( pnd_conf_handle h, char *fullpath ); // emit a conf file, based on items known to conf-ui
43 #define CONF_PREF_FILENAME ".mmpref.conf" // or should be .mmprefrc? tend to use '.conf' already so go with it.
44 #define CONF_PREF_TEMPPATH "/tmp/" CONF_PREF_FILENAME
45 char *conf_determine_location ( pnd_conf_handle h ); // where to stick the conf file?
46 void conf_setup_missing ( pnd_conf_handle h ); // find missing keys, set them to default values
48 void conf_reset_to_default ( pnd_conf_handle h ); // sets keys to their default value (if they have one), all apps to show, all tabs to show