utils update

pull/45/head
parent 0b612b8a05
commit 6d0588ac78

@ -30,7 +30,7 @@ void on_resized(GtkWidget *window, GdkEventConfigure *event){
void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
monitorconfig *config = yon_dictionary_get_data(window->config,monitorconfig*); monitorconfig *config = yon_dictionary_get_data(window->config,monitorconfig*);
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationPortCombo))==0){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->templateMonitorConfigurationPortCombo))==0){
yon_ubl_status_box_render(videoconfig.status_render,MONITOR_PORT_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(MONITOR_PORT_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
return; return;
} }
config->main=0; config->main=0;
@ -44,7 +44,7 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
config->port=NULL; config->port=NULL;
config->resolution=NULL; config->resolution=NULL;
config->frequency=0; config->frequency=0;
yon_ubl_status_box_render(videoconfig.status_render,MONITOR_PORT_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(MONITOR_PORT_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
config->port = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationPortCombo)); config->port = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationPortCombo));
window->config->key = yon_char_new(config->port); window->config->key = yon_char_new(config->port);
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->templateMonitorConfigurationParameterLineCheck))==0){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->templateMonitorConfigurationParameterLineCheck))==0){
@ -97,7 +97,7 @@ void on_terminal_destroy(GtkWidget *self, widgets_dict *widgets){
gtk_widget_destroy(widgets->TerminalRevealer); gtk_widget_destroy(widgets->TerminalRevealer);
yon_proprieary_get(); yon_proprieary_get();
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_OPETAION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_OPETAION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data) static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data)
@ -174,44 +174,44 @@ void yon_terminal_start(widgets_dict *widgets, char *usr_command){
} }
void on_driver_pack_install(GtkWidget *self,widgets_dict *widgets){ void on_driver_pack_install(GtkWidget *self,widgets_dict *widgets){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
GtkTreeIter iter; GtkTreeIter iter;
char *name; char *name;
GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list); GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1); gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(install_proprietary_command,name)); yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
void on_driver_install(GtkWidget *self,widgets_dict *widgets){ void on_driver_install(GtkWidget *self,widgets_dict *widgets){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_INSTALLING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
GtkTreeIter iter; GtkTreeIter iter;
char *name; char *name;
GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list); GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,2,&name,-1); gtk_tree_model_get(list_s,&iter,2,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(install_proprietary_command,name)); yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
void on_driver_pack_delete(GtkWidget *self,widgets_dict *widgets){ void on_driver_pack_delete(GtkWidget *self,widgets_dict *widgets){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_DELETING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_DELETING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
GtkTreeIter iter; GtkTreeIter iter;
char *name; char *name;
GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list); GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if(gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1); gtk_tree_model_get(list_s,&iter,1,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(delete_proprietary_command,name)); yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
@ -253,16 +253,16 @@ void on_driver_selection_change(GtkWidget *self, widgets_dict *widgets){
} }
void on_driver_delete(GtkWidget *self,widgets_dict *widgets){ void on_driver_delete(GtkWidget *self,widgets_dict *widgets){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_DELETING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_DELETING_IN_PROGRESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
GtkTreeIter iter; GtkTreeIter iter;
char *name; char *name;
GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list); GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,2,&name,-1); gtk_tree_model_get(list_s,&iter,2,&name,-1);
yon_terminal_start(widgets,yon_char_get_augumented(delete_proprietary_command,name)); yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
@ -277,9 +277,9 @@ void on_driver_pack_info(GtkWidget *self, widgets_dict *widgets){
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,1,&name,-1); gtk_tree_model_get(list_s,&iter,1,&name,-1);
pthread_create(&tid,&attr,(void*)yon_launch_app,yon_char_get_augumented(get_info_proprietary_command,name)); pthread_create(&tid,&attr,(void*)yon_launch,yon_char_append(get_info_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
@ -294,9 +294,9 @@ void on_driver_info(GtkWidget *self,widgets_dict *widgets){
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){ if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
gtk_tree_model_get(list_s,&iter,2,&name,-1); gtk_tree_model_get(list_s,&iter,2,&name,-1);
pthread_create(&tid,&attr,(void*)yon_launch_app,yon_char_get_augumented(get_info_proprietary_command,name)); pthread_create(&tid,&attr,(void*)yon_launch,yon_char_append(get_info_proprietary_command,name));
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
@ -318,7 +318,7 @@ void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){
if (window->curport){ if (window->curport){
gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(window->mainMonitorConfigurationBox)),window->curport); gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(window->mainMonitorConfigurationBox)),window->curport);
dict=yon_dictionary_find(&videoconfig.supported_resolutions,window->curport); dict=yon_dictionary_get(&videoconfig.supported_resolutions,window->curport);
if (dict){ if (dict){
resolution_supported *res = yon_dictionary_get_data(dict,resolution_supported*); resolution_supported *res = yon_dictionary_get_data(dict,resolution_supported*);
int found_size=0; int found_size=0;
@ -336,7 +336,7 @@ void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){
} }
} }
} }
yon_gtk_combo_box_fill(window->templateMonitorConfigurationResolutionCombo,config->resolutionCapabilities, config->resolution_size); yon_gtk_combo_box_text_fill(window->templateMonitorConfigurationResolutionCombo,config->resolutionCapabilities, config->resolution_size);
} }
} }
} }
@ -373,26 +373,26 @@ char *yon_configuration_get_save_command(char *command){
str=yon_char_new(command); str=yon_char_new(command);
if (videoconfig.autoChooseDrivers==0){ if (videoconfig.autoChooseDrivers==0){
if (strcmp(videoconfig.failsafenVidia, dntus)!=0) if (strcmp(videoconfig.failsafenVidia, dntus)!=0)
str = yon_char_get_augumented(str, yon_char_get_augumented(" FAILSAFENVIDIA=", videoconfig.failsafenVidia)); str = yon_char_append(str, yon_char_append(" FAILSAFENVIDIA=", videoconfig.failsafenVidia));
else else
str = yon_char_get_augumented(str," FAILSAFENVIDIA=\"\""); str = yon_char_append(str," FAILSAFENVIDIA=\"\"");
if (strcmp(videoconfig.failsafeATI, dntus)!=0) if (strcmp(videoconfig.failsafeATI, dntus)!=0)
str = yon_char_get_augumented(str, yon_char_get_augumented(" FAILSAFEATI=", videoconfig.failsafeATI)); str = yon_char_append(str, yon_char_append(" FAILSAFEATI=", videoconfig.failsafeATI));
else else
str = yon_char_get_augumented(str," FAILSAFEATI=\"\""); str = yon_char_append(str," FAILSAFEATI=\"\"");
str=yon_char_get_augumented(str," VGADRV_AUTO=NO"); str=yon_char_append(str," VGADRV_AUTO=NO");
} else { } else {
str = yon_char_unite(str, " FAILSAFENVIDIA=\"\" FAILSAFEATI=\"\" VGADRV_AUTO=YES", NULL); str = yon_char_unite(str, " FAILSAFENVIDIA=\"\" FAILSAFEATI=\"\" VGADRV_AUTO=YES", NULL);
} }
if (videoconfig.optirun&&strcmp(videoconfig.optirun, dntus)!=0&&strcmp(videoconfig.optirun, "")!=0) if (videoconfig.optirun&&strcmp(videoconfig.optirun, dntus)!=0&&strcmp(videoconfig.optirun, "")!=0)
str = yon_char_get_augumented(str, yon_char_unite(" OPTIRUN=","\"",videoconfig.optirun,"\"",NULL)); str = yon_char_append(str, yon_char_unite(" OPTIRUN=","\"",videoconfig.optirun,"\"",NULL));
else else
str = yon_char_get_augumented(str, yon_char_unite(" OPTIRUN=\"\"",NULL)); str = yon_char_append(str, yon_char_unite(" OPTIRUN=\"\"",NULL));
if (videoconfig.primusrun&&strcmp(videoconfig.primusrun, dntus)!=0&&strcmp(videoconfig.primusrun, "")!=0) if (videoconfig.primusrun&&strcmp(videoconfig.primusrun, dntus)!=0&&strcmp(videoconfig.primusrun, "")!=0)
str = yon_char_get_augumented(str, yon_char_unite(" PRIMUSRUN=","\"", videoconfig.primusrun,"\"",NULL)); str = yon_char_append(str, yon_char_unite(" PRIMUSRUN=","\"", videoconfig.primusrun,"\"",NULL));
else else
str = yon_char_get_augumented(str, yon_char_unite(" PRIMUSRUN=\"\"",NULL)); str = yon_char_append(str, yon_char_unite(" PRIMUSRUN=\"\"",NULL));
dictionary *dict=NULL; dictionary *dict=NULL;
for (int i=0;i<videoconfig.portssize;i++) for (int i=0;i<videoconfig.portssize;i++)
@ -415,9 +415,9 @@ void on_resolutions_unsupported_show(GtkWidget *self, monitor_edit_window *windo
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationResolutionCombo),PARAMETER_DEFAULT_LABEL); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(window->templateMonitorConfigurationResolutionCombo),PARAMETER_DEFAULT_LABEL);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(window->templateMonitorConfigurationResolutionCombo),0);
if (((monitorconfig*)window->config->data)->show_usupported==1){ if (((monitorconfig*)window->config->data)->show_usupported==1){
yon_gtk_combo_box_fill(window->templateMonitorConfigurationResolutionCombo,videoconfig.resolutions,videoconfig.resolutionssize); yon_gtk_combo_box_text_fill(window->templateMonitorConfigurationResolutionCombo,videoconfig.resolutions,videoconfig.resolutionssize);
} else { } else {
yon_gtk_combo_box_fill(window->templateMonitorConfigurationResolutionCombo,((monitorconfig*)window->config->data)->resolutionCapabilities,((monitorconfig*)window->config->data)->resolution_size); yon_gtk_combo_box_text_fill(window->templateMonitorConfigurationResolutionCombo,((monitorconfig*)window->config->data)->resolutionCapabilities,((monitorconfig*)window->config->data)->resolution_size);
} }
} }
@ -427,13 +427,13 @@ char *yon_configuration_get_remove_command(char *command){
char *dntus = NULL; char *dntus = NULL;
dntus=_("Don't use"); dntus=_("Don't use");
str=yon_char_new(command); str=yon_char_new(command);
str = yon_char_get_augumented(str, " FAILSAFENVIDIA"); str = yon_char_append(str, " FAILSAFENVIDIA");
str = yon_char_get_augumented(str, " FAILSAFATI"); str = yon_char_append(str, " FAILSAFATI");
str = yon_char_get_augumented(str, " OPTIRUN"); str = yon_char_append(str, " OPTIRUN");
str = yon_char_get_augumented(str, " PRIMUSRUN"); str = yon_char_append(str, " PRIMUSRUN");
dictionary *dict=NULL; dictionary *dict=NULL;
for(int i=0;i<videoconfig.portssize;i++){ for(int i=0;i<videoconfig.portssize;i++){
str = yon_char_get_augumented(str, yon_char_get_augumented(" ",XORG_MONITOR(videoconfig.ports[i]))); str = yon_char_append(str, yon_char_append(" ",XORG_MONITOR(videoconfig.ports[i])));
} }
if (strcmp(str,command)!=0) if (strcmp(str,command)!=0)
return str; return str;
@ -447,15 +447,15 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
char *delstr=NULL; char *delstr=NULL;
str=yon_configuration_get_save_command(save_drivers_local_command); str=yon_configuration_get_save_command(save_drivers_local_command);
if (str){ if (str){
yon_config_save(str); yon_launch(str);
yon_ubl_status_box_render(videoconfig.status_render,LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
} }
void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets)
{ {
on_configuration_save_global_local(self, widgets); on_configuration_save_global_local(self, widgets);
yon_ubl_status_box_render(videoconfig.status_render,GLOBAL_LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(GLOBAL_LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
void on_configuration_save_global_local(GtkWidget *self, widgets_dict *widgets) void on_configuration_save_global_local(GtkWidget *self, widgets_dict *widgets)
@ -465,8 +465,8 @@ void on_configuration_save_global_local(GtkWidget *self, widgets_dict *widgets)
char *delstr=NULL; char *delstr=NULL;
str=yon_configuration_get_save_command(save_drivers_global_local_command); str=yon_configuration_get_save_command(save_drivers_global_local_command);
if (str){ if (str){
yon_config_save(str); yon_launch(str);
yon_ubl_status_box_render(videoconfig.status_render,LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
} }
@ -477,8 +477,8 @@ void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets)
char *delstr=NULL; char *delstr=NULL;
str=yon_configuration_get_save_command(save_drivers_global_command); str=yon_configuration_get_save_command(save_drivers_global_command);
if (str){ if (str){
yon_config_save(str); yon_launch(str);
yon_ubl_status_box_render(videoconfig.status_render,LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
} }
@ -500,7 +500,7 @@ void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets)
yon_setup_config(load_drivers_local_command); yon_setup_config(load_drivers_local_command);
on_config_fill_interface(widgets); on_config_fill_interface(widgets);
yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox); yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox);
yon_ubl_status_box_render(videoconfig.status_render,LOCAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets)
@ -509,7 +509,7 @@ void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets)
yon_setup_config(load_drivers_global_command); yon_setup_config(load_drivers_global_command);
on_config_fill_interface(widgets); on_config_fill_interface(widgets);
yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox); yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox);
yon_ubl_status_box_render(videoconfig.status_render,GLOBAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
} }
/**void on_monitor_delete(GtkWidget *self,monitor_view windowd) /**void on_monitor_delete(GtkWidget *self,monitor_view windowd)
@ -622,7 +622,7 @@ void on_monitor_configure(GtkWidget *self,monitor_window *window){
monitors->curport=NULL; monitors->curport=NULL;
dictionary *dict=NULL; dictionary *dict=NULL;
for (int i=0;i<videoconfig.portssize;i++){ for (int i=0;i<videoconfig.portssize;i++){
dictionary *check_if_exists = yon_dictionary_find(&videoconfig.monitors,videoconfig.ports[i]); dictionary *check_if_exists = yon_dictionary_get(&videoconfig.monitors,videoconfig.ports[i]);
if (!check_if_exists||!yon_dictionary_get_data(check_if_exists,monitorconfig*)->stringparameters||check_if_exists==monitors->config) if (!check_if_exists||!yon_dictionary_get_data(check_if_exists,monitorconfig*)->stringparameters||check_if_exists==monitors->config)
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(monitors->templateMonitorConfigurationPortCombo),videoconfig.ports[i]); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(monitors->templateMonitorConfigurationPortCombo),videoconfig.ports[i]);
@ -847,9 +847,9 @@ void yon_monitor_view_update(){
monitor_window *monitor = yon_dictionary_get_data(dict,monitor_window*); monitor_window *monitor = yon_dictionary_get_data(dict,monitor_window*);
monitorconfig *config = yon_dictionary_get_data(monitor->config,monitorconfig*); monitorconfig *config = yon_dictionary_get_data(monitor->config,monitorconfig*);
if (strcmp(monitor->config->key,PARAMETER_DEFAULT_LABEL)!=0) if (strcmp(monitor->config->key,PARAMETER_DEFAULT_LABEL)!=0)
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoNameLabel),yon_char_get_augumented(MONITOR_LABEL,monitor->config->key)); gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoNameLabel),yon_char_append(MONITOR_LABEL,monitor->config->key));
else else
gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoNameLabel),yon_char_get_augumented(MONITOR_LABEL,"")); gtk_label_set_text(GTK_LABEL(monitor->templateMonitorInfoNameLabel),yon_char_append(MONITOR_LABEL,""));
monitorconfig *params=yon_dictionary_get_data(yon_dictionary_get_data(dict,monitor_window*)->config,monitorconfig*); monitorconfig *params=yon_dictionary_get_data(yon_dictionary_get_data(dict,monitor_window*)->config,monitorconfig*);
gtk_widget_set_sensitive(yon_dictionary_get_data(dict,monitor_window*)->templateMonitorImage,params->enable); gtk_widget_set_sensitive(yon_dictionary_get_data(dict,monitor_window*)->templateMonitorImage,params->enable);
if (config->resolution){ if (config->resolution){
@ -893,7 +893,7 @@ char *yon_monitor_make_string(monitorconfig* config)
resolution=config->resolution; resolution=config->resolution;
first=0; first=0;
}else{ }else{
resolution=yon_char_get_augumented(",",config->resolution); resolution=yon_char_append(",",config->resolution);
} }
char *enable=""; char *enable="";
@ -915,31 +915,31 @@ char *yon_monitor_make_string(monitorconfig* config)
char *position=""; char *position="";
if (config->position==1) if (config->position==1)
if (first==1){ if (first==1){
position=yon_char_get_augumented("lo:",config->position_port); position=yon_char_append("lo:",config->position_port);
first=0; first=0;
}else{ }else{
position=yon_char_get_augumented(",lo:",config->position_port); position=yon_char_append(",lo:",config->position_port);
} }
else if (config->position==2) else if (config->position==2)
if (first==1){ if (first==1){
position=yon_char_get_augumented("ro:",config->position_port); position=yon_char_append("ro:",config->position_port);
first=0; first=0;
}else{ }else{
position=yon_char_get_augumented(",ro:",config->position_port); position=yon_char_append(",ro:",config->position_port);
} }
else if (config->position==3) else if (config->position==3)
if (first==1){ if (first==1){
position=yon_char_get_augumented("ab:",config->position_port); position=yon_char_append("ab:",config->position_port);
first=0; first=0;
}else{ }else{
position=yon_char_get_augumented(",ab:",config->position_port); position=yon_char_append(",ab:",config->position_port);
} }
else if (config->position==4) else if (config->position==4)
if (first==1){ if (first==1){
position=yon_char_get_augumented("be:",config->position_port); position=yon_char_append("be:",config->position_port);
first=0; first=0;
}else{ }else{
position=yon_char_get_augumented(",be:",config->position_port); position=yon_char_append(",be:",config->position_port);
} }
char *rotation=""; char *rotation="";
@ -1015,7 +1015,7 @@ char *yon_monitor_make_string(monitorconfig* config)
else if (config->frequency==2) frequency="x75"; else if (config->frequency==2) frequency="x75";
} }
if (strcmp(resolution,"")!=0) if (strcmp(resolution,"")!=0)
resolution=yon_char_get_augumented(resolution,frequency); resolution=yon_char_append(resolution,frequency);
char *stringparameters=yon_char_unite("",main,resolution,enable,position,rotation,dpms,cvt,reduced,gtf,NULL); char *stringparameters=yon_char_unite("",main,resolution,enable,position,rotation,dpms,cvt,reduced,gtf,NULL);
@ -1093,7 +1093,7 @@ void yon_proprietary_local_get(){
if (strcmp(drivers[dr_foun],ubm)==0){ if (strcmp(drivers[dr_foun],ubm)==0){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]); yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
} }
// else if (strcmp(pack,"")!=0&&!(yon_dictionary_find(!videoconfig.proprietary||&videoconfig.proprietary,pack))){ // else if (strcmp(pack,"")!=0&&!(yon_dictionary_get(!videoconfig.proprietary||&videoconfig.proprietary,pack))){
// yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]); // yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
// } // }
} }
@ -1109,7 +1109,7 @@ void yon_proprietary_local_get(){
* [EN] * [EN]
*/ */
dictionary *yon_proprieary_get(){ dictionary *yon_proprieary_get(){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
videoconfig.proprietary=NULL; videoconfig.proprietary=NULL;
int drivers_size=0; int drivers_size=0;
int size=0; int size=0;
@ -1130,14 +1130,14 @@ dictionary *yon_proprieary_get(){
if (strcmp(drivers[dr_foun],ubm)==0){ if (strcmp(drivers[dr_foun],ubm)==0){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]); yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
} }
else if (strcmp(pack,"")!=0&&!yon_dictionary_find(&videoconfig.proprietary,pack)){ else if (strcmp(pack,"")!=0&&!yon_dictionary_get(&videoconfig.proprietary,pack)){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]); yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
} }
} }
} }
if (videoconfig.proprietary){ if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_OPETAION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_OPETAION_DONE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else { } else {
drivers=yon_config_load(get_proprietary_drivers_local_command,&drivers_size); drivers=yon_config_load(get_proprietary_drivers_local_command,&drivers_size);
if (drivers){ if (drivers){
@ -1151,15 +1151,15 @@ dictionary *yon_proprieary_get(){
key = yon_char_divide_search(key,";",-1); key = yon_char_divide_search(key,";",-1);
char *driver_name=yon_char_divide_search(yon_char_new(drivers[drivers_found])," ",-1); char *driver_name=yon_char_divide_search(yon_char_new(drivers[drivers_found])," ",-1);
if (strcmp(key,driver_name)==0) if (strcmp(key,driver_name)==0)
if (i==0) videoconfig.proprietary=yon_dictionary_create_with_data(drivers[drivers_found],rtn[i]); if (i==0) videoconfig.proprietary=yon_dictionary_new_with_data(drivers[drivers_found],rtn[i]);
else videoconfig.proprietary=yon_dictionary_create_with_data_connected(videoconfig.proprietary,drivers[drivers_found],rtn[i]); else videoconfig.proprietary=yon_dictionary_append_with_data(videoconfig.proprietary,drivers[drivers_found],rtn[i]);
} }
} }
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_USE_LOCAL_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_render(PROPRIETARY_USE_LOCAL_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else { } else {
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_LOADING_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_box_render(PROPRIETARY_LOADING_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
} }
} }
} }
@ -1252,7 +1252,7 @@ void yon_setup_config(char *configcommand)
dictionary *dct; dictionary *dct;
for(int i=0; i<videoconfig.portssize;i++) for(int i=0; i<videoconfig.portssize;i++)
{ {
command = yon_char_get_augumented(command, XORG_MONITOR(yon_char_divide_search(yon_char_new(videoconfig.ports[i]),"\n",-1))); command = yon_char_append(command, XORG_MONITOR(yon_char_divide_search(yon_char_new(videoconfig.ports[i]),"\n",-1)));
} }
videoconfig.configsize=0; videoconfig.configsize=0;
videoconfig.loaded_config = yon_ubl_load_global_config(command, &videoconfig.configsize); videoconfig.loaded_config = yon_ubl_load_global_config(command, &videoconfig.configsize);
@ -1332,9 +1332,9 @@ monitor_config yon_monitor_config_new(char *port){
monitor->reduced=0; monitor->reduced=0;
monitor->gtf=0; monitor->gtf=0;
if (videoconfig.monitors) if (videoconfig.monitors)
videoconfig.monitors=yon_dictionary_create_with_data_connected(videoconfig.monitors,port,monitor); videoconfig.monitors=yon_dictionary_append_with_data(videoconfig.monitors,port,monitor);
else else
videoconfig.monitors=yon_dictionary_create_with_data(port,monitor); videoconfig.monitors=yon_dictionary_new_with_data(port,monitor);
return videoconfig.monitors; return videoconfig.monitors;
} }
} }
@ -1429,8 +1429,8 @@ void yon_monitor_view_new(monitor_config monitor){
window->config=monitor; window->config=monitor;
gtk_widget_hide(window->templateMonitorInfoAddButton); gtk_widget_hide(window->templateMonitorInfoAddButton);
g_signal_connect(G_OBJECT(window->templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_monitor_configure), window); g_signal_connect(G_OBJECT(window->templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_monitor_configure), window);
if (videoconfig.monitor_visuals) videoconfig.monitor_visuals = yon_dictionary_create_with_data_connected(videoconfig.monitor_visuals, window->config->key,window); if (videoconfig.monitor_visuals) videoconfig.monitor_visuals = yon_dictionary_append_with_data(videoconfig.monitor_visuals, window->config->key,window);
else videoconfig.monitor_visuals = yon_dictionary_create_with_data(window->config->key,window); else videoconfig.monitor_visuals = yon_dictionary_new_with_data(window->config->key,window);
g_signal_connect(G_OBJECT(window->templateMonitorDeleteButton), "clicked", G_CALLBACK(on_monitor_delete), videoconfig.monitor_visuals); g_signal_connect(G_OBJECT(window->templateMonitorDeleteButton), "clicked", G_CALLBACK(on_monitor_delete), videoconfig.monitor_visuals);
g_signal_connect(G_OBJECT(window->templateMonitorSwitchButton), "clicked", G_CALLBACK(on_monitor_switch), window); g_signal_connect(G_OBJECT(window->templateMonitorSwitchButton), "clicked", G_CALLBACK(on_monitor_switch), window);
@ -1440,8 +1440,8 @@ void yon_monitor_view_new(monitor_config monitor){
gtk_widget_hide(window->templateMonitorSwitchButton); gtk_widget_hide(window->templateMonitorSwitchButton);
gtk_widget_hide(window->templateMonitorInfoConfigureButton); gtk_widget_hide(window->templateMonitorInfoConfigureButton);
g_signal_connect(G_OBJECT(window->templateMonitorInfoAddButton), "clicked", G_CALLBACK(on_monitor_add), window); g_signal_connect(G_OBJECT(window->templateMonitorInfoAddButton), "clicked", G_CALLBACK(on_monitor_add), window);
if (videoconfig.monitor_visuals) videoconfig.monitor_visuals = yon_dictionary_create_with_data_connected(videoconfig.monitor_visuals, "GENERIC",window); if (videoconfig.monitor_visuals) videoconfig.monitor_visuals = yon_dictionary_append_with_data(videoconfig.monitor_visuals, "GENERIC",window);
else videoconfig.monitor_visuals = yon_dictionary_create_with_data("GENERIC",window); else videoconfig.monitor_visuals = yon_dictionary_new_with_data("GENERIC",window);
} }
} }
@ -1479,7 +1479,7 @@ void yon_monitor_set_resolutions(){
port_for_res=yon_char_new(dct->key); port_for_res=yon_char_new(dct->key);
} }
if(port_for_res){ if(port_for_res){
dct=yon_dictionary_find(&videoconfig.supported_resolutions,port_for_res); dct=yon_dictionary_get(&videoconfig.supported_resolutions,port_for_res);
resolution_supported *sup=yon_dictionary_get_data(dct,resolution_supported*); resolution_supported *sup=yon_dictionary_get_data(dct,resolution_supported*);
sup->size++; sup->size++;
sup->line=realloc(sup->line,sizeof(char*)*sup->size); sup->line=realloc(sup->line,sizeof(char*)*sup->size);
@ -1836,7 +1836,7 @@ int main(int argc, char *argv[])
// char *args=""; // char *args="";
// for (int i=0;i<argc;i++) // for (int i=0;i<argc;i++)
// args=yon_char_unite(args," ",argv[i],NULL); // args=yon_char_unite(args," ",argv[i],NULL);
// if (system(yon_char_get_augumented("/usr/bin/pkexec ubl-settings-video ",args))); // if (system(yon_char_append("/usr/bin/pkexec ubl-settings-video ",args)));
// return 0; // return 0;
} else { } else {
int ssize=0; int ssize=0;
@ -1848,7 +1848,8 @@ int main(int argc, char *argv[])
// yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); // yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
// yon_gtk_list_store_fill_with_proprietaries(videoconfig.modulelist); // yon_gtk_list_store_fill_with_proprietaries(videoconfig.modulelist);
gtk_widget_show(widgets.MainWindow); gtk_widget_show(widgets.MainWindow);
yon_ubl_status_box_render(videoconfig.status_render,LOCAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE); yon_ubl_status_box_setup(widgets.mainStatusIcon,widgets.mainStatusBox,widgets.mainStatusLabel);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
on_config_fill_interface(&widgets); on_config_fill_interface(&widgets);
yon_monitor_set_resolutions(); yon_monitor_set_resolutions();
yon_adapter_window_setup(&widgets); yon_adapter_window_setup(&widgets);

@ -80,7 +80,7 @@
#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 "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 XORG_MONITOR(port) yon_char_get_augumented(" XORG_MONITOR[",yon_char_get_augumented(port,"] ")) #define XORG_MONITOR(port) yon_char_append(" XORG_MONITOR[",yon_char_append(port,"] "))
typedef struct{ typedef struct{

File diff suppressed because it is too large Load Diff

@ -7,44 +7,63 @@
#include <pthread.h> #include <pthread.h>
#include <string.h> #include <string.h>
#include <dirent.h> #include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <pwd.h>
#include <locale.h> #include <locale.h>
#include <libintl.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include <gtk/gtkx.h> #include <gtk/gtkx.h>
#include <pwd.h>
#include <vte/vte.h>
#include "ubl-cmake.h" #include "ubl-cmake.h"
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h> #include <webkit2/webkit2.h>
#endif #endif
#define DesktopPath "/usr/share/applications/"
#define _(String) gettext(String)
#define DesktopPath "/usr/share/applications/"
#define try bool __HadError=false;
#define catch(x) ExitJmp:if(__HadError)
#define throw(x) {__HadError=true;goto ExitJmp;}
static char** array_size_pow;
#define for_dictionaries(obj, obj1) for (obj = obj1->first; obj != NULL; obj = obj->next) #define for_dictionaries(obj, obj1) for (obj = obj1->first; obj != NULL; obj = obj->next)
#define new(type) malloc(sizeof(type)) #define new(type) malloc(sizeof(type))
#define new_arr(type,size) malloc(sizeof(type)*size) #define new_arr(type,size) malloc(sizeof(type)*size)
#define get_home_dir_command yon_char_unite("getent passwd \"",yon_ubl_root_user_get(),"\" | cut -d: -f6",NULL)
#define get_processes_command "systemd-cgls --no-pager |grep -oE \"[-0-9A-Za-z.:]{1,}.service\""
#define get_slices_command "systemd-cgls --no-pager |grep -oE \"[-0-9A-Za-z.:]{1,}.slice\""
#define yon_ubl_set_config_save_data_pointer(command) config_commands.config_save_data = command #define yon_ubl_set_config_save_data_pointer(command) config_commands.config_save_data = command
#define yon_ubl_load_global_config(command, size_pointer) yon_config_load(command, size_pointer) #define yon_ubl_load_global_config(command, size_pointer) yon_config_load(command, size_pointer)
#define yon_ubl_load_local_config(command, size_pointer) yon_config_load(command, size_pointer) #define yon_ubl_load_local_config(command, size_pointer) yon_config_load(command, size_pointer)
#define yon_ubl_save_global_config(command) yon_config_save(command) #define yon_ubl_save_global_config(command) yon_config_save(command)
#define yon_ubl_save_local_config(command) yon_config_save(command) #define yon_ubl_save_local_config(command) yon_config_save(command)
typedef enum typedef enum
{ {
#ifdef __GTK_H__ #ifdef __GTK_H__
DICTIONARY_GTK_WIDGETS_TYPE, DICTIONARY_GTK_WIDGETS_TYPE,
#endif #endif
DICTIONARY_OTHER_TYPE DICTIONARY_OTHER_TYPE=0,
DICTIONARY_CHAR_TYPE,
DICTIONARY_INT_TYPE,
DICTIONARY_BOOL_TYPE,
} DICT_TYPE; } DICT_TYPE;
typedef struct typedef struct
{ {
char *command; char *command;
int *exitcode; int *exitcode;
} thread_output; } thread_output;
typedef struct dictionary typedef struct dictionary
{ {
char *key; char *key;
@ -53,10 +72,12 @@ typedef struct dictionary
struct dictionary *prev; struct dictionary *prev;
struct dictionary *first; struct dictionary *first;
DICT_TYPE data_type; DICT_TYPE data_type;
int flag1;
} dictionary; } dictionary;
typedef struct apps typedef struct apps
{ {
char *filename;
char *Name; char *Name;
int Type; int Type;
char *Categories; char *Categories;
@ -64,9 +85,19 @@ typedef struct apps
char *Icon; char *Icon;
int Pluggable; int Pluggable;
int DualPluggable; int DualPluggable;
int Hidden;
} apps; } apps;
typedef char** config_str; typedef char** config_str;
static dictionary *__yon__config__strings = NULL;
#define check_config if(__yon__config__strings&&__yon__config__strings->data_type==DICTIONARY_CHAR_TYPE)
#define config(key) yon_config_get_by_key(key)
#define for_config dictionary temp = NULL; for_dictionary(temp,__yon__config__strings)
#define yon_remalloc(pointer, size) (!pointer) ? malloc(size) : realloc(pointer, size)
// dictionary functions // dictionary functions
/**yon_dictionary_get_data(dictionary, type) /**yon_dictionary_get_data(dictionary, type)
@ -80,28 +111,36 @@ typedef char** config_str;
* [type] - тип данных, хранящихся в словаре [dictionary]. * [type] - тип данных, хранящихся в словаре [dictionary].
*/ */
#define yon_dictionary_get_data(dictionary, type) ((type)dictionary->data) #define yon_dictionary_get_data(dictionary, type) ((type)dictionary->data)
#define yon_dictionary_add_or_create_if_exists_with_data(dict,key,data) {if (!dict) dict=yon_dictionary_create_with_data(key,data); \
else dict=yon_dictionary_create_with_data_connected(dict,key,data);}
dictionary *yon_dictionary_create_empty(); /**yon_dictionary_add_or_create_if_exists_with_data(dict,key,data)
* [EN]
*
* [RU]
* Добавляет элемент словаря в конец словаря [dict] c ключом [key] и данными [data].
* Если словарь не существует, создаёт его
*/
#define yon_dictionary_add_or_create_if_exists_with_data(dict,key,data) {if (!dict) dict=yon_dictionary_new_with_data(key,data); \
else dict=yon_dictionary_append_with_data(dict,key,data);}
dictionary *yon_dictionary_create_conneced(dictionary *targetdict); dictionary *yon_dictionary_new();
dictionary *yon_dictionary_append(dictionary *targetdict);
dictionary *yon_dictionary_get_last(dictionary *dict); dictionary *yon_dictionary_get_last(dictionary *dict);
dictionary *yon_dictionary_switch_places(dictionary *dict, int aim); dictionary *yon_dictionary_swap(dictionary *dict, int aim);
void yon_dictionary_make_first(dictionary *dict); void yon_dictionary_make_first(dictionary *dict);
void yon_dictionary_make_nth(dictionary *dict, int nth); void yon_dictionary_make_nth(dictionary *dict, int nth);
dictionary *yon_dictionary_create_with_data(char *key, void *data); dictionary *yon_dictionary_new_with_data(char *key, void *data);
dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data); dictionary *yon_dictionary_append_with_data(dictionary *dict, char *key, void *data);
dictionary *yon_dictionary_connect(dictionary *old, dictionary *toconnect); dictionary *yon_dictionary_connect(dictionary *old, dictionary *toconnect);
dictionary *yon_dictionary_find(dictionary **dict, char *key); dictionary *yon_dictionary_get(dictionary **dict, char *key);
dictionary *yon_dictionary_rip(dictionary *dict); dictionary *yon_dictionary_rip(dictionary *dict);
@ -111,7 +150,9 @@ void *yon_dictionary_free_all(dictionary *dictionary,void (data_manipulation)(vo
// char functions // char functions
char *yon_char_get_augumented(char *source, char *append); int yon_char_find_last(char *source, char find);
char *yon_char_append(char *source, char *append);
char *yon_char_new(char *chr); char *yon_char_new(char *chr);
@ -124,12 +165,13 @@ char *yon_char_divide(char *source, int dividepos);
char *yon_char_divide_search(char *source, char *dividepos, int delete_divider); char *yon_char_divide_search(char *source, char *dividepos, int delete_divider);
char *yon_char_from_int(int int_to_convert); char *yon_char_from_int(int int_to_convert);
char *yon_char_from_long(long int_to_convert);
char *yon_char_replace(char *source, char *find, char*replace); char *yon_char_replace(char *source, char *find, char*replace);
char **yon_char_parse(char *parameters, int *size, char *divider); char **yon_char_parse(char *parameters, int *size, char *divider);
char **yon_char_parsed_shrink(char **char_string, int *size, int item_to_delete); char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete);
int yon_char_parsed_check_exist(char **parameters, int size, char *param); int yon_char_parsed_check_exist(char **parameters, int size, char *param);
@ -137,43 +179,94 @@ int yon_char_find_count(char *source, char *find);
int yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size); int yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size);
config_str yon_char_parsed_new (config_str old, int *old_size, ...); config_str yon_char_parsed_new (int *size, ...);
void yon_char_parsed_copy(config_str *source, config_str *to_copy);
config_str yon_char_parsed_append(config_str parsed, int *size, char *string);
int yon_char_parsed_remove_newline_symbols(config_str parsed, int *size);
int yon_ubl_check_root();
char *yon_ubl_root_user_get();
char *yon_ubl_user_get_home_directory();
config_str yon_ubl_get_all_users(int *user_size);
config_str yon_ubl_get_all_processes(int *processes_size);
config_str yon_ubl_get_all_slices(int *slices_size);
// parsing functions // parsing functions
config_str philos_list_user(int* size);
dictionary *yon_scan_desktops();
apps *yon_apps_scan_and_parse_desktops(int *sizef); apps *yon_apps_scan_and_parse_desktops(int *sizef);
void yon_apps_sort(apps *applist, int size); void yon_apps_sort(apps *applist, int size);
apps *yon_apps_get_by_name(apps *applist, char *name, int size); apps *yon_apps_get_by_name(apps *applist, char *name, int size);
char *yon_app_chooser_open_with_sections(char *section_name, char *section_filter, char *section_icon, ...);
config_str yon_config_load(char *command, int *str_len); config_str yon_config_load(char *command, int *str_len);
int yon_config_save(char *command); int yon_config_save_registered(char *path, char *section);
char *yon_config_get_parameter(config_str parameters, int size, char *param); char *yon_config_get_parameter(config_str parameters, int size, char *param);
char *yon_config_make_save_parameter_with_multiple_arguments(char *parameter_string, char *config_parameter, char *divider); int yon_config_load_register(char *command);
// terminal-using functions int yon_config_remove_by_key(char *key);
int yon_config_remove_by_data(void *data);
int yon_config_remove_element(char *key, char *deleted);
void *yon_config_get_by_key(char *key);
char *yon_config_get_key_by_data(char *data);
int yon_launch_app(char *name); int yon_config_set(char *key, void *data);
int yon_config_clean();
void yon_config_register(char *key, void *data);
config_str yon_config_get_all();
// terminal-using functions
int yon_launch_app_with_arguments(char *name, char *args); int yon_launch_app_with_arguments(char *name, char *args);
int yon_launch(thread_output *thread); void yon_launch(char *command);
void yon_launch_thread(char *command);
// Gtk functions // Gtk functions
#ifdef __GTK_H__ #ifdef __GTK_H__
#ifdef VTE_TERMINAL #ifdef VTE_TERMINAL
/**
*
*/
void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, void *endwork_function, void* endwork_function_argument); void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, void *endwork_function, void* endwork_function_argument);
void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument);
#endif #endif
enum YON_TYPE{
YON_TYPE_STRING,
YON_TYPE_STRING_LIST,
YON_TYPE_INT,
YON_TYPE_DOUBLE,
YON_TYPE_BOOLEAN,
YON_TYPE_OTHER
};
GtkWidget *yon_ubl_menu_item_about_new(char *buttonname);
GtkWidget *yon_ubl_menu_item_documentation_new(char *buttonname);
/**yon_gtk_builder_get_widget(builder, widget_name) /**yon_gtk_builder_get_widget(builder, widget_name)
* [EN] * [EN]
* Returns GtkWidget from GtkBuilder *[builder]. * Returns GtkWidget from GtkBuilder *[builder].
@ -190,22 +283,39 @@ typedef struct
GtkListStore *List; GtkListStore *List;
} expander_icon_view; } expander_icon_view;
// GtkWidget *yon_gtk_app_chooser_apps_create(); void yon_window_config_setup(GtkWindow *window);
int yon_window_config_load(char *path);
// dictionary *yon_gtk_app_chooser_create(); config_str yon_window_config_get_section(char *section, gsize *size);
// expander_icon_view yon_gtk_icon_view_expander_create(GtkWidget *pack, ...); void yon_window_config_add_listener(GtkWidget *widget, char *param_name, char *widget_property, enum YON_TYPE val_type);
int yon_gtk_combo_box_fill(GtkWidget *combo, char **parameters,int size); void yon_window_config_add_custom_parameter(char *param_name, char *section, void *tracked_value, enum YON_TYPE val_type);
void yon_window_config_erase_custom_parameter(char *param_name, char *section);
int yon_window_config_get_parameter(char *section, char *config_parameter, void *return_value, enum YON_TYPE type);
int yon_gtk_combo_box_text_fill(GtkWidget *combo, char **parameters,int size);
int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find); int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find);
void yon_gtk_column_minimal_fixed_size_set(GtkTreeViewColumn *column);
int yon_gtk_icon_view_hide_empty(dictionary *icon_view_segment); int yon_gtk_icon_view_hide_empty(dictionary *icon_view_segment);
int yon_dictionary_gtk_pack_start_multiple_widgets(dictionary *dict, GtkWidget *destination, gboolean expand, gboolean fill, int padding); void yon_subwindow_close(GtkWidget *self);
int yon_dictionary_gtk_pack_end_multiple_widgets(dictionary *dict, GtkWidget *destination, gboolean expand, gboolean fill, int padding);
int yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...);
int yon_dictionary_gtk_pack_end_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...);
void yon_gtk_widget_set_sensitive_from_toggle_button(GtkToggleButton *toggle, GtkWidget *target);
void yon_gtk_widget_set_sensitive_from_toggle_button_inversed(GtkToggleButton *toggle, GtkWidget *target);
void yon_gtk_widget_set_sensitive_from_combo_box(GtkComboBox *toggle, GtkWidget *target);
void yon_gtk_widget_set_sensitive_from_combo_box_inversed(GtkComboBox *toggle, GtkWidget *target);
typedef enum typedef enum
{ {
@ -221,6 +331,7 @@ typedef struct {
char* text_to_render; char* text_to_render;
} render_data; } render_data;
/**yon_ubl_status_box_setup(render,icon,box,label) /**yon_ubl_status_box_setup(render,icon,box,label)
* [EN] * [EN]
* Sets up [render] structure of type render_data. * Sets up [render] structure of type render_data.
@ -233,7 +344,7 @@ typedef struct {
* [box] - виджет типа GtkBox в котором будет отображаться цвет статуса; * [box] - виджет типа GtkBox в котором будет отображаться цвет статуса;
* [label] - виджет типа GtkLabel в котором будет отображаться текст статусного сообщения; * [label] - виджет типа GtkLabel в котором будет отображаться текст статусного сообщения;
*/ */
#define yon_ubl_status_box_setup(render,icon,box,label) {render.icon=GTK_WIDGET(icon); render.box=GTK_WIDGET(box); render.label=GTK_WIDGET(label);} int yon_ubl_status_box_setup(GtkWidget *icon, GtkWidget *box, GtkWidget *label);
/**yon_ubl_status_box_render(render,text,type) /**yon_ubl_status_box_render(render,text,type)
* [EN] * [EN]
@ -250,26 +361,7 @@ typedef struct {
* или * или
* BACKGROUND_IMAGE_SUCCESS_TYPE (Жёлтный фон, иконка - галка) * BACKGROUND_IMAGE_SUCCESS_TYPE (Жёлтный фон, иконка - галка)
*/ */
#define yon_ubl_status_box_render(render,text,m_type) {render.text_to_render=text; render.type=m_type; pthread_attr_t attr; pthread_attr_init(&attr); pthread_t tid; pthread_create(&tid,&attr,(void*)_yon_ubl_status_box_render,((void*)&render)); } void yon_ubl_status_box_render(char *text, BACKGROUND_IMAGE_TYPE type);
#ifdef __cplusplus
/**yon_ubl_header_setup(overlay, head, image, imag_path)
* [EN]
* Sets up header of app.
* [overlay] is overlay for app header;
* [head] is box of header, which connects to [overlay]
* [image] is header background image;
* [imag_path] is path of image, shown in [image]
* [RU]
* Настраивает заголовок приложения.
* [overlay] - оверлей заголовка приложения;
* [head] - шапка заголовка, присоединяемая к [overlay]
* [image] - виджет картинки для заднего фона;
* [imag_path] - путь до картинки, загружаемой в [image]
*/
#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay.gobj()), GTK_WIDGET(head.gobj()), GTK_WIDGET(image.gobj()), (char *)imag_path)
#else
/**yon_ubl_header_setup(overlay, head, image, imag_path) /**yon_ubl_header_setup(overlay, head, image, imag_path)
* [EN] * [EN]
@ -290,8 +382,9 @@ typedef struct {
#endif #endif
void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path);
void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path); void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path);
void _yon_ubl_status_box_render(render_data *datav);
void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id); void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id);
#ifdef WEBKIT_FOUND #ifdef WEBKIT_FOUND
@ -300,4 +393,3 @@ void yon_ubl_browser_window_open(char *link, char *browser_window_name);
void yon_ubl_browser_window_open(char *link, char *browser_window_name); void yon_ubl_browser_window_open(char *link, char *browser_window_name);
#endif #endif
#endif #endif
#endif
Loading…
Cancel
Save