File: evince.patch

package info (click to toggle)
gman 0.9.3-5.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 652 kB
  • sloc: ansic: 7,389; makefile: 131; perl: 105
file content (100 lines) | stat: -rw-r--r-- 4,007 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Author: Osamu Aoki <osamu@debian.org>
Description: Use Evince
--- a/gman.1x
+++ b/gman.1x
@@ -40,6 +40,12 @@
 .sp
 This requires GhostView (command "gv") to be available on your system.
 .TP
+.B Evince
+gman will present man pages in an Evince window for you to view and print
+the man page.
+.sp
+This requires GNOME Evince (command "evince") to be available on your system.
+.TP
 .B LocalBrowse
 gman will launch a web browser window to show you the man page.
 .sp
--- a/gman.c
+++ b/gman.c
@@ -91,6 +91,7 @@
 	context->set_default_value("show_mode","int",(void*)0); // 0 = xterm, 1 = ghostview
 	context->set_default_value("xterm_command","char*",(void*)"x-terminal-emulator");
 	context->set_default_value("gv_command","char*",(void*)"gv");
+	context->set_default_value("evince_command","char*",(void*)"evince");
 	context->set_default_value("browser_command","char*",(void*)"sensible-browser"); // kfm also works
 	context->set_default_value("cgi_host","char*",(void*)"localhost");
 	context->set_default_value("cgi_location","char*",(void*)"/cgi-bin/gman.pl");
--- a/mandata.c
+++ b/mandata.c
@@ -275,6 +275,26 @@
 			_exit(0);
 		}
 		break;
+	case 2:
+		sprintf(loc_name," ~/.gman.%s.ps ",get_display_name(buffer1));
+		sprintf(buffer,"man -t ");
+		len = strlen(buffer);
+		attach(buffer+len,man_path->GetPath(),file_name);
+		strcat(buffer," >> ");
+		strcat(buffer,loc_name);
+		strcat(buffer," ; ");
+		strcat(buffer,(char*)context->get_value("evince_command"));
+		strcat(buffer,loc_name);
+		strcat(buffer," ; rm ");
+		strcat(buffer,loc_name);
+		//g_warning(buffer);
+		if(!fork())
+		{
+			//printf(buffer);
+			system(buffer);
+			_exit(0);
+		}
+		break;
 		/*
 	case 2:
 		sprintf(loc_name," ~/.gman.%s.html ",get_display_name(buffer1));
@@ -304,7 +324,7 @@
 		}
 		break;
 		*/
-	case 2:
+	case 3:
 		sprintf(loc_name," ~/.gman.%s.html ",get_display_name(buffer1));
 		//g_warning(loc_name);
 		strcpy(buffer,"/usr/lib/cgi-bin/gman.pl ");
@@ -329,7 +349,7 @@
 			_exit(0);
 		}
 		break;
-	case 3:
+	case 4:
 		sprintf(buffer,(char*)context->get_value("browser_command"));
 		len = strlen(buffer);
 		strcat(buffer," \"http://");
--- a/menu.c
+++ b/menu.c
@@ -78,8 +78,9 @@
   {"/_View",      NULL,         NULL, 0, "<Branch>"},
   {"/View/x_Term",		"<control>T",	(void (*)())show_mode_callback, 0,	"<RadioItem>"},
   {"/View/_GhostView",		"<control>G",	(void (*)())show_mode_callback, 1,	"/View/xTerm"},
-  {"/View/_LocalBrowse",		"<control>L",	(void (*)())show_mode_callback, 2,	"/View/xTerm"},
-  {"/View/_NetBrowse",		"<control>N",	(void (*)())show_mode_callback, 3,	"/View/xTerm"},
+  {"/View/_Evince",		"<control>E",	(void (*)())show_mode_callback, 2,	"/View/xTerm"},
+  {"/View/_LocalBrowse",		"<control>L",	(void (*)())show_mode_callback, 3,	"/View/xTerm"},
+  {"/View/_NetBrowse",		"<control>N",	(void (*)())show_mode_callback, 4,	"/View/xTerm"},
   {"/_Options",      NULL,         NULL, 0, "<Branch>"},
   {"/Options/Status bar",		NULL,	(void (*)())status_bar_callback, 0,	"<CheckItem>"},
   {"/Options/sep1",     NULL,         NULL, 0, "<Separator>"},
@@ -164,8 +165,9 @@
 	searching_mode_buttons[1] = gtk_item_factory_get_widget(item_factory, "/Options/Key word search");
 	show_mode_buttons[0] = gtk_item_factory_get_widget(item_factory, "/View/xTerm");
 	show_mode_buttons[1] = gtk_item_factory_get_widget(item_factory, "/View/GhostView");
-	show_mode_buttons[2] = gtk_item_factory_get_widget(item_factory, "/View/LocalBrowse");
-	show_mode_buttons[3] = gtk_item_factory_get_widget(item_factory, "/View/NetBrowse");
+	show_mode_buttons[2] = gtk_item_factory_get_widget(item_factory, "/View/Evince");
+	show_mode_buttons[3] = gtk_item_factory_get_widget(item_factory, "/View/LocalBrowse");
+	show_mode_buttons[4] = gtk_item_factory_get_widget(item_factory, "/View/NetBrowse");
 	status_bar_button = gtk_item_factory_get_widget(item_factory, "/Options/Status bar");
 	//  gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(section_buttons[4]),1);
 	updata_menu_buttons(0);