SF.net SVN: geany: [2031] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Wed Nov 7 17:16:28 UTC 2007


Revision: 2031
          http://geany.svn.sourceforge.net/geany/?rev=2031&view=rev
Author:   eht16
Date:     2007-11-07 09:16:28 -0800 (Wed, 07 Nov 2007)

Log Message:
-----------
Apply patch from Simone Denei to add a "Restart" item to the VTE popup menu in case running application hangs.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/vte.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-11-06 17:29:51 UTC (rev 2030)
+++ trunk/ChangeLog	2007-11-07 17:16:28 UTC (rev 2031)
@@ -1,3 +1,9 @@
+2007-11-07  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
+
+ * src/vte.c: Apply patch from Simone Denei to add a "Restart" item to
+              the VTE popup menu in case running application hangs.
+
+
 2007-11-06  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
  * src/build.c: Enable stopping of Run command on Windows.

Modified: trunk/src/vte.c
===================================================================
--- trunk/src/vte.c	2007-11-06 17:29:51 UTC (rev 2030)
+++ trunk/src/vte.c	2007-11-07 17:16:28 UTC (rev 2031)
@@ -74,6 +74,7 @@
 	POPUP_COPY,
 	POPUP_PASTE,
 	POPUP_CHANGEPATH,
+	POPUP_RESTARTTERMINAL,
 	POPUP_PREFERENCES
 };
 
@@ -298,6 +299,19 @@
 }
 
 
+static void vte_restart(GtkWidget *widget)
+{
+		vte_get_working_directory(); // try to keep the working directory when restarting the VTE
+	 	if (pid > 0)
+		{
+			kill(pid, SIGINT);
+			pid = 0;
+		}
+		vf->vte_terminal_reset(VTE_TERMINAL(widget), TRUE, TRUE);
+		vte_start(widget);
+}
+
+
 static gboolean vte_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 {
 	if (event->button == 3)
@@ -380,6 +394,12 @@
 				vte_cwd(doc_list[idx].file_name, TRUE);
 			break;
 		}
+		case POPUP_RESTARTTERMINAL:
+		{
+			vte_restart(vc->vte);
+			break;
+			
+		}
 		case POPUP_PREFERENCES:
 		{
 			GtkWidget *notebook;
@@ -416,6 +436,11 @@
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	g_signal_connect((gpointer)item, "activate", G_CALLBACK(vte_popup_menu_clicked), GINT_TO_POINTER(POPUP_CHANGEPATH));
 
+	item = gtk_image_menu_item_new_with_label(_("Restart terminal"));
+	gtk_widget_show(item);
+	gtk_container_add(GTK_CONTAINER(menu), item);
+	g_signal_connect((gpointer)item, "activate", G_CALLBACK(vte_popup_menu_clicked), GINT_TO_POINTER(POPUP_RESTARTTERMINAL));
+
 	item = gtk_separator_menu_item_new();
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list