aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-03-09 13:31:08 +0100
committerGitHub <noreply@github.com>2026-03-09 13:31:08 +0100
commite7985f0d77c4ee847d014b808eeede55d20f6d79 (patch)
treee41151bedba3bc525c117db3d82e264ac63464f9 /zellij-utils/src/plugin_api
parentAdd cli paste action (#4817) (diff)
downloadsl0ppij-e7985f0d77c4ee847d014b808eeede55d20f6d79.tar.gz
sl0ppij-e7985f0d77c4ee847d014b808eeede55d20f6d79.tar.xz
sl0ppij-e7985f0d77c4ee847d014b808eeede55d20f6d79.zip
Single screen session manager (#4821)
* initial implementation * adjust ui * preserve selection * width responsiveness * behavior fixes * fix: do not count suppressed panes * ui improvements * multi-screen config and prompt hint * tests + refactoring * improve performance * add pr
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r--zellij-utils/src/plugin_api/event.proto1
-rw-r--r--zellij-utils/src/plugin_api/event.rs4
2 files changed, 5 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/event.proto b/zellij-utils/src/plugin_api/event.proto
index ce018a7f..349a800a 100644
--- a/zellij-utils/src/plugin_api/event.proto
+++ b/zellij-utils/src/plugin_api/event.proto
@@ -308,6 +308,7 @@ message SessionManifest {
uint32 web_client_count = 9;
repeated ClientTabHistory tab_history = 10;
repeated ClientPaneHistory pane_history = 11;
+ uint64 creation_time = 12;
}
message ClientTabHistory {
diff --git a/zellij-utils/src/plugin_api/event.rs b/zellij-utils/src/plugin_api/event.rs
index 267e1357..883fcb4f 100644
--- a/zellij-utils/src/plugin_api/event.rs
+++ b/zellij-utils/src/plugin_api/event.rs
@@ -1080,6 +1080,7 @@ impl TryFrom<SessionInfo> for ProtobufSessionManifest {
.into_iter()
.map(|p| ProtobufClientPaneHistory::from(p))
.collect(),
+ creation_time: session_info.creation_time.as_secs(),
})
}
}
@@ -1190,6 +1191,7 @@ impl TryFrom<ProtobufSessionManifest> for SessionInfo {
web_client_count: protobuf_session_manifest.web_client_count as usize,
tab_history,
pane_history,
+ creation_time: Duration::from_secs(protobuf_session_manifest.creation_time),
})
}
}
@@ -2631,6 +2633,7 @@ fn serialize_session_update_event_with_non_default_values() {
web_client_count: 1,
tab_history,
pane_history: Default::default(),
+ creation_time: Duration::from_secs(100),
};
let session_info_2 = SessionInfo {
name: "session 2".to_owned(),
@@ -2664,6 +2667,7 @@ fn serialize_session_update_event_with_non_default_values() {
web_client_count: 0,
tab_history: Default::default(),
pane_history: Default::default(),
+ creation_time: Duration::from_secs(200),
};
let session_infos = vec![session_info_1, session_info_2];
let resurrectable_sessions = vec![];