xserver: Branch 'master' - 3 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Sat Jan 12 12:05:00 PST 2008


 hw/xquartz/X11Application.h     |    1 +
 hw/xquartz/X11Application.m     |    7 ++++++-
 hw/xquartz/X11Controller.m      |    2 +-
 hw/xquartz/bundle/Info.plist    |    2 +-
 hw/xquartz/bundle/Makefile.am   |    2 --
 hw/xquartz/bundle/bundle-main.c |    3 ++-
 6 files changed, 11 insertions(+), 6 deletions(-)

New commits:
commit 6fd4a5e2e4d0be0ba0773df831687e11e1262c72
Author: Jeremy Huddleston <jeremy at yuffie.local>
Date:   Sat Jan 12 11:56:00 2008 -0800

    XQuartz: Corrected copyright X.org Project -> X.org Foundation
    (cherry picked from commit f21631444816fc12b8a534c2cf79e6ac6c2af7c9)

diff --git a/hw/xquartz/bundle/Info.plist b/hw/xquartz/bundle/Info.plist
index 5babdfe..6ba02dd 100644
--- a/hw/xquartz/bundle/Info.plist
+++ b/hw/xquartz/bundle/Info.plist
@@ -27,7 +27,7 @@
 	<key>NSHumanReadableCopyright</key>
 		<string>Copyright © 2003-2008, Apple Inc.
 Copyright © 2003, XFree86 Project, Inc.
-Copyright © 2003-2008, X.org Project, Inc.
+Copyright © 2003-2008, X.org Foundation, Inc.
 </string>
 	<key>NSMainNibFile</key>
 		<string>main</string>
commit f72255639c065d795f7767683e851b1b5b2d9480
Author: Jeremy Huddleston <jeremy at yuffie.local>
Date:   Sat Jan 12 11:35:48 2008 -0800

    XQuartz: added 'login_shell' option to defaults
    so the user can choose something other than /bin/sh
    (cherry picked from commit b549cf18cebd3435d70f62855239484974c455a1)

diff --git a/hw/xquartz/X11Application.h b/hw/xquartz/X11Application.h
index a1be751..af5aea2 100644
--- a/hw/xquartz/X11Application.h
+++ b/hw/xquartz/X11Application.h
@@ -97,5 +97,6 @@ extern int quartzHasRoot, quartzEnableRootless;
 #define PREFS_SWAP_ALT_META         "swap_alt_meta"
 #define PREFS_XP_OPTIONS            "xp_options"
 #define PREFS_ENABLE_STEREO         "enable_stereo"
+#define PREFS_LOGIN_SHELL           "login_shell"
 
 #endif /* X11APPLICATION_H */
diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
index 6b7c351..e13edc1 100644
--- a/hw/xquartz/X11Controller.m
+++ b/hw/xquartz/X11Controller.m
@@ -302,7 +302,7 @@
   argv[0] = "/usr/bin/login";
   argv[1] = "-fp";
   argv[2] = getlogin();
-  argv[3] = "/bin/sh";
+  argv[3] = [X11App prefs_get_string:@PREFS_FAKE_BUTTON2 default:"/bin/sh"];
   argv[4] = "-c";
   argv[5] = command;
   argv[6] = NULL;
diff --git a/hw/xquartz/bundle/Makefile.am b/hw/xquartz/bundle/Makefile.am
index 9511670..00d540f 100644
--- a/hw/xquartz/bundle/Makefile.am
+++ b/hw/xquartz/bundle/Makefile.am
@@ -18,8 +18,6 @@ EXTRA_DIST = \
 	Info.plist \
 	X11.icns \
 	bundle-main.c \
-	launcher-main.c \
-	server-main.c \
 	English.lproj/InfoPlist.strings \
 	English.lproj/Localizable.strings \
 	English.lproj/main.nib/classes.nib \
diff --git a/hw/xquartz/bundle/bundle-main.c b/hw/xquartz/bundle/bundle-main.c
index df78d7f..54d0136 100644
--- a/hw/xquartz/bundle/bundle-main.c
+++ b/hw/xquartz/bundle/bundle-main.c
@@ -38,6 +38,7 @@
 
 #define DEFAULT_CLIENT "/usr/X11/bin/xterm"
 #define DEFAULT_STARTX "/usr/X11/bin/startx"
+#define DEFAULT_SHELL  "/bin/sh"
 
 static int execute(const char *command);
 static char *command_from_prefs(const char *key, const char *default_value);
@@ -82,7 +83,7 @@ static int execute(const char *command) {
     newargv[0] = "/usr/bin/login";
     newargv[1] = "-fp";
     newargv[2] = getlogin();
-    newargv[3] = "/bin/sh";
+    newargv[3] = command_from_prefs("login_shell", DEFAULT_SHELL);
     newargv[4] = "-c";
     newargv[5] = command;
     newargv[6] = NULL;
commit ec24a6b5aa732ec6999a27889d9a33cf80123886
Author: Jeremy Huddleston <jeremy at yuffie.local>
Date:   Sun Jan 6 18:29:54 2008 -0800

    XQuartz: Fixed switching into XQuartz via expose.
    (cherry picked from commit 627ed60ce5d7499761028edf379ebd95250d3e04)

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index 72537bb..f688985 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -164,7 +164,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
 	 have it activated while X is active (unless using the old
 	 keymapping files) */
     static TSMDocumentID x11_document;
-	
+	DEBUG_LOG("state=%d, _x_active=%d, \n", state, _x_active)
     if (state) {
       QuartzMessageServerThread (kXDarwinActivate, 0);
       
@@ -314,6 +314,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
 }
 
 - (void) set_front_process:unused {
+//    [self activateX:YES];
     QuartzMessageServerThread(kXDarwinBringAllToFront, 0);
 }
 
@@ -710,6 +711,10 @@ void X11ApplicationSetWindowMenuCheck (int idx) {
 
 void X11ApplicationSetFrontProcess (void) {
     message_kit_thread (@selector (set_front_process:), nil);
+
+    /* Hackery needed due to argv[0] hackery */
+    ProcessSerialNumber psn = { 0, kCurrentProcess };
+    SetFrontProcess(&psn);
 }
 
 void X11ApplicationSetCanQuit (int state) {


More information about the xorg-commit mailing list