mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-08-02 14:57:31 +03:00
macos: allow to hide decorations
This commit is contained in:

committed by
Mitchell Hashimoto

parent
63379ee2eb
commit
ed8b5bc283
@ -309,6 +309,7 @@ typedef struct {
|
||||
void *nsview;
|
||||
double scale_factor;
|
||||
uint16_t font_size;
|
||||
bool render_decoration;
|
||||
} ghostty_surface_config_s;
|
||||
|
||||
typedef void (*ghostty_runtime_wakeup_cb)(void *);
|
||||
@ -364,6 +365,7 @@ bool ghostty_config_get(ghostty_config_t, void *, const char *, uintptr_t);
|
||||
ghostty_input_trigger_s ghostty_config_trigger(ghostty_config_t, const char *, uintptr_t);
|
||||
uint32_t ghostty_config_errors_count(ghostty_config_t);
|
||||
ghostty_error_s ghostty_config_get_error(ghostty_config_t, uint32_t);
|
||||
bool ghostty_config_render_decoration(ghostty_config_t);
|
||||
|
||||
ghostty_app_t ghostty_app_new(const ghostty_runtime_config_s *, ghostty_config_t);
|
||||
void ghostty_app_free(ghostty_app_t);
|
||||
|
@ -16,10 +16,19 @@ class FocusedSurfaceWrapper {
|
||||
class PrimaryWindow: NSWindow {
|
||||
var focusedSurfaceWrapper: FocusedSurfaceWrapper = FocusedSurfaceWrapper()
|
||||
|
||||
static func getStyleMask(render_decoration: Bool) -> NSWindow.StyleMask {
|
||||
var mask: NSWindow.StyleMask = [.resizable, .closable, .miniaturizable]
|
||||
if render_decoration {
|
||||
mask.insert(.titled)
|
||||
}
|
||||
return mask
|
||||
}
|
||||
|
||||
static func create(ghostty: Ghostty.AppState, appDelegate: AppDelegate, baseConfig: ghostty_surface_config_s? = nil) -> PrimaryWindow {
|
||||
let decorations = baseConfig?.render_decoration ?? ghostty_config_render_decoration(ghostty.config)
|
||||
let window = PrimaryWindow(
|
||||
contentRect: NSRect(x: 0, y: 0, width: 800, height: 600),
|
||||
styleMask: [.titled, .closable, .miniaturizable, .resizable],
|
||||
styleMask: getStyleMask(render_decoration: decorations),
|
||||
backing: .buffered,
|
||||
defer: false)
|
||||
window.center()
|
||||
|
@ -119,6 +119,10 @@ export fn ghostty_config_get_error(self: *Config, idx: u32) Error {
|
||||
return .{ .message = err.message.ptr };
|
||||
}
|
||||
|
||||
export fn ghostty_config_render_decoration(self: *Config) bool {
|
||||
return self.@"window-decoration";
|
||||
}
|
||||
|
||||
/// Sync with ghostty_error_s
|
||||
const Error = extern struct {
|
||||
message: [*:0]const u8 = "",
|
||||
|
Reference in New Issue
Block a user