From 696f6079386fcc6b7abdf094e01e99e57b268ffb Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 10:15:08 +0600 Subject: [PATCH 1/8] Fixed main components size getting source --- source/ubinstall-gtk-components.c | 16 ++++++++++------ source/ubinstall-gtk.h | 21 ++------------------- ubinstall-gtk-os-row.glade | 2 +- 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index b1e1723..78bb8b9 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -105,7 +105,7 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; if (gtk_widget_get_sensitive(row->InstallCheck)){ gtk_widget_show(widgets->OSSoftwareUncheckAllCheck); @@ -200,6 +200,7 @@ os_row *yon_os_row_new(){ row->name=NULL; row->modules=NULL; row->version=NULL; + row->size_raw=0; gtk_overlay_add_overlay(GTK_OVERLAY(row->RowOverlay),row->NameLabel); g_signal_connect(G_OBJECT(row->NameLabel),"activate-link",G_CALLBACK(on_os_components_info),row); @@ -235,6 +236,7 @@ void *yon_modules_list_load(main_window *widgets){ char sizemod; char *temp = yon_char_from_double(yon_size_long_convert_automatic(atol(parsed[4]),&sizemod)); char *size_str = yon_size_get_name_from_letter(sizemod); + row->size_raw = (unsigned long)atol(parsed[4]); row->size = yon_char_unite(temp," ", size_str,NULL); free(temp); g_idle_add((GSourceFunc)yon_os_component_insert,row); @@ -279,6 +281,7 @@ gboolean yon_os_component_insert(struct row_data *row_input){ g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_os_components_check_packages_size),widgets); gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,!yon_char_is_empty(row_input->description)?(_(row_input->description)):"", row_input->source, row_input->size); + row->size_raw = row_input->size_raw; char *modules = config(modules_parameter); if (yon_char_is_empty(modules)||yon_char_check_element(modules,row_input->name,",")||!strcmp(modules,"auto")){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1); @@ -424,7 +427,7 @@ int yon_software_check_packages_size(GtkWidget *, main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; if (gtk_widget_get_sensitive(row->InstallCheck)){ gtk_widget_show(widgets->AdditionalComponentsUncheckAllCheck); @@ -461,6 +464,7 @@ gboolean yon_software_insert(struct row_data *row_input){ g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_software_check_packages_size),widgets); gtk_list_box_insert(GTK_LIST_BOX(widgets->AdditionalComponentsList),row->row,-1); yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description),NULL,row_input->size); + row->size_raw = row_input->size_raw; char *modules = config(packages_parameter); if (yon_char_check_element(modules,row_input->name,",")){ @@ -521,13 +525,13 @@ void yon_software_init(main_window *widgets){ row->name = yon_char_new(base[i]); row->tags = yon_packages_get_groups(YON_PACKAGES_ALL,base[i]); int parsed_size; - config_str tags_parsed = yon_char_parse(row->tags,&parsed_size," "); + config_str tags_parsed = yon_char_parse(row->tags,&parsed_size,", "); if (parsed_size){ int ubmodule_pos = yon_char_parsed_check_exist(tags_parsed,parsed_size,"ubmodule"); if (ubmodule_pos>-1){ free(tags_parsed[ubmodule_pos]); tags_parsed[ubmodule_pos] = NULL; - row->tags = yon_char_parsed_to_string(tags_parsed,parsed_size," "); + row->tags = yon_char_parsed_to_string(tags_parsed,parsed_size,", "); } yon_char_parsed_free(tags_parsed,parsed_size); @@ -651,7 +655,7 @@ void on_pacman_software_all_toggled(GtkWidget *, char *path, main_window *widget gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareAllList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1); gtk_list_store_remove(widgets->PacmanSoftwareAllList,&iter); gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter); - gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,-1); + gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,name,2,type,3,description,4,size_str,6,1,-1); g_hash_table_add(widgets->pacmanchosen,yon_char_new(name)); yon_pacman_software_update_overall_size(widgets); @@ -686,7 +690,7 @@ void yon_pacman_software_update_overall_size(main_window *widgets){ for (listiter=list;listiter;listiter=listiter->next){ os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ - long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name); + long cur_size = row->size_raw; pacman_size += cur_size; } } diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index e46e332..4c02b9a 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1064,6 +1064,7 @@ typedef struct char *version; char *tags; char *description; + unsigned long size_raw; GtkWidget *RowOverlay; } os_row; @@ -1173,6 +1174,7 @@ struct row_data char *description; char *source; char *size; + unsigned long size_raw; }; typedef struct @@ -1452,27 +1454,8 @@ void on_installer_language_changed(GtkWidget *self, GtkTreePath *, GtkTreeViewCo gboolean on_country_filter(GtkTreeModel *self, GtkTreeIter *iter, main_window *widgets); gboolean yon_os_component_insert(struct row_data *row_input); gboolean yon_spinner_switch_off(GtkSpinner *target); -// void on_advanced_added(GtkWidget *, char *, main_window *); -// void on_advanced_new(GtkWidget *, main_window *); -// int yon_advanced_section_get(char *partition); -// void yon_advanced_partition_set_from_section(advanced_part_widgets *part, advanced_part_widgets *section); -// void yon_advanced_update(main_window *widgets); -// void on_advanced_partition_create(GtkWidget *, main_window *widgets); -// void yon_advanced_parts_update(main_window *widgets); -// void on_advanced_partition_add(GtkWidget *, char *path, main_window *widgets); -// void yon_advanced_section_remove_all(); -// void on_advanced_section_toggled(GtkWidget *self, main_window *widgets); void yon_fs_type_setup(GtkComboBoxText *target); -// void yon_advanced_set_max_size_from_partition(advanced_part_widgets *part, main_window *widgets); -// void on_advanced_size_changed(GtkWidget *self, main_window *widgets); int yon_advanced_save(main_window *widgets); -// void yon_advanced_part_parameter_changed(GtkWidget *self, advanced_part_widgets *part); -// void yon_advanced_section_update(main_window *widgets); -// void yon_advanced_section_update_section(advanced_part_widgets *part, GtkWidget *cur_toggle, main_window *widgets); -// int yon_advanced_section_get_by_part(advanced_part_widgets *part); -// void yon_advanced_section_remove_by_name(char *part); -// void on_advanced_virtual_device_changed(GtkWidget *, main_window *widgets); -// int yon_advanced_section_append(advanced_part_widgets *section); void on_format_changed(GtkWidget *self, advanced_part_widgets *part); int yon_layouts_get(); void on_link(GtkWidget *self, char *uri, gpointer); diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index 21dd622..6da6790 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -52,7 +52,7 @@ - 15 + 18 True False center From 1cbd1bd58a140b00639da3a30b401f0466696f82 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 10:17:05 +0600 Subject: [PATCH 2/8] Fixed left side steps menu switching --- source/ubinstall-gtk-page-switch.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/ubinstall-gtk-page-switch.c b/source/ubinstall-gtk-page-switch.c index 43227e7..9f815eb 100644 --- a/source/ubinstall-gtk-page-switch.c +++ b/source/ubinstall-gtk-page-switch.c @@ -430,10 +430,9 @@ void yon_configuration_mode_check(main_window *widgets){ } void yon_page_update(main_window *widgets){ - // yon_resize_images_update(widgets); yon_navigation_buttons_set_sensetiveness(widgets); - // yon_switch_page_render(widgets); - // yon_configuration_mode_check(widgets); + yon_switch_page_render(widgets); + yon_configuration_mode_check(widgets); } enum YON_PAGES yon_sections_get_next_page(main_window *widgets){ From 3a6cf8bb58a2ecaa8b4ec8de0d75d560f2fca89a Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 13:09:49 +0600 Subject: [PATCH 3/8] Fixed module installation page size showing --- source/ubinstall-gtk-components.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 78bb8b9..7c2e08f 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -187,6 +187,7 @@ gboolean on_os_components_info(GtkWidget *, GdkEventButton *, os_row *row){ os_row *yon_os_row_new(){ os_row *row = new(os_row); + memset(row,0,sizeof(os_row)); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_os_row); row->RowBox = yon_gtk_builder_get_widget(builder,"TableRow"); row->InstallCheck = yon_gtk_builder_get_widget(builder,"InstallCheck"); @@ -226,6 +227,7 @@ void *yon_modules_list_load(main_window *widgets){ continue; } struct row_data *row = malloc(sizeof(struct row_data)); + memset(row,0,sizeof(struct row_data)); row->version = parsed[3]; row->name = parsed[1]; row->tags = yon_char_replace(parsed[2]," ",", "); @@ -542,6 +544,7 @@ void yon_software_init(main_window *widgets){ double size_converted = yon_size_long_convert_automatic(size,&mod); char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL); + row->size_raw = size; row->size = size_str; row->widgets=widgets; g_idle_add((GSourceFunc)yon_software_insert,row); From 92216abcdc3bbc402a9db2602269a39b1b9d6ebd Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 13:51:26 +0600 Subject: [PATCH 4/8] Fixed module installation and main components separator distanse difference with tags and without tags --- ubinstall-gtk-os-row.glade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ubinstall-gtk-os-row.glade b/ubinstall-gtk-os-row.glade index 6da6790..7ba62e6 100644 --- a/ubinstall-gtk-os-row.glade +++ b/ubinstall-gtk-os-row.glade @@ -52,13 +52,13 @@ - 18 + 21 True False center start 3 - 5 + 3 2 @@ -308,7 +308,7 @@ True start start - 20 + 25 6 Name 0 From f564a91a27a28216629f4901267537d628fbd598 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 14:10:49 +0600 Subject: [PATCH 5/8] Added debug output for rdp commands --- source/ubinstall-gtk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index c8705de..5b2fae5 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -162,9 +162,9 @@ void on_rdp_toggled(GtkWidget *self, main_window *){ int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0))); if (!active){ - yon_launch(enable_rdp_command); + yon_launch(yon_debug_output("%s\n",enable_rdp_command)); } else { - yon_launch(disable_rdp_command); + yon_launch(yon_debug_output("%s\n",disable_rdp_command)); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(g_list_nth_data(children,0)),!active); g_list_free(box); From fa00388280903e92217170919d9adb7a50355426 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 15:38:00 +0600 Subject: [PATCH 6/8] Fixed module installation page size with no synced DB --- source/ubinstall-gtk-components.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 7c2e08f..21d7b16 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -539,7 +539,7 @@ void yon_software_init(main_window *widgets){ yon_char_parsed_free(tags_parsed,parsed_size); } row->description = yon_packages_get_description(YON_PACKAGES_ALL,base[i]); - long size = yon_packages_get_size(YON_PACKAGES_ALL,base[i]); + long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,base[i]); char mod = '\0'; double size_converted = yon_size_long_convert_automatic(size,&mod); @@ -596,9 +596,9 @@ void yon_pacman_init(main_window *widgets){ int size=0; config_str parsed = yon_char_parse(pacman_packages,&size,","); for (int i=0;i Date: Thu, 9 Apr 2026 16:03:49 +0600 Subject: [PATCH 7/8] Install modules by groups show without synced DB fixes --- source/ubinstall-gtk-packages.c | 2 +- ubinstall-gtk.glade | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 58fedb0..850c855 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -163,9 +163,9 @@ void yon_packages_tab_init(main_window *widgets){ } yon_char_parsed_add_or_create_if_exists(final,&final_size,modules_parsed[j]); } - if (empty) continue; yon_char_parsed_free(modules_parsed,modules_parsed_size); char *modules_string = yon_char_parsed_to_string(final,final_size,"\t"); + if (empty && !yon_char_check_elements(modules,modules_string,",")) continue; if (category_iter){ if (!yon_char_is_empty(parsed[1])){ GtkTreeIter *subcategory_iter = yon_subcategory_check(widgets->PackagesList,category_iter,parsed[1]); diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 506c9d4..c4193a7 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -7437,6 +7437,7 @@ Select a different installation sources. + word-char 500 From 5adf873b18b5a2e4ad864d94087009175a082f2f Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Thu, 9 Apr 2026 17:19:06 +0600 Subject: [PATCH 8/8] Fixed default language showing --- source/ubinstall-gtk-language.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/ubinstall-gtk-language.c b/source/ubinstall-gtk-language.c index 0a6b207..9bb71f3 100644 --- a/source/ubinstall-gtk-language.c +++ b/source/ubinstall-gtk-language.c @@ -7,6 +7,14 @@ void yon_language_update(main_window *widgets){ char *config_languages = config(lang_parameter); if (yon_char_is_empty(config_locale)||yon_config_check_ignore(locale_parameter)){ gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),1); + GtkTreeIter iter; + char *cur_lang = g_hash_table_lookup(main_config.languages,"en_US.UTF-8"); + if (!yon_char_is_empty(cur_lang)){ + int parsed_size; + config_str parsed = yon_char_parse(cur_lang,&parsed_size,"|"); + gtk_list_store_append(widgets->LanguageList,&iter); + gtk_list_store_set(widgets->LanguageList,&iter,1,parsed[1],2,parsed[2],3,parsed[0],-1); + } } else { gtk_switch_set_active(GTK_SWITCH(widgets->LocaleDefaultSwitch),0); int parsed_param_size;