mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
macos: disable sandbox
This commit is contained in:
@ -1,10 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict/>
|
||||||
<key>com.apple.security.app-sandbox</key>
|
|
||||||
<true/>
|
|
||||||
<key>com.apple.security.files.user-selected.read-only</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
</plist>
|
||||||
|
@ -301,7 +301,7 @@
|
|||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.1;
|
MARKETING_VERSION = 0.1;
|
||||||
"OTHER_LDFLAGS[arch=*]" = "-lstdc++";
|
"OTHER_LDFLAGS[arch=*]" = "-lstdc++";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mitchellh.Ghostty;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mitchellh.ghostty;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
@ -323,6 +323,7 @@
|
|||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = fast;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = Ghostty;
|
INFOPLIST_KEY_CFBundleDisplayName = Ghostty;
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools";
|
||||||
@ -333,7 +334,7 @@
|
|||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.1;
|
MARKETING_VERSION = 0.1;
|
||||||
"OTHER_LDFLAGS[arch=*]" = "-lstdc++";
|
"OTHER_LDFLAGS[arch=*]" = "-lstdc++";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mitchellh.Ghostty;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mitchellh.ghostty;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
|
11
src/Pty.zig
11
src/Pty.zig
@ -19,6 +19,8 @@ const c = switch (builtin.os.tag) {
|
|||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const log = std.log.scoped(.pty);
|
||||||
|
|
||||||
// https://github.com/ziglang/zig/issues/13277
|
// https://github.com/ziglang/zig/issues/13277
|
||||||
// Once above is fixed, use `c.TIOCSCTTY`
|
// Once above is fixed, use `c.TIOCSCTTY`
|
||||||
const TIOCSCTTY = if (builtin.os.tag == .macos) 536900705 else c.TIOCSCTTY;
|
const TIOCSCTTY = if (builtin.os.tag == .macos) 536900705 else c.TIOCSCTTY;
|
||||||
@ -102,8 +104,13 @@ pub fn childPreExec(self: Pty) !void {
|
|||||||
if (setsid() < 0) return error.ProcessGroupFailed;
|
if (setsid() < 0) return error.ProcessGroupFailed;
|
||||||
|
|
||||||
// Set controlling terminal
|
// Set controlling terminal
|
||||||
if (c.ioctl(self.slave, TIOCSCTTY, @as(c_ulong, 0)) < 0)
|
switch (std.os.system.getErrno(c.ioctl(self.slave, TIOCSCTTY, @as(c_ulong, 0)))) {
|
||||||
return error.SetControllingTerminalFailed;
|
.SUCCESS => {},
|
||||||
|
else => |err| {
|
||||||
|
log.err("error setting controlling terminal errno={}", .{err});
|
||||||
|
return error.SetControllingTerminalFailed;
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// Can close master/slave pair now
|
// Can close master/slave pair now
|
||||||
std.os.close(self.slave);
|
std.os.close(self.slave);
|
||||||
|
Reference in New Issue
Block a user