From 7a8ed85b0aa5acb502a4b046f7930326a81c4611 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 11 Aug 2025 17:26:32 +0600 Subject: [PATCH 1/9] Fixes; config command changes --- source/ubl-settings-video.c | 29 +++++++++++++++-------------- source/ubl-settings-video.h | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 77d0a83..f2e5588 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -111,12 +111,12 @@ void yon_interface_save(){ break; case 1:yon_config_register(INTEGRATEDVGA,INTEGRATEDVGA_command,"no"); break; - case 2:yon_config_register(INTEGRATEDVGA,INTEGRATEDVGA_command,"yes "); + case 2:yon_config_register(INTEGRATEDVGA,INTEGRATEDVGA_command,"yes"); break; } } -void yon_interface_update(){ +void yon_interface_update(){ g_hash_table_remove_all(main_config.ports_table); yon_monitor_set_resolutions(); g_hash_table_remove_all(main_config.resolutions); @@ -151,23 +151,23 @@ void yon_interface_update(){ else if (!yon_char_is_empty(autodrivers)&&!strcmp(autodrivers,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->AutoDriverCombo),1); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->AutoDriverCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->AutoDriverCombo)," "); if (!yon_char_is_empty(freedrivers)&&!strcmp(freedrivers,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),1); else if (!yon_char_is_empty(freedrivers)&&!strcmp(freedrivers,"nouveau")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),2); else if (!yon_char_is_empty(freedrivers)&&!strcmp(freedrivers,"radeon")) - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),3); + gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),3); else if (!yon_char_is_empty(freedrivers)&&!strcmp(freedrivers,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),4); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->FreeDriverCombo)," "); if (!yon_char_is_empty(dpi)&&!strcmp(dpi,"auto")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DisplayScalingCombo),1); else if (yon_char_is_empty(dpi)) - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DisplayScalingCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->DisplayScalingCombo)," "); else{ if (!strcmp(dpi,"2K")||!strcmp(dpi,"4K")){ gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets),dpi); @@ -181,14 +181,14 @@ void yon_interface_update(){ else if (!yon_char_is_empty(failsafenvidia)&&!strcmp(failsafenvidia,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FailsafeNvidiaCombo),1); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FailsafeNvidiaCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->FailsafeNvidiaCombo)," "); if (!yon_char_is_empty(failsafeati)&&!strcmp(failsafeati,"fbdev")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FailsafeAMDCombo),2); else if (!yon_char_is_empty(failsafeati)&&!strcmp(failsafeati,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FailsafeAMDCombo),1); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->FailsafeAMDCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->FailsafeAMDCombo)," "); if (!yon_char_is_empty(optirun)){ if (strcmp(optirun,"no")){ @@ -198,9 +198,9 @@ void yon_interface_update(){ gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->OptirunCombo),1); } } else if (yon_char_is_empty(optirun)) - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->OptirunCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->OptirunCombo)," "); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->OptirunCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->OptirunCombo)," "); if (!yon_char_is_empty(primusrun)){ if (strcmp(primusrun,"no")){ @@ -210,23 +210,23 @@ void yon_interface_update(){ gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->PrimusrunCombo),1); } } else if (yon_char_is_empty(primusrun)) - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->PrimusrunCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->PrimusrunCombo)," "); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->PrimusrunCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->PrimusrunCombo)," "); if (!yon_char_is_empty(dpms)&&!strcmp(dpms,"dpms")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DontSwitchDisplaysOffCombo),2); else if (!yon_char_is_empty(dpms)&&!strcmp(dpms,"nodpms")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DontSwitchDisplaysOffCombo),1); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DontSwitchDisplaysOffCombo),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->DontSwitchDisplaysOffCombo)," "); if (!yon_char_is_empty(discrete)&&!strcmp(discrete,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DisplayDiscreteOnly),2); else if (!yon_char_is_empty(discrete)&&!strcmp(discrete,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DisplayDiscreteOnly),1); else - gtk_combo_box_set_active(GTK_COMBO_BOX(main_config.widgets->DisplayDiscreteOnly),0); + gtk_combo_box_set_active_id(GTK_COMBO_BOX(main_config.widgets->DisplayDiscreteOnly)," "); yon_monitor_view_update(); } @@ -875,6 +875,7 @@ template_main_window *yon_main_window_complete(main_window *widgets){ { yon_combo_box_set_default(GTK_COMBO_BOX_TEXT(widgets->PrimusrunCombo),PRIMUSRUN_command,yon_primusrun_default); } + while(gtk_events_pending()) gtk_main_iteration(); yon_adapter_window_setup(widgets); yon_save_window_set_postsave_function(on_save_done,widgets); diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 6d9a0c2..a41252b 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -128,7 +128,7 @@ END {\n\ #define XORG_PARAMETER "XORG_MONITOR" -#define config_get_command(source) yon_char_unite("ubconfig --source ",source," get [video] XORG_MONITOR[*] VGADRV_AUTO VGADRV_NOFREE XORG_EXT XORG_DPI FAILSAFEATI FAILSAFENVIDIA OPTIRUN PRIMUSRUN INTEGRATEDVGA",NULL),yon_char_unite("ubconfig --source ",source," get [system] ENVIRONMENT[profile:__GL_YIELD] ENVIRONMENT[profile:KWIN_TRIPLE_BUFFER]",NULL) +#define config_get_command(source) yon_char_unite("ubconfig --source ",source," -ea get [video] XORG_MONITOR[*] VGADRV_AUTO VGADRV_NOFREE XORG_EXT XORG_DPI FAILSAFEATI FAILSAFENVIDIA OPTIRUN PRIMUSRUN INTEGRATEDVGA",NULL),yon_char_unite("ubconfig --source ",source," get [system] ENVIRONMENT[profile:__GL_YIELD] ENVIRONMENT[profile:KWIN_TRIPLE_BUFFER]",NULL) #define config_get_default_command "" #define config_get_global_only_parameters "" From 1a586a1727d15331be1031a52780d0c839613ebb Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 13 Aug 2025 15:43:52 +0600 Subject: [PATCH 2/9] Fixes --- source/ubl-settings-video-install.c | 25 ++++++++++++++++--------- source/ubl-settings-video-monitor.c | 16 +++++++++++++++- source/ubl-settings-video.c | 2 +- source/ubl-settings-video.h | 5 +++-- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/source/ubl-settings-video-install.c b/source/ubl-settings-video-install.c index f090b5e..27198e6 100644 --- a/source/ubl-settings-video-install.c +++ b/source/ubl-settings-video-install.c @@ -1,5 +1,14 @@ #include "ubl-settings-video.h" +char *yon_char_extend(char *target, char symbol, size_t length){ + if (!target||strlen(target)>=length) return target; + int size = sizeof(char)*length+1; + char *newstring = malloc(size); + memset(newstring,0,size); + memset(newstring,symbol,length); + memcpy(newstring,target,strlen(target)); + return newstring; +} void on_terminal_revealer_open(GtkWidget *, main_window *widgets){ int opened = gtk_widget_get_visible(widgets->TerminalPaned); @@ -19,8 +28,6 @@ void on_terminal_revealer_open(GtkWidget *, main_window *widgets){ gtk_widget_show(widgets->TerminalPaned); gtk_widget_show(widgets->TerminalMoveBox); - - } break; case 1: { //closes gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL); @@ -61,8 +68,8 @@ void on_install_activate(GtkWidget *self, main_window *widgets){ if (is_installed){ data->action_text = REMOVE_CONFIRMATION_LABEL(install_target); } else { - data->action_text = self == driver->ModuleInstalledCheck?yon_char_unite(INSTALL_CONFIRMATION_LABEL(install_target),"\n",INSTALL_ATTENTION_LABEL,NULL): - INSTALL_CONFIRMATION_LABEL(install_target); + data->action_text = self == driver->ModuleInstalledCheck?INSTALL_CONFIRMATION_LABEL(install_target): + yon_char_unite(INSTALL_CONFIRMATION_LABEL(install_target),"\n",INSTALL_ATTENTION_LABEL,NULL); } char *command = NULL; if (is_installed){ @@ -81,12 +88,12 @@ void on_install_activate(GtkWidget *self, main_window *widgets){ vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1); g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_install_check),driver); yon_install_buttons_set_sensitive(widgets,0); - yon_terminal_integrated_start_shell(widgets->InstallTerminal,command,NULL,NULL); + yon_terminal_integrated_start_shell(widgets->InstallTerminal,yon_debug_output("%s\n",command),NULL,NULL); // g_signal_connect(G_OBJECT(widgets->InstallTerminal),"contents-changed",G_CALLBACK(on_terminal_check_progress),widgets); - if (!gtk_widget_get_visible(widgets->TerminalPaned)){ - on_terminal_revealer_open(NULL,widgets); - } - g_timeout_add(500,(GSourceFunc)on_terminal_check_progress,widgets); + if (!gtk_widget_get_visible(widgets->TerminalPaned)){ + on_terminal_revealer_open(NULL,widgets); + } + g_timeout_add(500,(GSourceFunc)on_terminal_check_progress,widgets); } void on_install_check(GtkWidget *self,gint ,driver_struct *driver){ diff --git a/source/ubl-settings-video-monitor.c b/source/ubl-settings-video-monitor.c index a0f71d8..de229f6 100644 --- a/source/ubl-settings-video-monitor.c +++ b/source/ubl-settings-video-monitor.c @@ -260,7 +260,21 @@ void on_port_chosen_changed(GtkWidget *, monitor_edit_window *window){ int size; config_str parsed = yon_char_parse(main_config.resolutions_sorted[i],&size,";"); if (!yon_char_is_empty(parsed[0])){ - gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->ResolutionCombo),parsed[0],g_hash_table_lookup(main_config.resolutions,parsed[0])); + char *cur_res = g_hash_table_lookup(main_config.resolutions,parsed[0]); + int res_size; + config_str parsed_res = yon_char_parse(cur_res,&res_size,";"); + char *temp = yon_char_extend(parsed_res[0],' ',12); + if (strcmp(temp,parsed_res[0]))free(parsed_res[0]); + parsed_res[0]=temp; + temp = yon_char_extend(parsed_res[1],' ',5); + if (strcmp(temp,parsed_res[1]))free(parsed_res[1]); + parsed_res[1]=temp; + temp = yon_char_extend(parsed_res[2],' ',10); + if (strcmp(temp,parsed_res[2]))free(parsed_res[2]); + parsed_res[2]=temp; + cur_res = yon_char_parsed_to_string(parsed_res,res_size,"\t"); + yon_char_parsed_free(parsed_res,res_size); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->ResolutionCombo),parsed[0],cur_res); } yon_char_parsed_free(parsed,size); } diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index f2e5588..38a8fd4 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -396,7 +396,7 @@ void yon_all_resolutions_update(){ for (int i=1;iInstallTerminal),"pid"); + // if (!pid) return; + const char cancel_signal = 3; + char *command = yon_char_new(" "); + command[0]=cancel_signal; + char *tmp = yon_char_unite(command,"tput reset; tput cup 0 0; tput ed; exit 0\n",NULL); + free(command); + vte_terminal_feed_child(VTE_TERMINAL(widgets->InstallTerminal),tmp,strlen(tmp)); + free(tmp); + // vte_terminal_feed(VTE_TERMINAL(widgets->InstallTerminal),"tput reset; tput cup 0 0; tput ed; exit 0",1); } void on_terminal_more(GtkWidget *, main_window *widgets){ diff --git a/source/ubl-settings-video-install.c b/source/ubl-settings-video-install.c index 27198e6..4913169 100644 --- a/source/ubl-settings-video-install.c +++ b/source/ubl-settings-video-install.c @@ -102,4 +102,12 @@ void on_install_check(GtkWidget *self,gint ,driver_struct *driver){ yon_driver_struct_update(widgets,driver); g_signal_handlers_disconnect_by_func(G_OBJECT(self),G_CALLBACK(on_install_check),driver); +} + + +void on_driver_child_ready(VteTerminal *terminal, GPid pid, GError *, gpointer ){ + + if (!terminal) return; + if (pid == -1) printf("Error\n\n\n"); + // else g_object_set_data(G_OBJECT(terminal),"pid",(void*)pid); } \ No newline at end of file diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 38a8fd4..322eb0e 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -830,6 +830,7 @@ template_main_window *yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->MoreButton),"clicked",G_CALLBACK(on_terminal_revealer_open),widgets); g_signal_connect(G_OBJECT(widgets->TerminalCancelButton),"clicked",G_CALLBACK(on_command_cancel),widgets); g_signal_connect(G_OBJECT(widgets->UnlockPacmanButton),"clicked",G_CALLBACK(on_pacman_db_unlock),NULL); + // g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-ready",G_CALLBACK(on_driver_child_ready),NULL); char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL); yon_window_config_load(path); gtk_overlay_add_overlay(GTK_OVERLAY(widgets->MainOverlay),widgets->MainSpinner); diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 249531c..2bc3b4f 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -14,6 +14,7 @@ #include #include #include +#include #include "ubl-strings.h" #define VTE_INCLUDE #include @@ -473,5 +474,6 @@ void yon_all_resolutions_update(); void yon_monitor_port_manual(GtkToggleButton *self,monitor_edit_window *monitors); int yon_string_compare(char **a, char **b); char *yon_char_extend(char *target, char symbol, size_t length); +void on_driver_child_ready(VteTerminal *terminal, GPid pid, GError *, gpointer ); #endif \ No newline at end of file From c8c35799cce5becc4073301326b45b80f97df594 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 13 Aug 2025 17:51:57 +0600 Subject: [PATCH 4/9] Access for file check --- source/ubl-settings-video.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 322eb0e..7de93b8 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -250,6 +250,11 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ char *path = NULL; path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); if (!yon_char_is_empty(path)){ + if ((access(path,0)==F_OK&&access(path,4)!=F_OK)){ + if (yon_status_box_is_set()){ + yon_ubl_status_box_render(ACCESS_DENIED_LABEL(path),BACKGROUND_IMAGE_FAIL_TYPE); + } + } yon_config_clean(); yon_config_load_config(type,config_get_command(path),NULL); yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); From 4e3126f6e4a4adb4e43f9173c8b3706ca3a5b822 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 13 Aug 2025 17:57:57 +0600 Subject: [PATCH 5/9] Removed unused lib --- source/ubl-settings-video.h | 1 - 1 file changed, 1 deletion(-) diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 2bc3b4f..9d6e4d8 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -14,7 +14,6 @@ #include #include #include -#include #include "ubl-strings.h" #define VTE_INCLUDE #include From c4efd1761e10e2084e89d87caf620120690d0b3d Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 14 Aug 2025 16:16:53 +0600 Subject: [PATCH 6/9] Changed command --- source/ubl-settings-video.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 9d6e4d8..c5bd21a 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -128,7 +128,7 @@ END {\n\ #define XORG_PARAMETER "XORG_MONITOR" -#define config_get_command(source) yon_char_unite("ubconfig --source ",source," -ea get [video] XORG_MONITOR[*] VGADRV_AUTO VGADRV_NOFREE XORG_EXT XORG_DPI FAILSAFEATI FAILSAFENVIDIA OPTIRUN PRIMUSRUN INTEGRATEDVGA",NULL),yon_char_unite("ubconfig --source ",source," get [system] ENVIRONMENT[profile:__GL_YIELD] ENVIRONMENT[profile:KWIN_TRIPLE_BUFFER]",NULL) +#define config_get_command(source) yon_char_unite("ubconfig --source ",source," -ea get [video] XORG_MONITOR[*] VGADRV_AUTO VGADRV_NOFREE XORG_EXT XORG_DPI FAILSAFEATI FAILSAFENVIDIA OPTIRUN PRIMUSRUN INTEGRATEDVGA -- [system] ENVIRONMENT[profile:__GL_YIELD] ENVIRONMENT[profile:KWIN_TRIPLE_BUFFER]",NULL) #define config_get_default_command "" #define config_get_global_only_parameters "" From 5e3d688f31b9419db379fa87bcc60f34e22e939e Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 14 Aug 2025 17:23:49 +0600 Subject: [PATCH 7/9] Changed resolutions list --- source/ubl-settings-video-monitor.c | 13 ------------- source/ubl-settings-video.c | 9 +++++++-- source/ubl-settings-video.h | 2 ++ 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/source/ubl-settings-video-monitor.c b/source/ubl-settings-video-monitor.c index de229f6..e3ef44c 100644 --- a/source/ubl-settings-video-monitor.c +++ b/source/ubl-settings-video-monitor.c @@ -261,19 +261,6 @@ void on_port_chosen_changed(GtkWidget *, monitor_edit_window *window){ config_str parsed = yon_char_parse(main_config.resolutions_sorted[i],&size,";"); if (!yon_char_is_empty(parsed[0])){ char *cur_res = g_hash_table_lookup(main_config.resolutions,parsed[0]); - int res_size; - config_str parsed_res = yon_char_parse(cur_res,&res_size,";"); - char *temp = yon_char_extend(parsed_res[0],' ',12); - if (strcmp(temp,parsed_res[0]))free(parsed_res[0]); - parsed_res[0]=temp; - temp = yon_char_extend(parsed_res[1],' ',5); - if (strcmp(temp,parsed_res[1]))free(parsed_res[1]); - parsed_res[1]=temp; - temp = yon_char_extend(parsed_res[2],' ',10); - if (strcmp(temp,parsed_res[2]))free(parsed_res[2]); - parsed_res[2]=temp; - cur_res = yon_char_parsed_to_string(parsed_res,res_size,"\t"); - yon_char_parsed_free(parsed_res,res_size); gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->ResolutionCombo),parsed[0],cur_res); } yon_char_parsed_free(parsed,size); diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 7de93b8..91df846 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -398,12 +398,17 @@ void yon_proprietary_get_thread(GtkWidget *,main_window *widgets){ void yon_all_resolutions_update(){ main_config.resolutions_sorted = yon_resource_open_file(get_resolutions_supportable_command,&main_config.resolutions_size); - for (int i=1;i Date: Thu, 14 Aug 2025 18:06:47 +0600 Subject: [PATCH 8/9] Fixed access denided message --- source/ubl-settings-video.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index 91df846..dcbcce1 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -249,10 +249,12 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ case YON_CONFIG_CUSTOM: char *path = NULL; path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); + yon_char_remove_brackets(path); if (!yon_char_is_empty(path)){ if ((access(path,0)==F_OK&&access(path,4)!=F_OK)){ if (yon_status_box_is_set()){ yon_ubl_status_box_render(ACCESS_DENIED_LABEL(path),BACKGROUND_IMAGE_FAIL_TYPE); + return; } } yon_config_clean(); From 61cff9f3c5819f8798c047e87290bd3ea7f73cdf Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 19 Aug 2025 17:47:16 +0600 Subject: [PATCH 9/9] Test remove on terminal cancel resetting --- source/ubl-settings-video-driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-video-driver.c b/source/ubl-settings-video-driver.c index 54d2a4a..b6240f2 100644 --- a/source/ubl-settings-video-driver.c +++ b/source/ubl-settings-video-driver.c @@ -76,7 +76,7 @@ void on_terminal_done(GtkWidget *, int , main_window *widgets){ const char cancel_signal = 3; char *command = yon_char_new(" "); command[0]=cancel_signal; - char *tmp = yon_char_unite(command,"tput reset; tput cup 0 0; tput ed; exit 0\n",NULL); + char *tmp = yon_char_unite(command,"exit 0\n",NULL); free(command); vte_terminal_feed_child(VTE_TERMINAL(widgets->InstallTerminal),tmp,strlen(tmp)); free(tmp);