I customized my theme settings with hook_form_system_theme_settings_alter().
I have multi submit functions. Demo code below here:
<?php
function md_boom_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) {
if(isset($form_id)){
return;
}
md_boom_theme_settings_design($form, $form_state); // Another form
md_boom_theme_settings_text($form, $form_state); // Another form
md_boom_theme_settings_nodes($form, $form_state); // Another form
md_boom_theme_settings_display($form, $form_state); // Another form
md_boom_theme_settings_code($form, $form_state); // Another form
$form['md_boom_settings']['general']['general_settings']['#tree'] = TRUE;
$form['md_boom_settings']['general']['general_settings']['description'] = array(
'#type' => 'item',
'#title' => t('A form with dynamically added new fields'),
);
if (empty($form_state['num_names'])) {
$form_state['num_names'] = 1;
}
// Build the number of name fieldsets indicated by $form_state['num_names']
for ($i = 1; $i <= $form_state['num_names']; $i++) {
$form['md_boom_settings']['general']['general_settings']['name'][$i] = array(
'#type' => 'fieldset',
'#title' => t('Name #@num', array('@num' => $i)),
'#collapsible' => TRUE,