apprt: support a pwd change action

This commit is contained in:
Mitchell Hashimoto
2024-11-13 12:28:26 -08:00
parent 523e3a6ae3
commit 3ca246ceb9
7 changed files with 53 additions and 0 deletions

View File

@@ -151,6 +151,9 @@ pub const Action = union(Key) {
/// Set the title of the target.
set_title: SetTitle,
/// The current working directory has changed for the target terminal.
pwd: Pwd,
/// Set the mouse cursor shape.
mouse_shape: terminal.MouseShape,
@@ -215,6 +218,7 @@ pub const Action = union(Key) {
render_inspector,
desktop_notification,
set_title,
pwd,
mouse_shape,
mouse_visibility,
mouse_over_link,
@@ -417,6 +421,21 @@ pub const SetTitle = struct {
}
};
pub const Pwd = struct {
pwd: [:0]const u8,
// Sync with: ghostty_action_set_pwd_s
pub const C = extern struct {
pwd: [*:0]const u8,
};
pub fn cval(self: Pwd) C {
return .{
.pwd = self.pwd.ptr,
};
}
};
/// The desktop notification to show.
pub const DesktopNotification = struct {
title: [:0]const u8,

View File

@@ -224,6 +224,7 @@ pub const App = struct {
.cell_size,
.renderer_health,
.color_change,
.pwd,
=> log.info("unimplemented action={}", .{action}),
}
}

View File

@@ -486,6 +486,7 @@ pub fn performAction(
.render_inspector,
.renderer_health,
.color_change,
.pwd,
=> log.warn("unimplemented action={}", .{action}),
}
}

View File

@@ -76,6 +76,9 @@ pub const Message = union(enum) {
color: terminal.color.RGB,
},
/// The terminal has reported a change in the working directory.
pwd_change: WriteReq,
pub const ReportTitleStyle = enum {
csi_21_t,