Added new function for spawning terminal window

pull/18/head
parent 0e23c53f55
commit ac7139ae7b

@ -87,6 +87,41 @@ void yon_terminal_integrated_start_shell(GtkWidget *terminal, char* command, voi
gtk_widget_show_all(terminal);
}
void __on_yon_terminal_done(GtkWidget *self, void *, GtkWidget *status_box){
yon_ubl_status_box_spawn_infinite(GTK_CONTAINER(status_box),"terminal_done","",BACKGROUND_IMAGE_SUCCESS_TYPE);
}
void yon_terminal_window_launch(GtkWindow *parent_window, char *command){
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkWidget *header = gtk_header_bar_new();
GtkWidget *terminal = vte_terminal_new();
GtkWidget *status_box = gtk_box_new(GTK_ORIENTATION_VERTICAL,5);
GtkWidget *box = gtk_box_new(GTK_ORIENTATION_VERTICAL,5);
GtkWidget *terminal_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,5);
GtkWidget *scroll = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL,gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal)));
gtk_window_set_titlebar(GTK_WINDOW(window),header);
gtk_container_add(GTK_CONTAINER(window),box);
gtk_box_pack_start(GTK_BOX(box),status_box,0,0,0);
gtk_box_pack_start(GTK_BOX(box),terminal_box,1,1,0);
gtk_box_pack_start(GTK_BOX(terminal_box),terminal,1,1,0);
gtk_box_pack_start(GTK_BOX(terminal_box),scroll,0,0,0);
gtk_widget_set_margin_bottom(terminal_box,5);
gtk_widget_set_margin_start(terminal_box,5);
gtk_widget_set_margin_end(terminal_box,5);
gtk_widget_show_all(window);
vte_terminal_set_scrollback_lines(VTE_TERMINAL(terminal),-1);
gtk_window_set_modal(GTK_WINDOW(window),1);
gtk_header_bar_set_show_close_button(GTK_HEADER_BAR(header),1);
gtk_window_set_title(GTK_WINDOW(window),gtk_window_get_title(parent_window));
gtk_window_set_icon_name(GTK_WINDOW(window),gtk_window_get_icon_name(parent_window));
g_signal_connect(G_OBJECT(terminal), "child-exited", G_CALLBACK(__on_yon_terminal_done), status_box);
yon_terminal_integrated_start(terminal,command);
}
void yon_gtk_set_scroll(GtkWidget* self,GdkEventScroll *event, GtkAdjustment *adjustment){
if (self){};
gdouble val = gtk_adjustment_get_value(adjustment);

@ -42,6 +42,8 @@ void yon_terminal_integrated_start(GtkWidget *terminal, char* command);
*/
void yon_terminal_integrated_start_shell(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument);
void yon_terminal_window_launch(GtkWindow *parent_window, char *command);
#endif
#define for_iter(model,iter) for(int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model),iter);valid;valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(model),iter))
@ -215,6 +217,8 @@ int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find);
*/
void yon_gtk_tree_view_minimal_fixed_size_set_full(GtkTreeView *tree);
void yon_gtk_tree_view_set_(GtkTreeView *top,GtkTreeView *resizing, ...);
/**yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...)
* [EN]
*

Loading…
Cancel
Save