From 0c79c32675e83ff3d87d5bf52082652d85486a45 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sat, 15 Jun 2024 10:55:21 -0400 Subject: acme: shift button 3 for reverse search An experiment. Let's see if it's any good. Also document the Mac conventions in devdraw(3). --- src/cmd/9term/9term.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/cmd/9term') diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index d7391cf5..2fd42c54 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -56,7 +57,7 @@ threadmaybackground(void) void threadmain(int argc, char *argv[]) { - char *p; + char *p, *env; rfork(RFNOTEG); font = nil; @@ -64,6 +65,25 @@ threadmain(int argc, char *argv[]) mainpid = getpid(); messagesize = 8192; + threadmaybackground(); + + env = getenv("__CFBundleIdentifier"); + if(env != nil && strcmp(env, "com.swtch.9term") == 0) { + // Being invoked as $PLAN9/mac/9term.app. + // Set $SHELL and daemonize to let parent exit. + // This makes sure that each click on 9term + // brings up a new window. + extern void _threaddaemonize(void); + struct passwd *pw; + + unsetenv("__CFBundleIdentifier"); + pw = getpwuid(getuid()); + if(pw != nil && pw->pw_shell != nil) + setenv("SHELL", pw->pw_shell, 1); + loginshell = TRUE; + //_threaddaemonize(); + } + ARGBEGIN{ default: usage(); -- cgit v1.2.3