linux-um archives
 help / color / mirror / Atom feed
* [uml-devel] [PATCH] the xterm that is produced for the virtual consoles should have the --name
@ 2006-01-18 21:01 Michael Richardson
  2006-01-18 23:46 ` Blaisorblade
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Richardson @ 2006-01-18 21:01 UTC (permalink / raw)
  To: user-mode-linux-devel; +Cc: Jeff Dike, Jody McIntyre

[-- Attachment #1: Type: text/plain, Size: 3063 bytes --]


From: Michael Richardson <mcr@xelerance.com>

the xterm that is produced for the virtual consoles should have the
--name option added. This will tell the xterm to lookup a custom resource in
the X resource database, and may permit the user to have all the consoles
associated with a given UML be the same colour. For instance, you could
put:
	marajade-[~] mcr 1129 %grep east .Xresources
	east*foreground: Green
	east*background: Black
	east*saveLines: 1000

this patch added a fourth argument to the xterm definition so that the
name of the option could be changed. For gnome-terminal, perhaps
--window-with-profile will work. It looks like this option will work without
the = in the option, so it should work for gnome people too.

---

 arch/um/drivers/xterm.c |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

applies-to: f0f578967fc649a7b993b212e164b658639ef184
7335417358836aebdb201c5e2ea6229af6449af6
diff --git a/arch/um/drivers/xterm.c b/arch/um/drivers/xterm.c
index aaa6366..0220d59 100644
--- a/arch/um/drivers/xterm.c
+++ b/arch/um/drivers/xterm.c
@@ -50,6 +50,7 @@ void *xterm_init(char *str, int device, 
 /* Only changed by xterm_setup, which is a setup */
 static char *terminal_emulator = "xterm";
 static char *title_switch = "-T";
+static char *name_switch = "-name";
 static char *exec_switch = "-e";
 
 static int __init xterm_setup(char *line, int *add)
@@ -67,6 +68,11 @@ static int __init xterm_setup(char *line
 	*line++ = '\0';
 	if(*line) exec_switch = line;
 
+	line = strchr(line, ',');
+	if(line == NULL) return(0);
+	*line++ = '\0';
+	if(*line) name_switch = line;
+
 	return(0);
 }
 
@@ -79,8 +85,8 @@ __uml_setup("xterm=", xterm_setup,
 "    respectively.  The title switch must have the form '<switch> title',\n"
 "    not '<switch>=title'.  Similarly, the exec switch must have the form\n"
 "    '<switch> command arg1 arg2 ...'.\n"
-"    The default values are 'xterm=xterm,-T,-e'.  Values for gnome-terminal\n"
-"    are 'xterm=gnome-terminal,-t,-x'.\n\n"
+"    The default values are 'xterm=xterm,-T,-e,--name'.  Values for gnome-terminal\n"
+"    are 'xterm=gnome-terminal,-t,-x,--window-with-profile'.\n\n"
 );
 
 /* XXX This badly needs some cleaning up in the error paths
@@ -93,12 +99,17 @@ int xterm_open(int input, int output, in
 	unsigned long stack;
 	int pid, fd, new, err;
 	char title[256], file[] = "/tmp/xterm-pipeXXXXXX";
-	char *argv[] = { terminal_emulator, title_switch, title, exec_switch, 
-			 "/usr/lib/uml/port-helper", "-uml-socket",
+	char umlname[64];
+	char *argv[] = { terminal_emulator, title_switch, title,
+			 name_switch, umlname,
+			 exec_switch,"/usr/lib/uml/port-helper", "-uml-socket",
 			 file, NULL };
 
-	if(os_access(argv[4], OS_ACC_X_OK) < 0)
-		argv[4] = "port-helper";
+	/* get the UML name */
+	strcpy(umlname, get_umid(0));
+
+	if(os_access(argv[6], OS_ACC_X_OK) < 0)
+		argv[6] = "port-helper";
 
 	/* Check that DISPLAY is set, this doesn't guarantee the xterm
 	 * will work but w/o it we can be pretty sure it won't. */
---
0.99.9.GIT



[-- Attachment #2: Type: application/pgp-signature, Size: 480 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-19 16:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-18 21:01 [uml-devel] [PATCH] the xterm that is produced for the virtual consoles should have the --name Michael Richardson
2006-01-18 23:46 ` Blaisorblade
2006-01-19 16:10   ` Jody McIntyre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox