Test fix for drivers getting

pull/55/head
parent 37d02e7425
commit 466195ac6a

@ -13,6 +13,11 @@ include_directories(${VTE291_INCLUDE_DIRS})
link_directories(${VTE291_LIBRARY_DIRS})
add_definitions(${VTE291_CFLAGS_OTHER})
pkg_check_modules(JSON REQUIRED json-c)
include_directories(${JSON_INCLUDE_DIRS})
link_directories(${JSON_LIBRARY_DIRS})
add_definitions(${JSON_CFLAGS_OTHER})
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
option(WEBKIT_FOUND "No" OFF)
@ -84,6 +89,7 @@ set(LIBRARIES
${GTK_LIBRARIES}
${WEBKIT_LIBRARIES}
${VTE291_LIBRARIES}
${JSON_LIBRARIES}
pthread)

@ -1526,17 +1526,32 @@ void yon_monitor_set_resolutions(){
void yon_adapter_window_setup(widgets_dict *widgets){
int size=0;
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay),widgets->InformationCompanyLogoImage);
config_str rtn = yon_config_load(get_adapter_info,&size);
char *desc = yon_config_get_parameter(rtn,size,"description");
yon_char_divide_search(desc,"=",-1);
char *product = yon_config_get_parameter(rtn,size,"product");
yon_char_divide_search(product,"=",-1);
char *vendor = yon_config_get_parameter(rtn,size,"vendor");
yon_char_divide_search(vendor,"=",-1);
char *driver_use = yon_config_get_parameter(rtn,size,"Kernel-driver-in-use");
yon_char_divide_search(driver_use,"=",-1);
char *driver_all = yon_config_get_parameter(rtn,size,"Kernel-modules");
yon_char_divide_search(driver_all,"=",-1);
config_str rtn = yon_config_load(get_adapter_info_json,&size);
struct json_object *jsobject = json_tokener_parse(yon_char_parsed_to_string(rtn,size,""));{
struct json_object *item_obj = json_object_array_get_idx(jsobject, 0);
struct json_object *unit_obj;
const char *desc="";
if (json_object_object_get_ex(item_obj, "description", &unit_obj)) {
desc = json_object_get_string(unit_obj);
}
const char *product ="";
if (json_object_object_get_ex(item_obj, "product", &unit_obj)) {
product = json_object_get_string(unit_obj);
}
const char *vendor="";
if (json_object_object_get_ex(item_obj, "vendor", &unit_obj)) {
vendor = json_object_get_string(unit_obj);
}
const char *driver_use="";
if (json_object_object_get_ex(item_obj, "configuration", &unit_obj)) {
if (json_object_object_get_ex(unit_obj, "driver", &unit_obj))
driver_use = json_object_get_string(unit_obj);
}
const char *driver_all="";
if (json_object_object_get_ex(item_obj, "configuration", &unit_obj)) {
if (json_object_object_get_ex(unit_obj, "driver", &unit_obj))
driver_all = json_object_get_string(unit_obj);
}
char *final_text = yon_char_unite("<span size=\"12pt\"><span weight='bold' color='#1a5fb4'>",DESCRIPTION_LABEL,":</span> ",_(desc),
"\n<span weight='bold' color='#1a5fb4'>",VENDOR_LABEL,":</span> ",vendor,
"\n<span weight='bold' color='#1a5fb4'>",MODEL_LABEL,":</span> ",product,
@ -1562,21 +1577,33 @@ void yon_adapter_window_setup(widgets_dict *widgets){
else {
gtk_widget_destroy(widgets->InformationCompanyLogoImage);
}
if (size>5){
}
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay2),widgets->InformationCompanyLogoImage2);
rtn=yon_char_parsed_rip(rtn,&size,0);
rtn=yon_char_parsed_rip(rtn,&size,0);
rtn=yon_char_parsed_rip(rtn,&size,0);
char *desc = yon_config_get_parameter(rtn,size,"description");
yon_char_divide_search(desc,"=",-1);
char *product = yon_config_get_parameter(rtn,size,"product");
yon_char_divide_search(product,"=",-1);
char *vendor = yon_config_get_parameter(rtn,size,"vendor");
yon_char_divide_search(vendor,"=",-1);
char *driver_use = yon_config_get_parameter(rtn,size,"Kernel-driver-in-use");
yon_char_divide_search(driver_use,"=",-1);
char *driver_all = yon_config_get_parameter(rtn,size,"Kernel-modules");
yon_char_divide_search(driver_all,"=",-1);
struct json_object *item_obj = json_object_array_get_idx(jsobject, 1);
if (item_obj){
struct json_object *unit_obj;
const char *desc="";
if (json_object_object_get_ex(item_obj, "description", &unit_obj)) {
desc = json_object_get_string(unit_obj);
}
const char *product ="";
if (json_object_object_get_ex(item_obj, "product", &unit_obj)) {
product = json_object_get_string(unit_obj);
}
const char *vendor="";
if (json_object_object_get_ex(item_obj, "vendor", &unit_obj)) {
vendor = json_object_get_string(unit_obj);
}
const char *driver_use="";
if (json_object_object_get_ex(item_obj, "capabilities", &unit_obj)) {
if (json_object_object_get_ex(unit_obj, "driver", &unit_obj))
driver_use = json_object_get_string(unit_obj);
}
const char *driver_all="";
if (json_object_object_get_ex(item_obj, "capabilities", &unit_obj)) {
if (json_object_object_get_ex(unit_obj, "driver", &unit_obj))
driver_all = json_object_get_string(unit_obj);
}
char *final_text = yon_char_unite("<span size=\"12pt\"><span weight='bold' color='#1a5fb4'>",DESCRIPTION_LABEL,":</span> ",_(desc),
"\n<span weight='bold' color='#1a5fb4'>",VENDOR_LABEL,":</span> ",vendor,
"\n<span weight='bold' color='#1a5fb4'>",MODEL_LABEL,":</span> ",product,

@ -16,6 +16,7 @@
#include <getopt.h>
#include <libintl.h>
#include <time.h>
#include <json-c/json.h>
#include "ubl-utils.h"
#include "ubl-strings.h"
#ifndef UBL_SETINGS_VIDEO_H
@ -82,6 +83,7 @@
// #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'"
#define get_adapter_info_json "lshw -c display -quiet -json"
#define XORG_MONITOR(port) yon_char_append(" XORG_MONITOR[",yon_char_append(port,"] "))

@ -704,6 +704,21 @@ char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete){
} else return NULL;
}
char *yon_char_parsed_to_string(config_str parsed, int size, char *divider_replace){
if (parsed && size>0){
char *final_string = "";
char *temp;
for (int i=0;i<size;i++){
temp = yon_char_unite(final_string,yon_char_is_empty(final_string)?"":divider_replace,parsed[i],NULL);
if (!yon_char_is_empty(final_string)) free(final_string);
final_string=temp;
}
if (!yon_char_is_empty(final_string)){
return final_string;
} else return NULL;
} else if (size==0&&!parsed) return "";
}
/**yon_char_parsed_check_exist(char **parameters, int size, char *param)
* [EN]
* Checks if [parameters] string array of length [size]

@ -150,6 +150,8 @@ void *yon_dictionary_free_all(dictionary *dictionary,void (data_manipulation)(vo
// char functions
#define yon_char_is_empty(string) !(string&&strcmp(string,""))
int yon_char_find_last(char *source, char find);
char *yon_char_append(char *source, char *append);
@ -173,6 +175,8 @@ char **yon_char_parse(char *parameters, int *size, char *divider);
char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete);
char *yon_char_parsed_to_string(config_str parsed, int size, char *divider_replace);
int yon_char_parsed_check_exist(char **parameters, int size, char *param);
void yon_char_parsed_free(config_str source, int size);

Loading…
Cancel
Save