diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index fa8aeb8..34d7b23 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -157,7 +157,7 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){ gtk_window_set_title(GTK_WINDOW(window),gtk_window_get_title(parent_window)); gtk_window_set_icon_name(GTK_WINDOW(window),gtk_window_get_icon_name(parent_window)); g_signal_connect(G_OBJECT(terminal), "child-exited", G_CALLBACK(on_terminal_done), status_box); - yon_terminal_integrated_start(terminal,command); + yon_terminal_integrated_start_shell(terminal,command,NULL,NULL); } char *yon_package_dependent_get(char *target){ @@ -1313,15 +1313,27 @@ void on_changelog_clicked(GtkWidget *, kernels_tab *tab){ void on_build_execute(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); install_window *window = yon_dictionary_get_data(dict->first->next,install_window*); - // int basic = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->BasicSwitch)); - int drivers = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->BasicCurrentSwitch)); - int debug = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DebugSwitch)); - // int universal = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UniversalSwitch)); + int basic = gtk_switch_get_active(GTK_SWITCH(window->BasicSwitch)); + int drivers = gtk_switch_get_active(GTK_SWITCH(window->BasicCurrentSwitch)); + int debug = gtk_switch_get_active(GTK_SWITCH(window->DebugSwitch)); + int universal = gtk_switch_get_active(GTK_SWITCH(window->UniversalSwitch)); char *target = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->KernelVersionCombo)); char *filename = (char*)gtk_entry_get_text(GTK_ENTRY(window->FilenameEntry)); - char *command = build_command(target,filename,debug,drivers); - yon_terminal_window_start(GTK_WINDOW(widgets->Window),yon_debug_output("%s\n",command)); - gtk_widget_destroy(window->window); + int size=0; + config_str commands = NULL; + if (basic) yon_char_parsed_add_or_create_if_exists(commands,&size,build_command_basic(filename,target,drivers)); + if (debug) yon_char_parsed_add_or_create_if_exists(commands,&size,build_command_debug(filename,target)); + if (universal) yon_char_parsed_add_or_create_if_exists(commands,&size, build_command_universal(filename,target)); + if (size){ + char *command = yon_char_parsed_to_string(commands,size,"; "); + yon_terminal_window_start(GTK_WINDOW(widgets->Window),yon_debug_output("%s\n",command)); + gtk_widget_destroy(window->window); + } else { + textdomain(template_ui_LocaleName); + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + textdomain(LocaleName); + return; + } } void on_building_clicked(GtkWidget *, main_window *widgets){ diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index 43605ed..574973f 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -56,7 +56,9 @@ #define get_active_kernel_command "cat /usr/lib/modules/$(uname -r)/pkgbase" -#define build_command(target,filename,debug_bool,drivers_bool) yon_char_unite("ubmkuird -l ",!yon_char_is_empty(filename)?"-n ":"",filename," -k ",target, " ",(debug_bool)?"--addon ":"",(drivers_bool)?"-H":"",NULL) +#define build_command_basic(target,kernel, only) yon_char_unite("ubmkuird -l -n ",target," -k ",kernel, only? " -H ":"",NULL) +#define build_command_debug(target,kernel) yon_char_unite("ubmkuird -l --addon -n ",target," -k ",kernel,NULL) +#define build_command_universal(target,kernel) yon_char_unite("ubmkuird -l --kmod -n ",target," -k ",kernel,NULL) #define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get boot KERNEL_BOOT",NULL) #define config_get_local_command "ubconfig --source system get boot KERNEL_BOOT" diff --git a/ubl-settings-kernel-install.glade b/ubl-settings-kernel-install.glade index 5783758..cd2ae24 100644 --- a/ubl-settings-kernel-install.glade +++ b/ubl-settings-kernel-install.glade @@ -177,6 +177,7 @@ True True + True False @@ -197,33 +198,11 @@ True False vertical - - - True - False - - - True - False - center - - - True - True - 0 - - - - - False - True - 0 - - True False + True True diff --git a/ubl-settings-kernel.css b/ubl-settings-kernel.css index 2c2a5de..de229a6 100644 --- a/ubl-settings-kernel.css +++ b/ubl-settings-kernel.css @@ -60,7 +60,7 @@ background:transparent; border-color:@theme_text_color; border-style:solid; border-width:0.3px; - box-shadow: 1px 4px 4px rgba(0, 0, 0, 0.3); + box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.15); } .menuitembottom{ margin-top:0px;