driver processes outputs are shown in status bar

pull/9/head
parent 30cc4f3232
commit d8383c3197

@ -18,7 +18,9 @@ void on_subwindow_close(GtkWidget *self)
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.box,videoconfig.status_render.icon,videoconfig.status_render.label,MONITOR_PORT_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE); videoconfig.status_render.text_to_render=MONITOR_PORT_ERROR_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_FAIL_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
return; return;
} }
config->main=0; config->main=0;
@ -32,7 +34,9 @@ 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=NULL; config->frequency=NULL;
_yon_ubl_status_box_render(videoconfig.status_render.box,videoconfig.status_render.icon,videoconfig.status_render.label,MONITOR_PORT_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=MONITOR_PORT_SUCCESS_LABEL;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
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){
@ -68,73 +72,85 @@ void on_monitor_config_save(GtkWidget *self, monitor_edit_window *window){
on_subwindow_close(self); on_subwindow_close(self);
} }
// void on_save_window_configuration(GtkWidget *self, MonitorSettings *monitor){ void on_driver_pack_install(GtkWidget *self,widgets_dict *widgets){
// char *port=NULL; GtkTreeIter iter;
// port=gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPortCombo)); char *name;
// if (!monitor->curconfig){ GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
// monitorconfig *confi = new(monitorconfig); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
// if (!videoconfig.monitors) videoconfig.monitors=yon_dictionary_create_with_data(port,confi); gtk_tree_selection_get_selected(selection,&list_s,&iter);
// else videoconfig.monitors=yon_dictionary_create_with_data_connected(videoconfig.monitors,port,confi); gtk_tree_model_get(list_s,&iter,1,&name,-1);
// monitor->curconfig=videoconfig.monitors; pthread_t tid;
// } pthread_create(&tid,NULL,(void*)yon_launch_with_output,(void*)yon_char_get_augumented(install_proprietary_command,name));
// char *freq=NULL;
// char *res=NULL; }
// char *rot=NULL;
// char *entr=NULL; void on_driver_install(GtkWidget *self,widgets_dict *widgets){
// char *def=NULL;
// def=_("Default settings"); GtkTreeIter iter;
// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(monitor->templateMonitorConfigurationMainRadio))==1) char *name;
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->main=1; GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
// if (strcmp((freq=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationFrequencyCombo)))),def)!=0) GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency=freq; gtk_tree_selection_get_selected(selection,&list_s,&iter);
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency=NULL; gtk_tree_model_get(list_s,&iter,1,&name,-1);
// if (strcmp((res=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationResolutionCombo)))),def)!=0) pthread_t tid;
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution=res; pthread_create(&tid,NULL,(void*)yon_launch_with_output,(void*)yon_char_get_augumented(install_proprietary_command,name));
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution=NULL;
// if (strcmp((rot=yon_char_new((char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationRotationCombo)))),def)!=0) }
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation=rot;
// else yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation=NULL; void on_driver_pack_delete(GtkWidget *self,widgets_dict *widgets){
// if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(monitor->templateMonitorConfigurationParameterLineCheck))){
// entr=yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(monitor->templateMonitorConfigurationParameterLineEntry))); GtkTreeIter iter;
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters=entr; char *name;
// } else { GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
// char *str=NULL; GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
// str = ""; gtk_tree_selection_get_selected(selection,&list_s,&iter);
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency!=NULL) gtk_tree_model_get(list_s,&iter,1,&name,-1);
// str=yon_char_get_augumented(str,yon_char_get_augumented(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->frequency,",")); pthread_t tid;
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution!=NULL) pthread_create(&tid,NULL,(void*)yon_launch_with_output,(void*)yon_char_get_augumented(delete_proprietary_command,name));
// str=yon_char_get_augumented(str,yon_char_get_augumented(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution,","));
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation!=NULL) }
// if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Right"))==0)
// str=yon_char_get_augumented(str,"rotation:right,"); void on_driver_delete(GtkWidget *self,widgets_dict *widgets){
// else if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Left"))==0)
// str=yon_char_get_augumented(str,"rotation:left,"); GtkTreeIter iter;
// else if (strcmp(yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->rotation,_("Invert"))==0) char *name;
// str=yon_char_get_augumented(str,"rotation:invert,"); GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
// else GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
// str=yon_char_get_augumented(str,"rotation:normal,"); gtk_tree_selection_get_selected(selection,&list_s,&iter);
gtk_tree_model_get(list_s,&iter,1,&name,-1);
// if (yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->main!=0) pthread_t tid;
// str=yon_char_get_augumented(str,"primary,"); pthread_create(&tid,NULL,(void*)yon_launch_with_output,(void*)yon_char_get_augumented(delete_proprietary_command,name));
// if (strcmp(str,"")!=0)
// yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters=str; }
// } void on_driver_pack_info(GtkWidget *self, widgets_dict *widgets){
// dictionary *dict=NULL;
// // for_dictionaries (dict,videoconfig.videoconfig){ pthread_attr_t attr;
// // MonitorSettings *monitorsett=yon_dictionary_get_data(dict,MonitorSettings*); pthread_t tid;
// // if (monitorsett->curconfig==monitor->curconfig){ pthread_attr_init(&attr);
// // yon_parse_monitor(monitorsett->curconfig,yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->stringparameters); GtkTreeIter iter;
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoResolutionLabel),yon_dictionary_get_data(monitor->curconfig,monitorconfig*)->resolution); char *name;
// // if (yon_dictionary_get_data(monitorsett->curconfig,monitorconfig*)->main==0) GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", ((monitorconfig *)monitorsett->curconfig->data)->port)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->proprietaryTreeView));
// // if (yon_dictionary_get_data(monitorsett->curconfig,monitorconfig*)->main==1) gtk_tree_selection_get_selected(selection,&list_s,&iter);
// // gtk_label_set_text(GTK_LABEL(monitorsett->templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitorsett->curconfig->data)->port,"*"))); 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));
// // } }
// // }
// on_subwindow_close(self); void on_driver_info(GtkWidget *self,widgets_dict *widgets){
// };
pthread_attr_t attr;
pthread_t tid;
pthread_attr_init(&attr);
GtkTreeIter iter;
char *name;
GtkTreeModel *list_s=GTK_TREE_MODEL(videoconfig.list);
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->driversTreeView));
gtk_tree_selection_get_selected(selection,&list_s,&iter);
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));
}
void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){ void on_port_chosen_changed(GtkWidget *self, monitor_edit_window *window){
monitorconfig* config = yon_dictionary_get_data(window->config,monitorconfig*); monitorconfig* config = yon_dictionary_get_data(window->config,monitorconfig*);
@ -286,7 +302,10 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
if (str){ if (str){
printf(str); printf(str);
yon_config_save(str); yon_config_save(str);
yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration saving succseeded."), BACKGROUND_IMAGE_SUCCESS_TYPE);
videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
} }
// else // else
// yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration saving failed."), BACKGROUND_IMAGE_FAIL_TYPE); // yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration saving failed."), BACKGROUND_IMAGE_FAIL_TYPE);
@ -296,12 +315,16 @@ void on_configuration_save_local_global(GtkWidget *self, widgets_dict *widgets)
{ {
on_configuration_save_global(self, widgets); on_configuration_save_global(self, widgets);
on_configuration_save_local(self, widgets); on_configuration_save_local(self, widgets);
yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local and global configuration saving succseeded."), BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=GLOBAL_LOCAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
} }
void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_save_global(GtkWidget *self, widgets_dict *widgets)
{ {
yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Global configuration saving succseeded."), BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=GLOBAL_SAVE_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
yon_update_config(widgets); yon_update_config(widgets);
char *str = NULL; char *str = NULL;
if (videoconfig.failsafenVidia) if (videoconfig.failsafenVidia)
@ -326,7 +349,9 @@ void yon_update_config(widgets_dict *widgets)
void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets) void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets)
{ {
yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Local configuration loading succseeded."), BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=LOCAL_LOAD_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
char *command = load_drivers_local_command; char *command = load_drivers_local_command;
dictionary *dct; dictionary *dct;
for_dictionaries(dct, videoconfig.monitors) for_dictionaries(dct, videoconfig.monitors)
@ -342,7 +367,9 @@ void on_configuration_load_local(GtkWidget *self, widgets_dict *widgets)
void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets) void on_configuration_load_global(GtkWidget *self, widgets_dict *widgets)
{ {
yon_ubl_status_box_render(widgets->mainStatusBox, widgets->mainStatusIcon, widgets->mainStatusLabel, _("Global configuration loading succseeded."), BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=GLOBAL_LOAD_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
char *command = load_drivers_global_command; char *command = load_drivers_global_command;
dictionary *dct; dictionary *dct;
for_dictionaries(dct, videoconfig.monitors) for_dictionaries(dct, videoconfig.monitors)
@ -531,6 +558,34 @@ void yon_monitor_window_update(monitor_edit_window *window){
} }
void yon_popen(thread_input *input){
*(FILE**)input->data=popen(input->command,"r");
}
void yon_launch_with_output(char *command){
pthread_t tid;
FILE *output =NULL;
FILE **output_file=&output;
thread_input input;
input.command=command;
input.data=output_file;
pthread_create(&tid,NULL,(void*)yon_popen,&input);
char **output_strings = NULL;
output_strings = malloc(sizeof(char));
int i = 0;
char str[1000];
memset(str, 0, 1000);
while (1){
if (output){
if (fgets(str, 1000, output)){
videoconfig.status_render.text_to_render=str;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
_yon_ubl_status_box_render(&videoconfig.status_render);
}
}
}
}
/**void yon_monitor_view_draw_all(GtkWidget *cnt) /**void yon_monitor_view_draw_all(GtkWidget *cnt)
* [EN] * [EN]
*/ */
@ -999,76 +1054,6 @@ void yon_monitor_config_update(monitorconfig* monitor, char *port, char *config_
} }
} }
// MonitorSettings *yon_setup_monitor_settings()
// {
// int monitors_n = videoconfig.portssize;
// MonitorSettings *monitors = NULL;
// monitors = malloc(sizeof(MonitorSettings) * (monitors_n+1));
// // videoconfig.videoconfig=videoconfig.videoconfig->first;
// int i=0;
// if (videoconfig.monitors){
// for (i = 0; i < monitors_n; i++)
// {
// GtkBuilder *builder = gtk_builder_new_from_file(glade_path);
// monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay"));
// monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox"));
// monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel"));
// monitors[i].templateMonitorImage = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorImage"));
// monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel"));
// monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton"));
// monitors[i].templateMonitorDeleteButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorDeleteButton"));
// monitors[i].templateMonitorSwitchButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorSwitchButton"));
// monitors[i].curconfig = yon_dictionary_get_nth(videoconfig.monitors, i);
// printf("%d\n", i);
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==0)
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", ((monitorconfig *)monitors[i].curconfig->data)->port));
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->main==1)
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), yon_char_get_augumented("Monitor ", yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->port,"*")));
// char *res = yon_char_get_augumented(((monitorconfig *)monitors[i].curconfig->data)->resolution, "");
// if (yon_dictionary_get_data(monitors[i].curconfig,monitorconfig*)->enable==1)
// gtk_widget_set_sensitive(monitors[i].templateMonitorImage,1);
// if (!res)
// res = _("Default settings");
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), res);
// gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoConfigureButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorDeleteButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorSwitchButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// if (i==0)
// videoconfig.videoconfig = yon_dictionary_create_with_data(((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]);
// else
// videoconfig.videoconfig = yon_dictionary_create_with_data_connected(videoconfig.videoconfig,((monitorconfig *)monitors[i].curconfig->data)->port,&monitors[i]);
// if (videoconfig.monitors->next)
// videoconfig.monitors = videoconfig.monitors->next;
// }
// }
// GtkBuilder *builder = gtk_builder_new_from_file(glade_path);
// monitors[i].templateMonitorscreenOverlay = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorscreenOverlay"));
// monitors[i].templateMonitorInfoBox = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoBox"));
// monitors[i].templateMonitorInfoNameLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoNameLabel"));
// monitors[i].templateMonitorImage = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorImage"));
// monitors[i].templateMonitorInfoResolutionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoResolutionLabel"));
// monitors[i].templateMonitorInfoConfigureButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoConfigureButton"));
// monitors[i].templateMonitorDeleteButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorDeleteButton"));
// monitors[i].templateMonitorSwitchButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorSwitchButton"));
// monitors[i].templateMonitorInfoAddButton = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorInfoAddButton"));
// gtk_widget_show(monitors[i].templateMonitorInfoAddButton);
// gtk_widget_hide(monitors[i].templateMonitorSwitchButton);
// gtk_widget_hide(monitors[i].templateMonitorDeleteButton);
// gtk_widget_hide(monitors[i].templateMonitorInfoConfigureButton);
// monitors[i].curconfig = NULL;
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoNameLabel), "");
// gtk_widget_set_sensitive(monitors[i].templateMonitorImage,0);
// gtk_label_set_text(GTK_LABEL(monitors[i].templateMonitorInfoResolutionLabel), "");
// gtk_overlay_add_overlay(GTK_OVERLAY(monitors[i].templateMonitorscreenOverlay), monitors[i].templateMonitorInfoBox);
// g_signal_connect(G_OBJECT(monitors[i].templateMonitorInfoAddButton), "clicked", G_CALLBACK(on_confugure_monitor_settings), &monitors[i]);
// if (i==0)
// videoconfig.videoconfig = yon_dictionary_create_with_data("TEMPLATE",&monitors[i]);
// else
// videoconfig.videoconfig = yon_dictionary_create_with_data_connected(videoconfig.videoconfig,"TEMPLATE",&monitors[i]);
// return monitors;
// }
int yon_char_get_if_resolution(char *parsed_string){ int yon_char_get_if_resolution(char *parsed_string){
char *left=NULL, *right=NULL; char *left=NULL, *right=NULL;
right=yon_char_new(parsed_string); right=yon_char_new(parsed_string);
@ -1230,8 +1215,42 @@ void yon_setup_widgets(widgets_dict *widgets)
widgets->templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffLabel"); widgets->templateMonitorConfigurationDoNotSwitchOffLabel = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffLabel");
widgets->templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffCheck"); widgets->templateMonitorConfigurationDoNotSwitchOffCheck = yon_gtk_builder_get_widget(widgets->builder, "templateMonitorConfigurationDoNotSwitchOffCheck");
widgets->proprietaryTreeView = yon_gtk_builder_get_widget(widgets->builder, "proprietaryTreeView");
widgets->proprietaryInfoButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryInfoButton");
widgets->proprietaryDeleteButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryDeleteButton");
widgets->proprietaryInstallButton = yon_gtk_builder_get_widget(widgets->builder, "proprietaryInstallButton");
widgets->proprietaryTreeSelection = GTK_TREE_SELECTION(gtk_builder_get_object(widgets->builder, "proprietaryTreeSelection"));
widgets->driversTreeView = yon_gtk_builder_get_widget(widgets->builder, "driversTreeView");
widgets->driversInfoButton = yon_gtk_builder_get_widget(widgets->builder, "driversInfoButton");
widgets->driversDeleteButton = yon_gtk_builder_get_widget(widgets->builder, "driversDeleteButton");
widgets->driversInstallButton = yon_gtk_builder_get_widget(widgets->builder, "driversInstallButton");
widgets->driversTreeSelection = GTK_TREE_SELECTION(gtk_builder_get_object(widgets->builder, "driversTreeSelection"));
widgets->proprietartInstalledColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "proprietartInstalledColumn"));
widgets->ProprietaryPackageColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "ProprietaryPackageColumn"));
widgets->ProprietaryDriverColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "ProprietaryDriverColumn"));
widgets->ProprietaryDescriptionColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "ProprietaryDescriptionColumn"));
widgets->ProprietarySupportedColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "ProprietarySupportedColumn"));
widgets->driverInstalledColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverInstalledColumn"));
widgets->driverPackageColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverPackageColumn"));
widgets->driverDriverColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverDriverColumn"));
widgets->driverDescriptionColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverDescriptionColumn"));
widgets->driverSupportedColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverSupportedColumn"));
videoconfig.list = GTK_LIST_STORE(gtk_builder_get_object(widgets-> builder, "liststore6")); videoconfig.list = GTK_LIST_STORE(gtk_builder_get_object(widgets-> builder, "liststore6"));
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->proprietaryTreeView),GTK_TREE_MODEL(videoconfig.list));
g_signal_connect(G_OBJECT(widgets->proprietaryDeleteButton), "clicked", G_CALLBACK(on_driver_pack_delete), widgets);
g_signal_connect(G_OBJECT(widgets->proprietaryInstallButton), "clicked", G_CALLBACK(on_driver_pack_install), widgets);
g_signal_connect(G_OBJECT(widgets->proprietaryInfoButton), "clicked", G_CALLBACK(on_driver_pack_info), widgets);
g_signal_connect(G_OBJECT(widgets->driversDeleteButton), "clicked", G_CALLBACK(on_driver_delete), widgets);
g_signal_connect(G_OBJECT(widgets->driversInstallButton), "clicked", G_CALLBACK(on_driver_install), widgets);
g_signal_connect(G_OBJECT(widgets->driversInfoButton), "clicked", G_CALLBACK(on_driver_info), widgets);
g_signal_connect(G_OBJECT(widgets->mainDriverAutomaticallyChooseCheck), "toggled", G_CALLBACK(on_auto_choose_drivers), widgets); g_signal_connect(G_OBJECT(widgets->mainDriverAutomaticallyChooseCheck), "toggled", G_CALLBACK(on_auto_choose_drivers), widgets);
// g_signal_connect(G_OBJECT(widgets->mainHybridGraphicsDiscreteCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets); // g_signal_connect(G_OBJECT(widgets->mainHybridGraphicsDiscreteCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets);
g_signal_connect(G_OBJECT(widgets->mainExtraLaunchOptirunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->mainExtraLaunchOptirunEntry); g_signal_connect(G_OBJECT(widgets->mainExtraLaunchOptirunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->mainExtraLaunchOptirunEntry);
@ -1239,6 +1258,7 @@ void yon_setup_widgets(widgets_dict *widgets)
g_signal_connect(G_OBJECT(widgets->mainExtraLaunchOptirunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->extraOptirunChooseAppsButton); g_signal_connect(G_OBJECT(widgets->mainExtraLaunchOptirunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->extraOptirunChooseAppsButton);
g_signal_connect(G_OBJECT(widgets->mainExtraLaunchPrismusunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->extraPrimusunChooseAppsButton); g_signal_connect(G_OBJECT(widgets->mainExtraLaunchPrismusunCheck), "toggled", G_CALLBACK(on_sensitive_change), widgets->extraPrimusunChooseAppsButton);
g_signal_connect(G_OBJECT(widgets->MainWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(widgets->MainWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
// g_signal_connect(G_OBJECT(widgets->extraOptirunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets); // g_signal_connect(G_OBJECT(widgets->extraOptirunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
// g_signal_connect(G_OBJECT(widgets->extraPrimusunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets); // g_signal_connect(G_OBJECT(widgets->extraPrimusunChooseAppsButton), "clicked", G_CALLBACK(on_apps_chooser_open), widgets);
@ -1286,6 +1306,12 @@ void yon_setup_widgets(widgets_dict *widgets)
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveLocalMenuItem), _("Save to local configuration")); gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveLocalMenuItem), _("Save to local configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsDocumentationMenuItem), _("Documentation")); gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsDocumentationMenuItem), _("Documentation"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsAboutMenuItem), _("About")); gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsAboutMenuItem), _("About"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), _("Installed"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), _("Package"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), _("Supported Devices"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), _("Driver"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDescriptionColumn), _("Description"));
// gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchThroughButton),_("Change")); // gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchThroughButton),_("Change"));
yon_ubl_header_setup(widgets->mainHeadOverlay, widgets->headBox, widgets->mainHeadBackgroundImage, banner_path); yon_ubl_header_setup(widgets->mainHeadOverlay, widgets->headBox, widgets->mainHeadBackgroundImage, banner_path);
// gtk_overlay_add_overlay(GTK_OVERLAY(widgets->mainHeadOverlay),widgets->headBox); // gtk_overlay_add_overlay(GTK_OVERLAY(widgets->mainHeadOverlay),widgets->headBox);
@ -1317,7 +1343,9 @@ int main(int argc, char *argv[])
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list); yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
gtk_widget_show(widgets.MainWindow); gtk_widget_show(widgets.MainWindow);
// yon_fill_ui(&widgets); // yon_fill_ui(&widgets);
yon_ubl_status_box_render(widgets.mainStatusBox, widgets.mainStatusIcon, widgets.mainStatusLabel, _("Configuration has been loaded"), BACKGROUND_IMAGE_SUCCESS_TYPE); videoconfig.status_render.text_to_render=LOCAL_LOAD_SUCCESS;
videoconfig.status_render.type=BACKGROUND_IMAGE_SUCCESS_TYPE;
yon_ubl_status_box_render(&videoconfig.status_render);
on_config_fill_interface(&widgets); on_config_fill_interface(&widgets);
yon_monitor_set_resolutions(); yon_monitor_set_resolutions();
GtkCssProvider *css = gtk_css_provider_new(); GtkCssProvider *css = gtk_css_provider_new();

@ -62,6 +62,11 @@
#define XORG_MONITOR(port) yon_char_get_augumented(" XORG_MONITOR[",yon_char_get_augumented(port,"] ")) #define XORG_MONITOR(port) yon_char_get_augumented(" XORG_MONITOR[",yon_char_get_augumented(port,"] "))
typedef struct{
char* command;
void *data;
} thread_input;
char *local; char *local;
typedef char *string; typedef char *string;
@ -308,4 +313,5 @@ void on_monitor_delete(GtkWidget *self,monitor_view windowd);
void yon_monitor_view_update(); void yon_monitor_view_update();
void yon_monitor_window_update(monitor_edit_window *window); void yon_monitor_window_update(monitor_edit_window *window);
char *yon_monitor_make_string(monitorconfig* config); char *yon_monitor_make_string(monitorconfig* config);
void yon_launch_with_output(char *command);
#endif #endif
Loading…
Cancel
Save