add apprt action to notify apprt of surface readonly state
parent
0bf3642939
commit
dc7bc3014e
|
|
@ -573,6 +573,12 @@ typedef enum {
|
|||
GHOSTTY_QUIT_TIMER_STOP,
|
||||
} ghostty_action_quit_timer_e;
|
||||
|
||||
// apprt.action.Readonly
|
||||
typedef enum {
|
||||
GHOSTTY_READONLY_OFF,
|
||||
GHOSTTY_READONLY_ON,
|
||||
} ghostty_action_readonly_e;
|
||||
|
||||
// apprt.action.DesktopNotification.C
|
||||
typedef struct {
|
||||
const char* title;
|
||||
|
|
@ -837,6 +843,7 @@ typedef enum {
|
|||
GHOSTTY_ACTION_END_SEARCH,
|
||||
GHOSTTY_ACTION_SEARCH_TOTAL,
|
||||
GHOSTTY_ACTION_SEARCH_SELECTED,
|
||||
GHOSTTY_ACTION_READONLY,
|
||||
} ghostty_action_tag_e;
|
||||
|
||||
typedef union {
|
||||
|
|
@ -874,6 +881,7 @@ typedef union {
|
|||
ghostty_action_start_search_s start_search;
|
||||
ghostty_action_search_total_s search_total;
|
||||
ghostty_action_search_selected_s search_selected;
|
||||
ghostty_action_readonly_e readonly;
|
||||
} ghostty_action_u;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
|||
|
|
@ -5424,6 +5424,11 @@ pub fn performBindingAction(self: *Surface, action: input.Binding.Action) !bool
|
|||
|
||||
.toggle_readonly => {
|
||||
self.readonly = !self.readonly;
|
||||
_ = try self.rt_app.performAction(
|
||||
.{ .surface = self },
|
||||
.readonly,
|
||||
if (self.readonly) .on else .off,
|
||||
);
|
||||
return true;
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -314,6 +314,9 @@ pub const Action = union(Key) {
|
|||
/// The currently selected search match index (1-based).
|
||||
search_selected: SearchSelected,
|
||||
|
||||
/// The readonly state of the surface has changed.
|
||||
readonly: Readonly,
|
||||
|
||||
/// Sync with: ghostty_action_tag_e
|
||||
pub const Key = enum(c_int) {
|
||||
quit,
|
||||
|
|
@ -375,6 +378,7 @@ pub const Action = union(Key) {
|
|||
end_search,
|
||||
search_total,
|
||||
search_selected,
|
||||
readonly,
|
||||
};
|
||||
|
||||
/// Sync with: ghostty_action_u
|
||||
|
|
@ -532,6 +536,11 @@ pub const QuitTimer = enum(c_int) {
|
|||
stop,
|
||||
};
|
||||
|
||||
pub const Readonly = enum(c_int) {
|
||||
off,
|
||||
on,
|
||||
};
|
||||
|
||||
pub const MouseVisibility = enum(c_int) {
|
||||
visible,
|
||||
hidden,
|
||||
|
|
|
|||
|
|
@ -746,6 +746,7 @@ pub const Application = extern struct {
|
|||
.check_for_updates,
|
||||
.undo,
|
||||
.redo,
|
||||
.readonly,
|
||||
=> {
|
||||
log.warn("unimplemented action={}", .{action});
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue