mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-16 08:46:08 +03:00
Merge pull request #2310 from ghostty-org/macos-bug
Action system fixups
This commit is contained in:
@ -379,9 +379,9 @@ typedef struct {
|
||||
|
||||
// apprt.action.GotoTab
|
||||
typedef enum {
|
||||
GHOSTTY_GOTO_TAB_PREVIOUS,
|
||||
GHOSTTY_GOTO_TAB_NEXT,
|
||||
GHOSTTY_GOTO_TAB_LAST,
|
||||
GHOSTTY_GOTO_TAB_PREVIOUS = -1,
|
||||
GHOSTTY_GOTO_TAB_NEXT = -2,
|
||||
GHOSTTY_GOTO_TAB_LAST = -3,
|
||||
} ghostty_action_goto_tab_e;
|
||||
|
||||
// apprt.action.Fullscreen
|
||||
|
@ -734,7 +734,7 @@ class TerminalController: NSWindowController, NSWindowDelegate,
|
||||
// Get the tab index from the notification
|
||||
guard let tabEnumAny = notification.userInfo?[Ghostty.Notification.GotoTabKey] else { return }
|
||||
guard let tabEnum = tabEnumAny as? ghostty_action_goto_tab_e else { return }
|
||||
let tabIndex: Int32 = .init(bitPattern: tabEnum.rawValue)
|
||||
let tabIndex: Int32 = tabEnum.rawValue
|
||||
|
||||
guard let windowController = window.windowController else { return }
|
||||
guard let tabGroup = windowController.window?.tabGroup else { return }
|
||||
|
@ -139,7 +139,7 @@ pub fn addSurface(self: *App, rt_surface: *apprt.Surface) !void {
|
||||
// It is up to the apprt if there is a quit timer at all and if it
|
||||
// should be canceled.
|
||||
rt_surface.app.performAction(
|
||||
.{ .surface = &rt_surface.core_surface },
|
||||
.app,
|
||||
.quit_timer,
|
||||
.stop,
|
||||
) catch |err| {
|
||||
@ -173,7 +173,7 @@ pub fn deleteSurface(self: *App, rt_surface: *apprt.Surface) void {
|
||||
// If we have no surfaces, we can start the quit timer. It is up to the
|
||||
// apprt to determine if this is necessary.
|
||||
if (self.surfaces.items.len == 0) rt_surface.app.performAction(
|
||||
.{ .surface = &rt_surface.core_surface },
|
||||
.app,
|
||||
.quit_timer,
|
||||
.start,
|
||||
) catch |err| {
|
||||
|
@ -1257,14 +1257,10 @@ pub fn setFontSize(self: *Surface, size: font.face.DesiredSize) !void {
|
||||
errdefer self.app.font_grid_set.deref(font_grid_key);
|
||||
|
||||
// Set our cell size
|
||||
try self.rt_app.performAction(
|
||||
.{ .surface = self },
|
||||
.cell_size,
|
||||
.{
|
||||
.width = font_grid.metrics.cell_width,
|
||||
.height = font_grid.metrics.cell_height,
|
||||
},
|
||||
);
|
||||
try self.setCellSize(.{
|
||||
.width = font_grid.metrics.cell_width,
|
||||
.height = font_grid.metrics.cell_height,
|
||||
});
|
||||
|
||||
// Notify our render thread of the new font stack. The renderer
|
||||
// MUST accept the new font grid and deref the old.
|
||||
|
@ -441,6 +441,11 @@ pub const App = struct {
|
||||
else => {},
|
||||
}
|
||||
|
||||
log.debug("dispatching action target={s} action={} value={}", .{
|
||||
@tagName(target),
|
||||
action,
|
||||
value,
|
||||
});
|
||||
self.opts.action(
|
||||
self,
|
||||
target.cval(),
|
||||
|
Reference in New Issue
Block a user