diff --git a/kernel-list-addon.csv b/kernel-list-addon.csv index a4b3bf7..7337cdf 100644 --- a/kernel-list-addon.csv +++ b/kernel-list-addon.csv @@ -1,10 +1,10 @@ NAME;PAСKAGE_UBM;PAСKAGE;DESCRIPTION Linux 5.15 headers;ubm-002-linux515-headers;linux515-headers;The Linux kernel headers v5.15 Linux 5.15 Docs;ubm-003-linux515-docs;linux515-docs;The Linux kernel docs v5.15 -Linux 5.15 DKMS modules;ubm-linux515-dkms;linux515-dkms;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu +Linux 5.15 DKMS modules;ubm-linux515-dkms;v4l2loopback-dkms,rtl88x2bu-dkms-git,r8125-dkms,rtl8192eu-dkms,rtl8821cu-dkms-git;The Linux kernel DKMS modules v5.15 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu Linux 6.1 headers;ubm-002-linux61-headers;linux61-headers;The Linux kernel headers v6.1 Linux 6.1 Docs;ubm-003-linux61-docs;linux61-docs;The Linux kernel docs v6.1 -Linux 6.1 DKMS modules;ubm-linux61-dkms;linux61-dkms;The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu +Linux 6.1 DKMS modules;ubm-linux61-dkms;v4l2loopback-dkms,rtl88x2bu-dkms-git,r8125-dkms,rtl8192eu-dkms,rtl8821cu-dkms-git;The Linux kernel DKMS modules v6.1 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu Linux 6.6 headers;ubm-002-linux66-headers;linux66-headers;The Linux kernel headers v6.6 Linux 6.6 Docs;ubm-003-linux66-docs;linux66-docs;The Linux kernel docs v6.6 -Linux 6.6 DKMS modules;ubm-linux66-dkms;linux66-dkms;The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu \ No newline at end of file +Linux 6.6 DKMS modules;ubm-linux66-dkms;v4l2loopback-dkms,rtl88x2bu-dkms-git,r8125-dkms,rtl8192eu-dkms,rtl8821cu-dkms-git;The Linux kernel DKMS modules v6.6 : v4l2loopback, r8168-8136, rtl88x2bu, r8125, rtl8192eu \ No newline at end of file diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 36168d3..ab9f8f6 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -118,24 +118,6 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){ yon_interface_update(widgets); } -gboolean yon_clear_interface(main_window *widgets){ - if (!main_config.kernel_tabs){ - GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelsPackageBox)); - for (guint i=0;iAdditionsPackageBox)); - for (guint i=0;iinstall_tags_box)); for (guint i=0;imodule); - if (!system(check_install_command)){ + char *target_module = yon_package_string_set(tab->module); + char *target_package = yon_package_string_set(tab->package); + + char *check_install_command = get_package_is_installed_command(target_module); + if (!system(yon_debug_output("%s\n",check_install_command))){ tab->module_installed=1; } else tab->module_installed=0; free(check_install_command); - check_install_command = get_package_is_installed_command(tab->package); - if (!system(check_install_command)){ + check_install_command = get_package_is_installed_command(target_package); + if (!system(yon_debug_output("%s\n",check_install_command))){ tab->package_installed=1; } else tab->package_installed=0; free(check_install_command); - check_install_command = get_package_is_updated_command(tab->module); - if (!system(check_install_command)){ + check_install_command = get_package_is_updated_command(target_module); + if (!system(yon_debug_output("%s\n",check_install_command))){ tab->module_updated = 0; } else tab->module_updated = 1; free(check_install_command); - check_install_command = get_package_is_updated_command(tab->package); - if (!system(check_install_command)){ + check_install_command = get_package_is_updated_command(target_package); + if (!system(yon_debug_output("%s\n",check_install_command))){ tab->package_updated = 0; } else tab->package_updated = 1; free(check_install_command); @@ -200,7 +193,20 @@ void *yon_tab_set_installed(kernels_tab *tab){ } void *yon_interface_update(main_window *widgets){ - yon_clear_interface(widgets); + if (!main_config.kernel_tabs){ + GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelsPackageBox)); + for (guint i=0;iAdditionsPackageBox)); + for (guint i=0;iMainRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN); yon_ubl_status_box_render(OPERATION_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_interface_update(widgets); } else { @@ -347,7 +357,6 @@ gboolean yon_terminal_get_progress(main_window *widgets){ void *yon_command_execute_async(char *command,main_window *widgets){ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress),0); vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1); - gtk_revealer_set_transition_type(GTK_REVEALER(widgets->MainRevealer),GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP); gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0); yon_terminal_integrated_start(widgets->InstallTerminal,yon_debug_output("%s\n",command)); glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); @@ -365,7 +374,8 @@ void on_module_install_accept(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*); - char *modules_to_install = tab->module; + char *module_formated = yon_package_string_set(tab->module); + char *modules_to_install = module_formated; GtkTreeIter iter; for_iter (GTK_TREE_MODEL(window->liststore1),&iter){ @@ -374,7 +384,7 @@ void on_module_install_accept(GtkWidget *, dictionary *dict){ gtk_tree_model_get(GTK_TREE_MODEL(window->liststore1),&iter,0,&status,1,&package,-1); if (status){ char *temp = yon_char_unite(modules_to_install," ", package, NULL); - if (strcmp(modules_to_install,tab->module)) free(modules_to_install); + if (strcmp(modules_to_install,module_formated)) free(modules_to_install); modules_to_install = temp; } } @@ -390,7 +400,8 @@ void on_package_install_accept(GtkWidget *, dictionary *dict){ main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); kernels_tab *tab = yon_dictionary_get_data(dict->first->next,kernels_tab*); dialog_window *window = yon_dictionary_get_data(dict->first->next->next,dialog_window*); - char *modules_to_install = tab->package; + char *package_formated = yon_package_string_set(tab->package); + char *modules_to_install = package_formated; GtkTreeIter iter; for_iter (GTK_TREE_MODEL(window->liststore1),&iter){ @@ -399,7 +410,7 @@ void on_package_install_accept(GtkWidget *, dictionary *dict){ gtk_tree_model_get(GTK_TREE_MODEL(window->liststore1),&iter,0,&status,1,&package,-1); if (status){ char *temp = yon_char_unite(modules_to_install," ", package, NULL); - if (strcmp(modules_to_install,tab->module)) free(modules_to_install); + if (strcmp(modules_to_install,package_formated)) free(modules_to_install); modules_to_install = temp; } } @@ -460,7 +471,8 @@ void on_module_install_clicked(GtkWidget *self,dictionary *dict){ data->function = NULL; data->data = NULL; if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ - char *command = install_command(tab->module); + char *target = yon_package_string_set(tab->module); + char *command = install_command(target); yon_command_execute_async(command,widgets); tab->module_installed=1; } @@ -501,7 +513,8 @@ void on_package_install_clicked(GtkWidget *self,dictionary *dict){ data->function = NULL; data->data = NULL; if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ - char *command = install_command(tab->package); + char *target = yon_package_string_set(tab->package); + char *command = install_command(target); yon_command_execute_async(command,widgets); tab->package_installed=1; } @@ -524,7 +537,8 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){ data->function = NULL; data->data = NULL; if (yon_confirmation_dialog_call(self,data) == GTK_RESPONSE_ACCEPT){ - char *command = remove_command(tab->module); + char *target = yon_package_string_set(tab->module); + char *command = remove_command(target); g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_module_remove_done),tab); yon_command_execute_async(command,widgets); tab->module_installed=0; @@ -541,7 +555,8 @@ void on_package_remove_clicked(GtkWidget *self,dictionary *dict){ data->data = NULL; int resp = yon_confirmation_dialog_call(self,data); if (resp == GTK_RESPONSE_ACCEPT){ - char *command = remove_command(tab->package); + char *target = yon_package_string_set(tab->package); + char *command = remove_command(target); yon_command_execute_async(command,widgets); tab->package_installed=0; } @@ -660,21 +675,21 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo char *passw = types_parsed[k][0]==' '?yon_char_divide(types_parsed[k],0):NULL; if (passw) free(passw); char *tag_type = NULL; - if (!strcmp(types_parsed[k],LTS_TAG)){ + if (!strcmp(_(types_parsed[k]),LTS_TAG)){ tag_type = "tag_blue"; - } else if (!strcmp(types_parsed[k],STABLE_TAG)){ + } else if (!strcmp(_(types_parsed[k]),STABLE_TAG)){ tag_type = "tag_green"; - } else if (!strcmp(types_parsed[k],REALTIME_TAG)){ + } else if (!strcmp(_(types_parsed[k]),REALTIME_TAG)){ tag_type = "tag_orange"; - } else if (!strcmp(types_parsed[k],HARDENED_TAG)){ + } else if (!strcmp(_(types_parsed[k]),HARDENED_TAG)){ tag_type = "tag_yellow"; - } else if (!strcmp(types_parsed[k],RECOMENDED_TAG)){ + } else if (!strcmp(_(types_parsed[k]),RECOMENDED_TAG)){ tag_type = "tag_blue"; - } else if (!strcmp(types_parsed[k],REACTIVE_TAG)){ + } else if (!strcmp(_(types_parsed[k]),REACTIVE_TAG)){ tag_type = "tag_purple"; } else continue; - yon_tag_add(GTK_BOX(tab->tags_box),types_parsed[k],tag_type,NULL); + yon_tag_add(GTK_BOX(tab->tags_box),_(types_parsed[k]),tag_type,NULL); } tab->module_requirements = yon_char_parse(parsed[3],&tab->module_requirements_size,","); tab->package_requirements = yon_char_parse(parsed[4],&tab->package_requirements_size,","); @@ -855,6 +870,9 @@ void on_info_clicked(GtkWidget *, main_window *widgets){ char *package=NULL; if ((package = strstr(target_str,": "))){ package+=2; + if (strstr(package,",")){ + package = yon_char_replace(package,","," "); + } } config_str info = yon_config_load(get_package_info_command(package),&size); if (size!=-1){ @@ -1004,7 +1022,7 @@ void yon_main_window_complete(main_window *widgets){ glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal)); vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20); - gtk_overlay_add_overlay(GTK_OVERLAY(widgets->TerminalOverlay),widgets->MainRevealer); + gtk_overlay_add_overlay(GTK_OVERLAY(widgets->TerminalOverlay),widgets->TerminalRevealer); yon_interface_update(widgets); yon_save_window_set_postsave_function(on_save_done,widgets); diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index 9eab431..cb9f76a 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -48,7 +48,7 @@ #define get_package_is_installed_command(target) yon_char_append("pacman -Qq ",target) #define get_package_is_updated_command(target) yon_char_append("pacman -Qu ",target) -#define install_command(target) yon_char_append("pacman -S --noconfirm ",target) +#define install_command(target) yon_char_append("pacman -Sy --noconfirm ",target) #define remove_command(target) yon_char_append("pacman -R --noconfirm ",target) #define get_active_kernel_command "cat /usr/lib/modules/$(uname -r)/pkgbase" @@ -211,7 +211,7 @@ typedef struct { void on_save_done(main_window *widgets, config_str output, int size); -gboolean yon_clear_interface(main_window *widgets); +char *yon_package_string_set(char *target); gboolean yon_tab_create_tags(kernels_tab *tab); void *yon_tab_set_installed(kernels_tab *tab); void *yon_interface_update(main_window *widgets); diff --git a/ubl-settings-kernel-additions-table-row.glade b/ubl-settings-kernel-additions-table-row.glade index 40c673c..14a339a 100644 --- a/ubl-settings-kernel-additions-table-row.glade +++ b/ubl-settings-kernel-additions-table-row.glade @@ -48,7 +48,6 @@ True False Name - True False 0 @@ -86,6 +85,7 @@ True False Module + True 0 @@ -122,6 +122,7 @@ True False Package + True 0 @@ -150,6 +151,7 @@ False 5 vertical + 2 diff --git a/ubl-settings-kernel.css b/ubl-settings-kernel.css index 5e3a34f..8db3f19 100644 --- a/ubl-settings-kernel.css +++ b/ubl-settings-kernel.css @@ -154,72 +154,79 @@ background:transparent; border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#a25757; + border-color: #d8504e; - background-color:#ab709a + background-color:#ea9999 } .tag_blue{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#4973a1; + border-color: #3e85e7; - background-color:#33aadf + background-color:#9fc5f8 } .tag_purple{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#41346a; + border-color: #9d17f9; - background-color:#ab709a + background-color:#b4a7d6 } .tag_orange{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#a87644; + border-color: #fea11a; - background-color:#ffac40 + background-color:#f9cb9c } .tag_yellow{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#866715; + border-color: #cca11f; - background-color:#ffd070 + background-color:#ffe599 } .tag_green{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#61815a; + border-color: #2aab37; - background-color:#80ff80 + background-color:#c8e1be } .tag_grey{ border-radius: 2px; border-width: 0.5px; border-style: solid; - margin:2px; - color:#2f2f2f; + padding:2px 5px; + color:#5f5f5f; + border-color: #777777; background-color:#999999 } .updatebutton { - background-color: #ef7a7a; + background-color: #e06666; color: @theme_bg_color; - border-color: #aa5555; + border-color: #a36666; } .updatebutton *{ - background-color: #ef7a7a; + background-color: #e06666; color: @theme_bg_color; } .updatebutton:active { @@ -232,11 +239,11 @@ background:transparent; color: @theme_bg_color; } .updatebutton:disabled { - background-color: #ffcfcf; + background-color: transparent; border-color: @insensitive_fg_color; border-width:0.5px; } .updatebutton *:disabled { - background-color: #ffcfcf; + background-color: transparent; color: @insensitive_fg_color; } \ No newline at end of file diff --git a/ubl-settings-kernel.glade b/ubl-settings-kernel.glade index 1df447e..b435b95 100644 --- a/ubl-settings-kernel.glade +++ b/ubl-settings-kernel.glade @@ -52,118 +52,39 @@ 1 10 - + True False end slide-up - True True False - vertical - 5 - + True - False - slide-up - - - True - False - - - True - False - True - adjustment1 - natural - UTF-8 - True - True - False - - - True - True - 0 - - - - - True - False - vertical - adjustment1 - - - False - True - 1 - - - - + False + True + adjustment1 + natural + UTF-8 + True + True + False - False + True True 0 - + True False - 0 - in - - - True - False - 5 - 5 - 5 - 5 - - - True - False - 5 - - - True - False - center - - - True - True - 0 - - - - - More - True - True - True - - - False - True - 2 - - - - - - - - - + vertical + adjustment1 False @@ -171,14 +92,8 @@ 1 - - True @@ -389,5 +304,91 @@ 0 + + + True + False + end + slide-up + True + + + True + False + vertical + 5 + + + True + False + 0 + in + + + True + False + 5 + 5 + 5 + 5 + + + True + False + 5 + + + True + False + center + + + True + True + 0 + + + + + More + True + True + True + + + False + True + 2 + + + + + + + + + + + + False + True + 1 + + + + + + + + + False + True + 1 + + diff --git a/ubl-settings-kernel_ru.po b/ubl-settings-kernel_ru.po index 5a3311e..eeeff5a 100644 --- a/ubl-settings-kernel_ru.po +++ b/ubl-settings-kernel_ru.po @@ -133,7 +133,7 @@ msgstr "Рекомендуется" #: source/ubl-strings.h:38 msgid "Hardened" -msgstr "" +msgstr "Усиленная защита" #: source/ubl-strings.h:39 msgid "RealTime"