From 8466b3839c27cd7ef1e49b3db0df798292bd7230 Mon Sep 17 00:00:00 2001 From: YanTheKaller Date: Fri, 1 Aug 2025 14:47:59 +0600 Subject: [PATCH 1/6] Changed loading without root --- source/ubl-settings-kernel.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index fe6a9fd..4f3819d 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -219,7 +219,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ gtk_widget_destroy(g_list_nth_data(list,i)); } g_list_free(list); - if (!getuid()){ + // if (!getuid()){ switch(tab->module_installed){ case 1:{ yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); @@ -292,6 +292,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ } } } + yon_char_parsed_free(boot_run,boot_size); } if (tab->changelog_button){ gtk_widget_show(tab->changelog_button); @@ -299,9 +300,23 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ } gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated); gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated); - } else { - yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL); - } + // } else { + // char *launched = config(KERNEL_BOOT_parameter); + // int boot_size; + // config_str boot_run = yon_config_load(get_active_kernel_command,&boot_size); + // if(boot_size){ + // yon_char_remove_last_symbol(boot_run[0],'\n'); + // if (boot_run&&!strcmp(boot_run[0],tab->package)){ + // yon_tag_add(GTK_BOX(tab->install_tags_box),RUNNING_LABEL,"tag_green",NULL); + // gtk_widget_hide(tab->launch_button); + // } + // if (!yon_char_is_empty(launched)&&strcmp(launched,boot_run[0])&&!strcmp(launched,tab->package)){ + // gtk_widget_show(tab->launch_button); + // } + // yon_char_parsed_free(boot_run,boot_size); + // } + // yon_tag_add(GTK_BOX(tab->install_tags_box),UNKNOWN_LABEL,"tag_grey",NULL); + // } gtk_widget_show(tab->main_box); g_mutex_lock(&main_config.update_mutex); @@ -319,6 +334,7 @@ char *yon_package_string_set(char *target){ } void yon_tab_set_installed(kernels_tab *tab){ + int uid = getuid(); g_mutex_lock(&main_config.update_mutex); main_config.update_active++; g_mutex_unlock(&main_config.update_mutex); @@ -328,12 +344,14 @@ void yon_tab_set_installed(kernels_tab *tab){ tab->module_installed=-1; } else { tab->module_installed = yon_packages_check_installed(target_module); + if(!uid) tab->module_updated = !yon_packages_check_updates(target_module); } if (yon_char_is_empty(target_package)){ tab->package_installed=-1; } else { tab->package_installed=yon_packages_check_installed(target_package); + if(!uid) tab->package_updated = !yon_packages_check_updates(target_package); } if (tab->package_installed==-1&&tab->module_installed==-1){ @@ -1176,8 +1194,8 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo tab->install_package_button = yon_gtk_builder_get_widget(builder,"InstallPackageButton"); tab->changelog_button = yon_gtk_builder_get_widget(builder,"ChangelogButton"); tab->launch_button = yon_gtk_builder_get_widget(builder,"LaunchButton"); - tab->module_updated=0; - tab->package_updated=0; + tab->module_updated=1; + tab->package_updated=1; dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); @@ -1289,8 +1307,8 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe tab->launch_button = NULL; tab->run_tags_box = NULL; tab->tags_box = NULL; - tab->module_updated=0; - tab->package_updated=0; + tab->module_updated=1; + tab->package_updated=1; dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); -- 2.35.1 From 73baf9ef9e160c67acbff437305f5aed78fff1ab Mon Sep 17 00:00:00 2001 From: YanTheKaller Date: Fri, 1 Aug 2025 17:00:48 +0600 Subject: [PATCH 2/6] Fixed information showing --- ubl-settings-kernel.desktop | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ubl-settings-kernel.desktop b/ubl-settings-kernel.desktop index 501cb9b..176c04e 100644 --- a/ubl-settings-kernel.desktop +++ b/ubl-settings-kernel.desktop @@ -7,9 +7,9 @@ GenericName[ru]=Ядро системы Comment=Kernel downloading and installation, kernel selection to boot by default Comment[ru]=Загрузка и установка ядер системы, выбор ядра для загрузки по умолчанию Type=Application -Exec=pkexec ubl-settings-kernel +Exec=ubl-settings-kernel Icon=com.ublinux.ubl-settings-kernel Terminal=false X-XfcePluggable=true X-UBLPluggable=true -Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;X-UBL-SettingsManager;X-UBL-Personal-Settings; +Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;X-UBL-SettingsManager;X-UBL-System-Settings; -- 2.35.1 From 76e62030eec129a7ad50cdf594ea3fb7dc54eab1 Mon Sep 17 00:00:00 2001 From: YanTheKaller Date: Fri, 1 Aug 2025 17:28:32 +0600 Subject: [PATCH 3/6] Fixed information --- source/ubl-settings-kernel.c | 8 ++++++++ source/ubl-settings-kernel.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 4f3819d..b24ef2a 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -1564,6 +1564,13 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){ } } +void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets){ + int size = (int)(gtk_widget_get_allocated_height(widgets->InterfaceBox)*0.8); + if (size<20) size=20; + if (gtk_paned_get_position(GTK_PANED(widgets->TerminalPaned))>size) + gtk_paned_set_position(GTK_PANED(widgets->TerminalPaned),size); +} + /**yon_main_window_complete(main_window *widgets) * [EN] * @@ -1607,6 +1614,7 @@ void yon_main_window_complete(main_window *widgets){ widgets->DescriptionSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"DescriptionSizeGroup")); widgets->ButtonsSizeGroup = GTK_SIZE_GROUP(gtk_builder_get_object(builder,"ButtonsSizeGroup")); + g_signal_connect(G_OBJECT(widgets->TerminalPaned),"notify::position",G_CALLBACK(on_paned_position_changed),widgets); g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets); g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets); g_signal_connect(G_OBJECT(widgets->UnlockPacmanButton),"clicked",G_CALLBACK(on_pacman_db_unlock),NULL); diff --git a/source/ubl-settings-kernel.h b/source/ubl-settings-kernel.h index 25e4630..99b6a42 100644 --- a/source/ubl-settings-kernel.h +++ b/source/ubl-settings-kernel.h @@ -317,4 +317,5 @@ install_window *yon_install_window_new(); void on_terminal_cancel(GtkWidget *,main_window *widgets); -void on_pacman_db_unlock(void); \ No newline at end of file +void on_pacman_db_unlock(void); +void on_paned_position_changed(GtkWidget *, GdkEvent*,main_window *widgets); \ No newline at end of file -- 2.35.1 From 8b86fe5365fbe040288f26f4042322028d5efd47 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 5 Aug 2025 10:12:41 +0600 Subject: [PATCH 4/6] Fixed launched tag --- source/ubl-settings-kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index fe6a9fd..f4491f5 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -275,7 +275,7 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ if ((!(launched&&!strcmp(tab->package,launched))&&(boot_run&&!yon_char_is_empty(boot_run[0])&&strcmp(tab->package,boot_run[0])))){ gtk_widget_show(tab->launch_button); } - else if (launched&&(strcmp(tab->package,launched))&&(boot_run&&boot_run[0]&&!strcmp(tab->package,boot_run[0]))){ + else if (boot_run&&boot_run[0]&&(!launched||strcmp(launched,boot_run[0]))&&(!strcmp(tab->package,boot_run[0]))){ gtk_widget_show(tab->launch_button); yon_tag_add(GTK_BOX(tab->install_tags_box),RUNNING_LABEL,"tag_green",NULL); } else if (!launched){ -- 2.35.1 From 3db756231b0a05f513377d48ceec84563f058fff Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 5 Aug 2025 10:34:31 +0600 Subject: [PATCH 5/6] Fixed config loading message --- source/ubl-settings-kernel.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index d12d3df..84fb451 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -424,8 +424,9 @@ void *yon_interface_update(main_window *widgets){ } additions_kernels_tab *tab = yon_additions_tab_row_new(GTK_LIST_BOX(widgets->AdditionsPackageBox),kernels[i],widgets); yon_tab_set_installed((kernels_tab*)tab); - if (i+1==kernels_size) { - char *status_text = NULL; + gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0); + } + char *status_text = NULL; switch (main_config.action){ case ACTION_LOAD: status_text = main_config.load_mode==YON_CONFIG_LOCAL?main_config.local_load_success_localised:main_config.global_load_success_localised; @@ -442,9 +443,6 @@ void *yon_interface_update(main_window *widgets){ } yon_ubl_status_box_render(status_text,BACKGROUND_IMAGE_SUCCESS_TYPE); - } - gtk_widget_set_can_focus(gtk_widget_get_parent(tab->main_box),0); - } gtk_widget_hide(widgets->LoadingSpinner); gtk_widget_show(widgets->MainOverlayBox); gtk_spinner_stop(GTK_SPINNER(widgets->LoadingSpinner)); -- 2.35.1 From e08aca5da649ed864b100031d6496503110e8bbf Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 5 Aug 2025 11:04:22 +0600 Subject: [PATCH 6/6] Update buttons sensitivity fix --- source/ubl-settings-kernel.c | 26 ++++++++++++++------------ ubl-settings-kernel-table-row.glade | 4 +++- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 84fb451..9f5d189 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -540,22 +540,24 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets dictionary *dict = NULL; for_dictionaries(dict,main_config.kernel_tabs){ if (!getuid()){ - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + kernels_tab *tab = (kernels_tab*)dict->data; + gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated); + gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated); + gtk_widget_set_sensitive(tab->install_module_button,1); + gtk_widget_set_sensitive(tab->install_package_button,1); + gtk_widget_set_sensitive(tab->remove_module_button,1); + gtk_widget_set_sensitive(tab->remove_package_button,1); } } for_dictionaries(dict,main_config.addition_tabs){ if (!getuid()){ - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + kernels_tab *tab = (kernels_tab*)dict->data; + gtk_widget_set_sensitive(tab->update_module_button,!tab->module_updated); + gtk_widget_set_sensitive(tab->update_package_button,!tab->package_updated); + gtk_widget_set_sensitive(tab->install_module_button,1); + gtk_widget_set_sensitive(tab->install_package_button,1); + gtk_widget_set_sensitive(tab->remove_module_button,1); + gtk_widget_set_sensitive(tab->remove_package_button,1); } } { diff --git a/ubl-settings-kernel-table-row.glade b/ubl-settings-kernel-table-row.glade index 6b7319d..7a48dd4 100644 --- a/ubl-settings-kernel-table-row.glade +++ b/ubl-settings-kernel-table-row.glade @@ -1,5 +1,5 @@ - + @@ -244,6 +244,7 @@ 5 + False True True Update module @@ -308,6 +309,7 @@ 5 + False True True Update package -- 2.35.1