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 @@
False
@@ -197,33 +198,11 @@
True
False
vertical
-
-
-
- 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;