diff --git a/com.ublinux.ubl-settings-video.amd-logo.svg b/com.ublinux.ubl-settings-video.amd-logo.svg
new file mode 100644
index 0000000..c75c6d2
--- /dev/null
+++ b/com.ublinux.ubl-settings-video.amd-logo.svg
@@ -0,0 +1,56 @@
+
+
+
+
diff --git a/com.ublinux.ubl-settings-video.intel-logo.svg b/com.ublinux.ubl-settings-video.intel-logo.svg
new file mode 100644
index 0000000..fa4fcb2
--- /dev/null
+++ b/com.ublinux.ubl-settings-video.intel-logo.svg
@@ -0,0 +1,43 @@
+
+
+
+
diff --git a/com.ublinux.ubl-settings-video.nvidia-logo.svg b/com.ublinux.ubl-settings-video.nvidia-logo.svg
new file mode 100644
index 0000000..d4f2d8b
--- /dev/null
+++ b/com.ublinux.ubl-settings-video.nvidia-logo.svg
@@ -0,0 +1,65 @@
+
+
+
+
diff --git a/com.ublinux.ubl-settings-video.video-card.svg b/com.ublinux.ubl-settings-video.video-card.svg
new file mode 100644
index 0000000..7c30d8b
--- /dev/null
+++ b/com.ublinux.ubl-settings-video.video-card.svg
@@ -0,0 +1,194 @@
+
+
+
+
diff --git a/source/ubl-settings-video-strings.h b/source/ubl-settings-video-strings.h
index e0594d1..07a43af 100644
--- a/source/ubl-settings-video-strings.h
+++ b/source/ubl-settings-video-strings.h
@@ -25,19 +25,57 @@
#define MONITOR_SAVE_LABEL _("Save")
#define MONITOR_CANCEL_LABEL _("Cancel")
#define MONITOR_CHOOSE_PORT_LABEL _("Choose port to configure")
+#define GAP_FIX_1_LABEL _("1st variant. May cause perfomance drops in video games")
+#define GAP_FIX_2_LABEL _("2nd variant. May not work on specific video cards")
+#define HEADER_LABEL _("Video output configuration")
+#define FAILSAFE_NVIDIA_LABEL _("Failsafe driver nVidia: ")
+#define FAILSAFE_ATI_LABEL _("Failsafe driver AMD/ATI: ")
+#define DRIVER_LABEL _("Driver")
+#define MONITOR_CONFIGURATION_LABEL _("Monitor configuration")
+#define HYBRID_GRAPHICS_LABEL _("Hybrid graphics")
+#define FIX_GAP_LABEL _("Fix frame gap (nVidia)")
+#define EXTRA_LABEL _("Extra")
+#define TITLE_LABEL _("UBlinux Video Configuration")
+#define LOAD_LABEL _("Load")
+#define SAVE_LABEL _("Save")
+#define ON_LABEL _("On")
+#define OFF_LABEL _("Off")
+#define FBDEV_LABEL _("fbdev")
+#define AUTO_CHOOSE_DRIVERS_LABEL _("Automatically choose and use driver")
+#define LAUNCH_OPTIRUN_LABEL _("Launch programms through optirun (nVidia): ")
+#define LAUNCH_PRIMUSRUN_LABEL _("Launch programs through primusrun (nVidia): ")
+#define DISCRETE_ONLY_LABEL _("discrete video only (AMD/ATI)")
+#define LOAD_GLOBAL_LABEL _("Load from global configuration")
+#define LOAD_LOCAL_LABEL _("Load from local configuration")
+#define SAVE_GLOBAL_LOCAL_LABEL _("Save to global an local configuration")
+#define SAVE_GLOBAL_LABEL _("Save to global configuration")
+#define SAVE_LOCAL_LABEL _("Save to local configuration")
+#define DOCUMENTATION_LABEL _("Documentation")
+#define ABOUT_LABEL _("About")
+#define INSTALLED_LABEL _("Installed")
+#define PACKAGE_LABEL _("Package")
+#define SUPPORTED_LABEL _("Supported Devices")
+#define CANCEL_LABEL _("Cancel")
+#define ACCEPT_LABEL _("Accept")
+#define INFORMATION_LABEL _("Information")
+#define DRIVERS_LABEL _("Drivers")
+#define MAIN_SETTINGS_LABEL _("Main settings")
+#define DEVICES_DRIVERS_LABEL _("Devices and drivers")
+#define DRIVER_MODULES_LABEL _("Driver modules")
-#define MONITOR_POSITION_LEFT_PARAMETER _("lo:")
-#define MONITOR_POSITION_RIGHT_PARAMETER _("ro:")
-#define MONITOR_POSITION_ABOVE_PARAMETER _("ab:")
-#define MONITOR_POSITION_BELOW_PARAMETER _("be:")
+#define MONITOR_POSITION_LEFT_PARAMETER "lo:"
+#define MONITOR_POSITION_RIGHT_PARAMETER "ro:"
+#define MONITOR_POSITION_ABOVE_PARAMETER "ab:"
+#define MONITOR_POSITION_BELOW_PARAMETER "be:"
-#define MONITOR_ROTATE_PARAMETER _("rotate:")
-#define MONITOR_ROTATE_NORMAL_PARAMETER _("normal")
-#define MONITOR_ROTATE_LEFT_PARAMETER _("left")
-#define MONITOR_ROTATE_RIGHT_PARAMETER _("right")
-#define MONITOR_ROTATE_INVERTED_PARAMETER _("invert")
+
+#define MONITOR_ROTATE_PARAMETER "rotate:"
+#define MONITOR_ROTATE_NORMAL_PARAMETER "normal"
+#define MONITOR_ROTATE_LEFT_PARAMETER "left"
+#define MONITOR_ROTATE_RIGHT_PARAMETER "right"
+#define MONITOR_ROTATE_INVERTED_PARAMETER "invert"
#define MONITOR_PORT_ERROR_LABEL _("Error: Port must be chosen to save")
#define MONITOR_PORT_SUCCESS_LABEL _("Monitor configuration succeedeed")
@@ -50,4 +88,10 @@
#define LOCAL_SAVE_SUCCESS _("Local configuration saving succseeded.")
#define YES_LABEL _("Yes")
-#define NO_LABEL _("No")
\ No newline at end of file
+#define NO_LABEL _("No")
+
+#define DESCRIPTION_LABEL _("Description")
+#define VENDOR_LABEL _("Vendor")
+#define MODEL_LABEL _("Model")
+#define USED_KERNEL_DRIVER_LABEL _("Kernel driver in use")
+#define AVALIABLE_KERNEL_DRIVERS_LABEL _("Kernel modules")
\ No newline at end of file
diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c
index 3c02b8a..380432f 100644
--- a/source/ubl-settings-video.c
+++ b/source/ubl-settings-video.c
@@ -76,9 +76,6 @@ void on_terminal_done(GtkWidget *terminal, int size, widgets_dict *widgets){
char *text=vte_terminal_get_text_range(VTE_TERMINAL(terminal),0,0,0,10,NULL,NULL,NULL);
printf("\"%s\"\n",text);
gtk_widget_destroy(terminal);
- // vte_terminal_reset(VTE_TERMINAL(terminal),0,1);
- // gtk_widget_destroy(terminal);
- // gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalBox),0);
}
void on_terminal_more(GtkWidget *self, widgets_dict *widgets){
@@ -88,7 +85,6 @@ void on_terminal_more(GtkWidget *self, widgets_dict *widgets){
gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalMoreRevieler),active);
}
-
void on_terminal_destroy(GtkWidget *self, widgets_dict *widgets){
gtk_revealer_set_reveal_child(GTK_REVEALER(widgets->TerminalRevealer),0);
gtk_widget_destroy(widgets->TerminalRevealer);
@@ -312,11 +308,6 @@ void on_auto_choose_drivers(GtkWidget *self, widgets_dict *widgets)
gtk_widget_set_sensitive(widgets->mainDriverFailsafeNvidiaCombo, !state);
}
-// void on_closed_configuration(GtkWidget *self, MonitorSettings *monitors)
-// {
-// gtk_widget_destroy(monitors->templateMonitorConfigurationWindow);
-// }
-
char *yon_configuration_get_save_command(char *command){
char *str = NULL;
char *dntus = NULL;
@@ -329,15 +320,15 @@ char *yon_configuration_get_save_command(char *command){
str = yon_char_get_augumented(str, yon_char_get_augumented(" FAILSAFEATI=", videoconfig.failsafeATI));
}
if (strcmp(videoconfig.optirun, dntus)!=0&&strcmp(videoconfig.optirun, "")!=0)
- str = yon_char_get_augumented(str, yon_char_get_augumented(" OPTIRUN=", videoconfig.optirun));
+ str = yon_char_get_augumented(str, yon_char_unite(" OPTIRUN=","\"",videoconfig.optirun,"\"",NULL));
if (strcmp(videoconfig.primusrun, dntus)!=0&&strcmp(videoconfig.primusrun, "")!=0)
- str = yon_char_get_augumented(str, yon_char_get_augumented(" PRIMUSRUN=", videoconfig.primusrun));
+ str = yon_char_get_augumented(str, yon_char_unite(" PRIMUSRUN=","\"", videoconfig.primusrun,"\"",NULL));
dictionary *dict=NULL;
for_dictionaries(dict,videoconfig.monitors){
if (yon_dictionary_get_data(dict,monitorconfig*)->stringparameters){
- str=yon_char_get_augumented(str, yon_config_make_save_parameter_with_multiple_arguments(yon_dictionary_get_data(dict,monitorconfig*)->stringparameters,XORG_MONITOR(dict->key),","));
+ str=yon_char_unite(str," XORG_MONITOR[",dict->key,"]=\"",yon_dictionary_get_data(dict,monitorconfig*)->stringparameters,"\"", NULL);
}
}
@@ -371,7 +362,7 @@ char *yon_configuration_get_remove_command(char *command){
str = yon_char_get_augumented(str, " PRIMUSRUN");
dictionary *dict=NULL;
for_dictionaries(dict,videoconfig.monitors){
- str = yon_char_get_augumented(str, yon_char_get_augumented(" XORG_MONITOR[", yon_char_get_augumented(dict->key, "]")));
+ str = yon_char_get_augumented(str, yon_char_get_augumented(" ",XORG_MONITOR(dict->key)));
}
if (strcmp(str,command)!=0)
return str;
@@ -389,7 +380,6 @@ void on_configuration_save_local(GtkWidget *self, widgets_dict *widgets)
yon_config_save(delstr);
}
if (str){
- // printf(str);
yon_config_save(str);
videoconfig.status_render.text_to_render=LOCAL_SAVE_SUCCESS;
@@ -508,6 +498,22 @@ void on_monitor_add(GtkWidget *self,monitor_window *window){
}
}
+// void on_monitor_string_edit(GtkWidget *self,monitor_edit_window *monitor){
+// int size=0;
+// config_str rtn = yon_char_parse((char*)gtk_entry_get_text(GTK_ENTRY(monitor->templateMonitorConfigurationParameterLineEntry)),&size,",");
+// if (yon_char_parsed_check_exist(rtn,size,"enable")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationEnableCheck));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationResolutionCombo));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationFrequencyCombo));
+// if (yon_char_parsed_check_exist(rtn,size,"rotate")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationRotationCombo));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPositionPosCombo));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_COMBO_BOX_TEXT(monitor->templateMonitorConfigurationPositionPortCombo));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationDoNotSwitchOffCheck));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationModelineCVTCheck));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationUseCVTReducedCheck));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationModelineGTFCheck));
+// if (yon_char_parsed_check_exist(rtn,size,"")!=-1) GTK_CHECK_BUTTON(monitor->templateMonitorConfigurationMainCheck));
+// }
+
void on_monitor_configure(GtkWidget *self,monitor_window *window){
if(window&&window->config){
monitor_edit_window *monitors = new(monitor_edit_window);
@@ -525,7 +531,6 @@ void on_monitor_configure(GtkWidget *self,monitor_window *window){
monitors->templateMonitorConfigurationFrequencyLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationFrequencyLabel"));
monitors->templateMonitorConfigurationFrequencyCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationFrequencyCombo"));
monitors->templateMonitorConfigurationRotationLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationLabel"));
- // monitors->templateMonitorConfigurationDoNotSwitchOffLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationDoNotSwitchOffLabel"));
monitors->templateMonitorConfigurationRotationCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationRotationCombo"));
monitors->templateMonitorConfigurationPositionLabel = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPositionLabel"));
monitors->templateMonitorConfigurationPositionPosCombo = GTK_WIDGET(gtk_builder_get_object(builder, "templateMonitorConfigurationPositionPosCombo"));
@@ -573,7 +578,7 @@ void on_monitor_configure(GtkWidget *self,monitor_window *window){
dictionary *dict=NULL;
for (int i=0;istringparameters)
+ if (!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]);
}
@@ -1052,14 +1057,14 @@ driver_window *on_driver_window_open(GtkWidget *self, GtkWidget *comboe)
videoconfig.list = GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore6"));
gtk_list_store_clear(videoconfig.list);
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
- gtk_button_set_label(GTK_BUTTON(widgets->ProprietaryCloseButton), _("Cancel"));
- gtk_button_set_label(GTK_BUTTON(widgets->ProprietaryAcceptButton), _("Accept"));
+ gtk_button_set_label(GTK_BUTTON(widgets->ProprietaryCloseButton), CANCEL_LABEL);
+ gtk_button_set_label(GTK_BUTTON(widgets->ProprietaryAcceptButton), ACCEPT_LABEL);
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->propriearyTreeView),GTK_TREE_MODEL(videoconfig.list));
- 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_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), INSTALLED_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), PACKAGE_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), SUPPORTED_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), DRIVER_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDescriptionColumn), DESCRIPTION_LABEL);
gtk_widget_show(widgets->window);
g_signal_connect(G_OBJECT(widgets->ProprietaryCloseButton), "clicked", G_CALLBACK(on_subwindow_close), NULL);
combo_tree *trcm=NULL;
@@ -1235,6 +1240,42 @@ 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);
+ char *final_text = yon_char_unite("",DESCRIPTION_LABEL,": ",_(desc),
+ "\n",VENDOR_LABEL,": ",vendor,
+ "\n",MODEL_LABEL,": ",product,
+ "\n",USED_KERNEL_DRIVER_LABEL,": ",driver_use,
+ "\n",AVALIABLE_KERNEL_DRIVERS_LABEL,": ",driver_all,"",NULL);
+ gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(widgets->builder,"InformationLabel")),final_text);
+ if (strcmp(vendor,"Intel Corporation")==0){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.intel-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else if (strcmp(vendor,"NVidia Corporation")==0){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.nvidia-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else if (strcmp(vendor,"AMD Corporation")==0){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.amd-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else {
+ gtk_widget_destroy(widgets->InformationCompanyLogoImage);
+ }
+}
/** void yon_setup_widgets(widgets_dict *widgets)
* [EN]
* Sets up every element on main window
@@ -1326,6 +1367,15 @@ void yon_setup_widgets(widgets_dict *widgets)
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->DriverModulesTab = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "DriverModulesTab"));
+ widgets->DriversTab = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "DriversTab"));
+ widgets->MainTabLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "MainTabLabel"));
+ widgets->DriversTabLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "DriversTabLabel"));
+ widgets->InformationTabLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationTabLabel"));
+ widgets->InformationFrameLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationFrameLabel"));
+ widgets->InformationOverlay = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationOverlay"));
+ widgets->InformationCompanyLogoImage = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationCompanyLogoImage"));
+
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"));
@@ -1367,60 +1417,60 @@ void yon_setup_widgets(widgets_dict *widgets)
g_signal_connect(G_OBJECT(widgets->mainHeaderSaveGlobalMenuItem), "activate", G_CALLBACK(on_configuration_save_global), widgets);
g_signal_connect(G_OBJECT(widgets->mainHeaderSaveLocalMenuItem), "activate", G_CALLBACK(on_configuration_save_local), widgets);
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), _("Off"));
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), _("fbdev"));
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), _("Off"));
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), _("fbdev"));
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), OFF_LABEL);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeNvidiaCombo), FBDEV_LABEL);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), OFF_LABEL);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainDriverFailsafeAMDCombo), FBDEV_LABEL);
+
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainExtraFixGapCombo), GAP_FIX_1_LABEL);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainExtraFixGapCombo), GAP_FIX_2_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->headInfoLabel), HEADER_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainDriverFailsafeNvidiaLabel), FAILSAFE_NVIDIA_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainDriverFailsafeAMDLabel), FAILSAFE_ATI_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainDriverFrameLabel), DRIVER_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainMonitorConfigurationFrameLabel), MONITOR_CONFIGURATION_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainHybridGraphicsFrameLabel), HYBRID_GRAPHICS_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainExtraFixGapLabel), FIX_GAP_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainExtraFrameLabel), EXTRA_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainHeaderTitleLabel), TITLE_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainHeaderConfigLoadLabel), LOAD_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->mainHeaderSaveConfigurationLabel), SAVE_LABEL);
+
+ gtk_button_set_label(GTK_BUTTON(widgets->mainHybridGraphicsDiscreteCheck), ON_LABEL);
+ gtk_button_set_label(GTK_BUTTON(widgets->mainDriverAutomaticallyChooseCheck), AUTO_CHOOSE_DRIVERS_LABEL);
+ gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchOptirunCheck), LAUNCH_OPTIRUN_LABEL);
+ gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchPrismusunCheck), LAUNCH_PRIMUSRUN_LABEL);
+ gtk_button_set_label(GTK_BUTTON(widgets->mainHybridGraphicsDiscreteCheck), DISCRETE_ONLY_LABEL);
+
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderLoadGlobalMenuItem), LOAD_GLOBAL_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderLoadLocalMenuItem), LOAD_LOCAL_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveGlobalLocalMenuItem), SAVE_GLOBAL_LOCAL_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveGlobalMenuItem), SAVE_GLOBAL_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveLocalMenuItem), SAVE_LOCAL_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsDocumentationMenuItem), DOCUMENTATION_LABEL);
+ gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSettingsAboutMenuItem), ABOUT_LABEL);
+
+
+ gtk_label_set_text(GTK_LABEL(widgets->DriverModulesTab), DRIVER_MODULES_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->DriversTab), DRIVERS_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->MainTabLabel), MAIN_SETTINGS_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->DriversTabLabel), DRIVERS_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->InformationTabLabel), INFORMATION_LABEL);
+ gtk_label_set_text(GTK_LABEL(widgets->InformationFrameLabel), DEVICES_DRIVERS_LABEL);
+
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), INSTALLED_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), PACKAGE_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), SUPPORTED_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDriverColumn), DRIVER_LABEL);
+ gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->ProprietaryDescriptionColumn), DESCRIPTION_LABEL);
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainExtraFixGapCombo), _("1st variant. May cause perfomance drops in video games"));
- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->mainExtraFixGapCombo), _("2nd variant. May not work on specific video cards"));
- gtk_label_set_text(GTK_LABEL(widgets->headInfoLabel), _("Video output configuration"));
- gtk_label_set_text(GTK_LABEL(widgets->mainDriverFailsafeNvidiaLabel), _("Failsafe driver nVidia: "));
- gtk_label_set_text(GTK_LABEL(widgets->mainDriverFailsafeAMDLabel), _("Failsafe driver AMD/ATI: "));
- gtk_label_set_text(GTK_LABEL(widgets->mainDriverFrameLabel), _("Driver"));
- // gtk_label_set_text(GTK_LABEL(widgets->monitorConfigurationMethodLabel),_("Configuration method"));
- gtk_label_set_text(GTK_LABEL(widgets->mainMonitorConfigurationFrameLabel), _("Monitor configuration"));
- gtk_label_set_text(GTK_LABEL(widgets->mainHybridGraphicsFrameLabel), _("Hybrid graphics"));
- gtk_label_set_text(GTK_LABEL(widgets->mainExtraFixGapLabel), _("Fix frame gap (nVidia)"));
- gtk_label_set_text(GTK_LABEL(widgets->mainExtraFrameLabel), _("Extra"));
- gtk_label_set_text(GTK_LABEL(widgets->mainHeaderTitleLabel), _("UBlinux Video Configuration"));
- gtk_label_set_text(GTK_LABEL(widgets->mainHeaderConfigLoadLabel), _("Load"));
- gtk_label_set_text(GTK_LABEL(widgets->mainHeaderSaveConfigurationLabel), _("Save"));
-
- gtk_button_set_label(GTK_BUTTON(widgets->mainHybridGraphicsDiscreteCheck), _("On"));
- gtk_button_set_label(GTK_BUTTON(widgets->mainDriverAutomaticallyChooseCheck), _("Automatically choose and use driver"));
- gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchOptirunCheck), _("Launch programms through optirun (nVidia): "));
- gtk_button_set_label(GTK_BUTTON(widgets->mainExtraLaunchPrismusunCheck), _("Launch programs through primusun (nVidia): "));
- gtk_button_set_label(GTK_BUTTON(widgets->mainHybridGraphicsDiscreteCheck), _("discrete video only (AMD/ATI)"));
-
- gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderLoadGlobalMenuItem), _("Load from global configuration"));
- gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderLoadLocalMenuItem), _("Load from local configuration"));
- gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveGlobalLocalMenuItem), _("Save to global an local configuration"));
- gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->mainHeaderSaveGlobalMenuItem), _("Save to global 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->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"));
yon_ubl_header_setup(widgets->mainHeadOverlay, widgets->headBox, widgets->mainHeadBackgroundImage, banner_path);
- // gtk_overlay_add_overlay(GTK_OVERLAY(widgets->mainHeadOverlay),widgets->headBox);
yon_monitor_view_setup(widgets->mainMonitorVisualConfigurationBox);
yon_monitor_view_update();
videoconfig.status_render.icon=widgets->mainStatusIcon;
videoconfig.status_render.label=widgets->mainStatusLabel;
videoconfig.status_render.box=widgets->mainStatusBox;
- // gtk_image_set_from_file(GTK_IMAGE(widgets->mainHeadBackgroundImage),banner_path);
- // MonitorSettings *monitors = yon_setup_monitor_settings();
- // videoconfig.monitors=yon_dictionary_pack_monitors(monitors,yon_check_for_monitors());
- // widgets->overlays = yon_dictionary_pack_overlays(monitors);
- // yon_dictionary_gtk_pack_start_multiple_widgets(widgets->overlays, widgets->mainMonitorVisualConfigurationBox, 0, 0, 0);
- // yon_dictionary_gtk_pack_start_multiple_widgets(widgets->monitors,widgets->mainMonitorConfigurationBox,0,0,0);
}
int main(int argc, char *argv[])
@@ -1442,6 +1492,7 @@ int main(int argc, char *argv[])
yon_ubl_status_box_render(&videoconfig.status_render);
on_config_fill_interface(&widgets);
yon_monitor_set_resolutions();
+ yon_adapter_window_setup(&widgets);
GtkCssProvider *css = gtk_css_provider_new();
gtk_css_provider_load_from_path(css, CssPath, NULL);
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h
index 7eb8e3a..350f77c 100644
--- a/source/ubl-settings-video.h
+++ b/source/ubl-settings-video.h
@@ -51,7 +51,7 @@
#define remove_drivers_global_command "/usr/bin/ubconfig --target system remove video "
-#define remove_drivers_local_command "/usr/bin/ubconfig --target global remove video "
+#define remove_drivers_local_command "/usr/bin/ubconfig --target system remove video "
#define install_proprietary_command "pkexec pacman --quiet --needed --noconfirm -Sy "
@@ -61,6 +61,8 @@
#define get_version_proprietary_command "grep \"VERSION_ID=\" /etc/os-release | cut -d= -f2"
+#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,"] "))
@@ -233,6 +235,15 @@ typedef struct
GtkTreeViewColumn *driverDescriptionColumn;
GtkTreeViewColumn *driverSupportedColumn;
+ GtkWidget *DriverModulesTab;
+ GtkWidget *DriversTab;
+ GtkWidget *MainTabLabel;
+ GtkWidget *DriversTabLabel;
+ GtkWidget *InformationTabLabel;
+ GtkWidget *InformationFrameLabel;
+ GtkWidget *InformationOverlay;
+ GtkWidget *InformationCompanyLogoImage;
+
GtkWidget *TerminalOverlay;
GtkWidget *TerminalBox;
GtkWidget *TerminalRevealer;
diff --git a/source/ubl-utils.c b/source/ubl-utils.c
index 92f05a4..dd761cd 100644
--- a/source/ubl-utils.c
+++ b/source/ubl-utils.c
@@ -526,6 +526,7 @@ int yon_char_parsed_check_exist(char **parameters, int size, char *param){
return -1;
}
+
// parsing functions
apps *yon_apps_scan_and_parse_desktops(int *sizef)
diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade
index 3f144d9..0bf2e87 100644
--- a/ubl-settings-video.glade
+++ b/ubl-settings-video.glade
@@ -7,6 +7,13 @@
+