diff --git a/source/ubl-settings-system.c b/source/ubl-settings-system.c
index 047ac4c..e417a1c 100644
--- a/source/ubl-settings-system.c
+++ b/source/ubl-settings-system.c
@@ -464,7 +464,7 @@ domain_info_window *yon_information_window_new(){
yon_gtk_widget_set_scroll_window_for_scroll(window->Window,GTK_SCROLLBAR(window->TerminalScroll));
GdkRGBA rgba;
vte_terminal_get_color_background_for_draw(VTE_TERMINAL(window->ExecuteTerminal),&rgba);
- // vte_terminal_set_color_cursor(VTE_TERMINAL(window->ExecuteTerminal),&rgba);
+ vte_terminal_set_color_cursor(VTE_TERMINAL(window->ExecuteTerminal),&rgba);
yon_gtk_window_setup(GTK_WINDOW(window->Window),NULL,TITLE_LABEL,"com.ublinux.ubl-settings-system","InfoWindow");
return window;
@@ -488,24 +488,32 @@ void on_domain_connect(GtkWidget *self, dictionary *dict){
client = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->ClientCombo));
}
char *final = yon_char_unite(!yon_char_is_empty(kerberos)?kerberos_addition_command(kerberos):"",!yon_char_is_empty(kerberos)?" ":"",!yon_char_is_empty(dns)?dns_addition_command(dns):"",!yon_char_is_empty(dns)?" ":"",!yon_char_is_empty(client)?client_addition_command(client):"",!yon_char_is_empty(client)?" ":"",NULL);
- yon_debug_output(domain_connect_command(adress,login,password,final));
- yon_debug_output(terminal_command_start(TITLE_LABEL,domain_connect_command(adress,login,password,final)));
- yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_connect_command(adress,login,password,final)),"");
+ yon_debug_output("%s\n",domain_connect_command(adress,login,password,final));
+ domain_info_window *dialog = yon_information_window_new();
+ yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_connect_command(adress,login,password,final));
+ gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
+ gtk_widget_show(dialog->Window);
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
}
void on_status_clicked(GtkWidget *self, connection_window *window){
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdressEntry));
if (!yon_char_is_empty(target)){
- yon_debug_output(domain_info(target));
- yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_info(target)),"");
+ yon_debug_output("%s\n",domain_info(target));
+ domain_info_window *dialog = yon_information_window_new();
+ yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_info(target));
+ gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
+ gtk_widget_show(dialog->Window);
}
}
void on_find_domains_clicked(GtkWidget *self, connection_window *window){
- yon_debug_output(domains_seek_command);
- yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domains_seek_command),"");
+ yon_debug_output("%s\n",domains_seek_command);
+ domain_info_window *dialog = yon_information_window_new();
+ yon_terminal_integrated_start(dialog->ExecuteTerminal,domains_seek_command);
+ gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
+ gtk_widget_show(dialog->Window);
}
@@ -513,8 +521,11 @@ void on_main_window_domain_status_clicked(GtkWidget *self, GtkEntryIconPosition
if (icon_pos==GTK_ENTRY_ICON_SECONDARY&&main_config.domain_connected){
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(widgets->DomainEntry));
if (!yon_char_is_empty(target)){
- yon_debug_output(get_domain_info_command);
- yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,get_domain_info_command),"");
+ yon_debug_output("%s\n",get_domain_info_command);
+ domain_info_window *dialog = yon_information_window_new();
+ yon_terminal_integrated_start(dialog->ExecuteTerminal,get_domain_info_command);
+ gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(dialog->Window);
}
}
}
@@ -563,7 +574,6 @@ connection_window *yon_connection_window_new(){
g_signal_connect(G_OBJECT(window->FindEntry),"clicked",G_CALLBACK(on_find_domains_clicked),window);
g_signal_connect(G_OBJECT(window->AdressEntry),"focus-out-event",G_CALLBACK(yon_update_thread),window);
yon_update_thread(NULL,NULL,window);
-
return window;
}
@@ -578,8 +588,11 @@ void on_domain_disconnect(GtkWidget *self, dictionary *dict){
yon_ubl_status_highlight_incorrect(window->AdressEntry);
return;
}
- yon_debug_output(domain_disconnect_command(adress,login,password));
- yon_launch_app_with_arguments(terminal_command_start(TITLE_LABEL,domain_disconnect_command(adress,login,password)),"");
+ yon_debug_output("%s\n",domain_disconnect_command(adress,login,password));
+ domain_info_window *dialog = yon_information_window_new();
+ yon_terminal_integrated_start(dialog->ExecuteTerminal,domain_disconnect_command(adress,login,password));
+ gtk_window_set_transient_for(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window));
+ gtk_widget_show(dialog->Window);
gtk_entry_set_text(GTK_ENTRY(widgets->DomainEntry),adress);
}
@@ -649,6 +662,7 @@ void on_domain_opened(GtkWidget *self, main_window *widgets){
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_domain_connect),dict);
g_signal_connect(G_OBJECT(window->Window),"destroy",G_CALLBACK(on_check_domain_connected),widgets);
+ yon_update_thread(NULL,NULL,window);
gtk_widget_show(window->Window);
}
diff --git a/source/ubl-settings-system.h b/source/ubl-settings-system.h
index 345a4b4..208f262 100644
--- a/source/ubl-settings-system.h
+++ b/source/ubl-settings-system.h
@@ -65,18 +65,18 @@
#define check_domain_access_command(targeet) yon_char_append("adcli info --domain ",target)
#define get_domain_info_command "ubdomain-client list "
#define domains_seek_command "ubdomain-client discover"
-#define domain_connect_command(target,user,password, addition) yon_char_unite("ubdomain-client join",!yon_char_is_empty(user)?" --user \"":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(user)?"\"":"",!yon_char_is_empty(password)?" --password \"":"",!yon_char_is_empty(password)?password:"",!yon_char_is_empty(password)?"\"":""," --domain \"",target,"\"", addition,NULL)
-#define domain_disconnect_command(target,user,password) yon_char_unite("ubdomain-client leave",!yon_char_is_empty(user)?" --user \"":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(user)?"\"":"",!yon_char_is_empty(password)?" --password \"":"",!yon_char_is_empty(password)?password:"",!yon_char_is_empty(password)?"\"":""," --domain \"",target,"\"",NULL)
-#define kerberos_addition_command(target) yon_char_unite(" --domain_server \"",target,"\"",NULL)
-#define dns_addition_command(target) yon_char_unite(" --dns \"",target,"\"",NULL)
-#define client_addition_command(target) yon_char_unite(" --domain_client \"",target,"\"",NULL)
+#define domain_connect_command(target,user,password, addition) yon_char_unite("ubdomain-client join",!yon_char_is_empty(user)?" --user ":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(password)?" --password ":"",!yon_char_is_empty(password)?password:""," --domain ",target, addition,NULL)
+#define domain_disconnect_command(target,user,password) yon_char_unite("ubdomain-client leave",!yon_char_is_empty(user)?" --user ":"",!yon_char_is_empty(user)?user:"",!yon_char_is_empty(password)?" --password ":"",!yon_char_is_empty(password)?password:""," --domain ",target,NULL)
+#define kerberos_addition_command(target) yon_char_unite(" --domain_server ",target,"",NULL)
+#define dns_addition_command(target) yon_char_unite(" --dns ",target,"",NULL)
+#define client_addition_command(target) yon_char_unite(" --domain_client ",target,"",NULL)
-#define domain_info(target) yon_char_unite("ubdomain-client discover --domain \"",target,"\"",NULL)
+#define domain_info(target) yon_char_unite("ubdomain-client discover --domain ",target,"",NULL)
#define domain_connected_icon "com.ublinux.ubl-settings-system.plug-connected-symbolic"
#define domain_disconnected_icon "com.ublinux.ubl-settings-system.plug-disconnected-symbolic"
-#define domain_connect_check "ubdomain-client list|grep -q \"configured\""
+#define domain_connect_check "ubdomain-client list|grep -q 'configured'"
#define domain_check_alive(target) yon_char_unite("timeout --kill-after=0.1 2 dig +time=1 +tries=1 +noall -t SRV _ldap._tcp.",target," @",target," &>/dev/null",NULL)
diff --git a/ubl-settings-system-domain-view.glade b/ubl-settings-system-domain-view.glade
index 71ebbdf..2d5dd4e 100644
--- a/ubl-settings-system-domain-view.glade
+++ b/ubl-settings-system-domain-view.glade
@@ -13,6 +13,7 @@
800
600
False
+ True
com.ublinux.ubl-settings-repomanager