diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c
index fba9f26..cc1b2c8 100644
--- a/source/ubl-settings-video.c
+++ b/source/ubl-settings-video.c
@@ -953,14 +953,24 @@ void on_monitor_configure(GtkWidget *,monitor_data *window){
monitors->ParameterLineEntry = GTK_WIDGET(gtk_builder_get_object(builder, "ParameterLineEntry"));
monitors->CancelButton = GTK_WIDGET(gtk_builder_get_object(builder, "CancelButton"));
monitors->SaveButton = GTK_WIDGET(gtk_builder_get_object(builder, "SaveButton"));
-
+
+ char *title;
+ char *cur_port = (char*)gtk_label_get_text(GTK_LABEL(window->NameLabel));
+ if (!yon_char_is_empty(cur_port)){
+ title = MONITOR_TITLE_LABEL(cur_port);
+ } else {
+ title=TITLE_LABEL;
+ }
+
+ gtk_label_set_text(GTK_LABEL(monitors->HeadLabel),title);
+
g_signal_connect(G_OBJECT(monitors->CancelButton), "clicked", G_CALLBACK(on_subwindow_close), NULL);
g_signal_connect(G_OBJECT(monitors->SaveButton), "clicked", G_CALLBACK(on_monitor_config_save), monitors);
g_signal_connect(G_OBJECT(monitors->ParameterLineCheck), "toggled", G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed), monitors->InterfaceConfigurationBox);
g_signal_connect(G_OBJECT(monitors->ParameterLineCheck), "toggled", G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button), monitors->ParameterLineEntry);
g_signal_connect(G_OBJECT(monitors->UnsupportedCheck), "toggled", G_CALLBACK(on_resolutions_unsupported_show),monitors);
g_signal_connect(G_OBJECT(monitors->PortCombo), "changed", G_CALLBACK(on_port_chosen_changed),monitors);
- yon_gtk_window_setup(GTK_WINDOW(monitors->MainWindow),GTK_WINDOW(main_config.widgets->Window),TITLE_LABEL,"com.ublinux.ubl-settings-video","VieoConfigWindow");
+ yon_gtk_window_setup(GTK_WINDOW(monitors->MainWindow),GTK_WINDOW(main_config.widgets->Window),title,"com.ublinux.ubl-settings-video","VieoConfigWindow");
char *target = (char*)gtk_label_get_text(GTK_LABEL(window->NameLabel));
@@ -1217,6 +1227,19 @@ void yon_monitor_set_resolutions(){
}
+void on_app_chooser_open(GtkWidget *self, main_window *widgets){
+ yon_app_chooser_window *window = yon_app_chooser_window_new(1);
+ int size;
+ config_str parsed = yon_app_chooser_window_run(window,&size);
+
+ char *string = yon_char_parsed_to_string(parsed,size,",");
+ if (self==widgets->OptirunButton){
+ gtk_entry_set_text(GTK_ENTRY(widgets->OptirunEntry),string);
+ } else if (self == widgets->PrimusrunButton){
+ gtk_entry_set_text(GTK_ENTRY(widgets->PrimusrunEntry),string);
+ }
+}
+
void yon_adapter_window_setup(main_window *widgets){
int size=0;
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay),widgets->InformationCompanyLogoImage);
@@ -1457,7 +1480,8 @@ template_main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->PrimusrunCombo),"changed",G_CALLBACK(yon_set_sensitive_from_combo_box),widgets->PrimusrunEntry);
g_signal_connect(G_OBJECT(widgets->KernelsCombo),"changed",G_CALLBACK(on_kernel_filter_changed),widgets);
g_signal_connect(G_OBJECT(widgets->FrameGapCombo),"changed",G_CALLBACK(on_gapfix_changed),widgets);
-
+ g_signal_connect(G_OBJECT(widgets->OptirunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets);
+ g_signal_connect(G_OBJECT(widgets->PrimusrunButton),"clicked",G_CALLBACK(on_app_chooser_open),widgets);
// yon_gtk_tree_view_column_minimal_fixed_size_set(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->DriversTree),0));
// yon_gtk_tree_view_column_minimal_fixed_size_set(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->DriversTree),1));
diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h
index 507648d..66d480f 100644
--- a/source/ubl-settings-video.h
+++ b/source/ubl-settings-video.h
@@ -394,4 +394,5 @@ void on_gapfix_changed(GtkWidget*self, main_window *widgets);
gboolean yon_proprietary_disconnect(main_window *widgets);
gboolean yon_proprietary_connect(main_window *widgets);
+void on_app_chooser_open(GtkWidget *self, main_window *widgets);
#endif
\ No newline at end of file
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index 86d75c6..f972bee 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -27,6 +27,7 @@
#define MONITOR_NO_ROTATION_LABEL _("No rotation")
#define MONITOR_SAVE_LABEL _("Save")
#define MONITOR_CANCEL_LABEL _("Cancel")
+#define MONITOR_TITLE_LABEL(target) yon_char_unite(_("Configuration:")," ","Monitor(",target,")",NULL)
#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")
diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade
index fa6b607..3b9652a 100644
--- a/ubl-settings-video.glade
+++ b/ubl-settings-video.glade
@@ -707,6 +707,7 @@