|
|
|
@ -22,6 +22,29 @@ void on_theme_changed(GSettings *, char *, main_window *widgets){
|
|
|
|
yon_terminal_style_update(NULL, widgets);
|
|
|
|
yon_terminal_style_update(NULL, widgets);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gboolean yon_adjustment_set(GtkAdjustment *adj){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_adjustment_set_value(adj,0);
|
|
|
|
|
|
|
|
return G_SOURCE_CONTINUE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_child_exited(GtkWidget *, gint, GtkAdjustment *adj){
|
|
|
|
|
|
|
|
g_idle_remove_by_data(adj);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void terminal_integrated_start(GtkWidget *terminal,GtkAdjustment *adj, char* command){
|
|
|
|
|
|
|
|
gchar *envv[] = { NULL };
|
|
|
|
|
|
|
|
config_str parsed=NULL;
|
|
|
|
|
|
|
|
int size=0;
|
|
|
|
|
|
|
|
g_shell_parse_argv(command, &size,&parsed, NULL);
|
|
|
|
|
|
|
|
vte_terminal_spawn_async(VTE_TERMINAL(terminal),VTE_PTY_NO_HELPER,"/bin",parsed,envv,G_SPAWN_SEARCH_PATH,NULL,NULL,NULL,20,NULL,NULL,NULL);
|
|
|
|
|
|
|
|
vte_terminal_set_size(VTE_TERMINAL(terminal),10,15);
|
|
|
|
|
|
|
|
vte_terminal_set_scrollback_lines(VTE_TERMINAL(terminal), -1);
|
|
|
|
|
|
|
|
gtk_widget_show_all(terminal);
|
|
|
|
|
|
|
|
g_idle_add((GSourceFunc)yon_adjustment_set,adj);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
* [EN]
|
|
|
|
* [EN]
|
|
|
|
*
|
|
|
|
*
|
|
|
|
@ -37,9 +60,11 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
widgets->InfoIcon = yon_gtk_builder_get_widget(builder,"InfoIcon");
|
|
|
|
widgets->InfoIcon = yon_gtk_builder_get_widget(builder,"InfoIcon");
|
|
|
|
widgets->InfoTerminal = yon_gtk_builder_get_widget(builder,"InfoTerminal");
|
|
|
|
widgets->InfoTerminal = yon_gtk_builder_get_widget(builder,"InfoTerminal");
|
|
|
|
widgets->TerminalTemplateLabel = yon_gtk_builder_get_widget(builder,"TerminalTemplateLabel");
|
|
|
|
widgets->TerminalTemplateLabel = yon_gtk_builder_get_widget(builder,"TerminalTemplateLabel");
|
|
|
|
|
|
|
|
widgets->adjustment = GTK_ADJUSTMENT(gtk_builder_get_object(builder,"adjustment1"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yon_terminal_integrated_start(widgets->InfoTerminal,main_command);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->InfoTerminal),"eof",G_CALLBACK(on_child_exited),widgets->adjustment);
|
|
|
|
|
|
|
|
terminal_integrated_start(widgets->InfoTerminal,widgets->adjustment,main_command);
|
|
|
|
yon_terminal_style_update(NULL, widgets);
|
|
|
|
yon_terminal_style_update(NULL, widgets);
|
|
|
|
|
|
|
|
|
|
|
|
GSettings *settings = g_settings_new("org.gnome.desktop.interface");
|
|
|
|
GSettings *settings = g_settings_new("org.gnome.desktop.interface");
|
|
|
|
|