diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index e97f344..8a5227f 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -196,6 +196,7 @@ void on_driver_install(GtkWidget *self,widgets_dict *widgets){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ gtk_tree_model_get(list_s,&iter,2,&name,-1); yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name)); + gtk_list_store_set(videoconfig.list,&iter,0,1,-1); } else { yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); } @@ -271,6 +272,7 @@ void on_driver_delete(GtkWidget *self,widgets_dict *widgets){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ gtk_tree_model_get(list_s,&iter,2,&name,-1); yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name)); + gtk_list_store_set(videoconfig.list,&iter,0,0,-1); } else { yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); } @@ -1094,14 +1096,21 @@ void yon_proprietary_local_get(){ config_str rtn=NULL; rtn = yon_config_load(get_proprietary_drivers_info_command,&size); config_str drivers=yon_config_load(get_proprietary_installed_command,&drivers_size); - for (int dr_desc=0;dr_desc-1){ + yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[dr_desc]); + } + } else if (strcmp(current[1],"")){ + int target = yon_char_parsed_check_exist(drivers,drivers_size,current[1]); + if (target>-1){ + yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[dr_desc]); } } } diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h index 31176a5..a1798d2 100644 --- a/source/ubl-settings-video.h +++ b/source/ubl-settings-video.h @@ -77,9 +77,9 @@ #define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2" -#define get_proprietary_drivers_command "pacman -Ssyq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms'|grep -E 'nvidia|^vulkan-|^amdgpu-pro-libgl'" +#define get_proprietary_drivers_command "pacman -Ssyq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms|^mesa$|^xf86-video-intel$|^lib32-vulkan-intel$'" #define get_proprietary_drivers_local_command "pacman -Qq |grep -E 'nvidia|^vulkan-amdgpu|^amdgpu-pro-libgl'" -#define get_proprietary_installed_command "pacman -Qs 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms'" +#define get_proprietary_installed_command "pacman -Qsq 'ubm-nvidia-.*|amdgpu|^nvidia-[0-9]{1,}[a-zA-Z]{0,}-dkms|^mesa$|^xf86-video-intel$|^lib32-vulkan-intel$'" // #define get_proprietary_drivers_command "LC_ALL=C pacman -Ss ubm-nvidia-.* |grep -oE \"[a-zA-Z-]{1,}nvidia-[a-zA-Z0-9-]{1,}|installed\"|sed ':a;N;$!ba;s/\\ninstalled/ installed/g'" #define get_adapter_info "lshw -c display -quiet |grep -oE \"vendor:[0-9a-zA-Z ]{1,}|description:[0-9a-zA-Z ]{1,}|product:[]0-9a-zA-Z [-]{1,}\"|sed 's/: /=/g';lspci | grep -E ' VGA | Display ' | cut -d\" \" -f 1 | xargs -i lspci -v -s {} |grep -oE \"Kernel[:a-zA-Z0-9: ,_]{1,}\"|sed 's/: /=/g'|sed 's/ /-/g'"