diff --git a/CHANGELOG.md b/CHANGELOG.md
index 00c3ac16..b2e10722 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,10 +14,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/):
### Added
-- New `fs.access()` API to access the filesystem ([#3668])
-- Allow using `ps.sub()` in `init.lua` directly without a plugin ([#3638])
-- New `relay-notify-push` DDS event to allow custom notification handlers ([#3642])
- Custom tab name ([#3666])
+- Allow using `ps.sub()` in `init.lua` directly without a plugin ([#3638])
+- New `fs.access()` API to access the filesystem ([#3668])
+- New `relay-notify-push` DDS event to allow custom notification handlers ([#3642])
+- New `ind-app-title` DDS event to customize the app title ([#3684])
- New `fs.unique()` creates a unique file or directory ([#3677])
- New `cx.which` API to access the which component state ([#3617])
- New `ind-which-activate` DDS event to change the which component behavior ([#3608])
@@ -26,6 +27,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/):
- Upgrade Lua to 5.5 ([#3633])
- Change preset t for creating tabs to t ⇒ t to avoid conflict with new t ⇒ r for renaming tabs ([#3666])
+- Remove `title_format` in favor of new `ind-app-title` DDS event for flexible title customization ([#3684])
- Remove `micro_workers` and `macro_workers` in favor of finer control over concurrent workers ([#3661])
### Deprecated
@@ -1655,3 +1657,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/):
[#3668]: https://github.com/sxyazi/yazi/pull/3668
[#3677]: https://github.com/sxyazi/yazi/pull/3677
[#3678]: https://github.com/sxyazi/yazi/pull/3678
+[#3684]: https://github.com/sxyazi/yazi/pull/3684
diff --git a/yazi-actor/src/app/quit.rs b/yazi-actor/src/app/quit.rs
index 979b580a..98d61e19 100644
--- a/yazi-actor/src/app/quit.rs
+++ b/yazi-actor/src/app/quit.rs
@@ -15,8 +15,8 @@ impl Actor for Quit {
const NAME: &str = "quit";
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
- cx.core.tasks.shutdown();
- cx.core.mgr.shutdown();
+ cx.tasks.shutdown();
+ cx.mgr.shutdown();
futures::executor::block_on(async {
_ = futures::join!(
@@ -34,7 +34,7 @@ impl Actor for Quit {
impl Quit {
async fn cwd_to_file(cx: &Ctx<'_>, no: bool) {
if let Some(p) = ARGS.cwd_file.as_ref().filter(|_| !no) {
- let cwd = cx.core.mgr.cwd().to_strand();
+ let cwd = cx.mgr.cwd().to_strand();
Local::regular(p).write(cwd.encoded_bytes()).await.ok();
}
}
diff --git a/yazi-actor/src/app/resize.rs b/yazi-actor/src/app/resize.rs
index 793f10fb..e9de66e6 100644
--- a/yazi-actor/src/app/resize.rs
+++ b/yazi-actor/src/app/resize.rs
@@ -16,9 +16,9 @@ impl Actor for Resize {
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
act!(app:reflow, cx, opt)?;
- cx.core.current_mut().arrow(0);
- cx.core.parent_mut().map(|f| f.arrow(0));
- cx.core.current_mut().sync_page(true);
+ cx.current_mut().arrow(0);
+ cx.parent_mut().map(|f| f.arrow(0));
+ cx.current_mut().sync_page(true);
act!(mgr:peek, cx)
}
diff --git a/yazi-actor/src/app/resume.rs b/yazi-actor/src/app/resume.rs
index 261505f4..3a018c61 100644
--- a/yazi-actor/src/app/resume.rs
+++ b/yazi-actor/src/app/resume.rs
@@ -14,7 +14,7 @@ impl Actor for Resume {
const NAME: &str = "resume";
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
- cx.core.active_mut().preview.reset();
+ cx.active_mut().preview.reset();
*cx.term = Some(Term::start()?);
// While the app resumes, it's possible that the terminal size has changed.
@@ -23,6 +23,7 @@ impl Actor for Resume {
opt.tx.send((true, opt.token))?;
+ act!(app:title, cx).ok();
succ!(render!());
}
}
diff --git a/yazi-actor/src/app/stop.rs b/yazi-actor/src/app/stop.rs
index 30003482..c8e3c025 100644
--- a/yazi-actor/src/app/stop.rs
+++ b/yazi-actor/src/app/stop.rs
@@ -13,7 +13,7 @@ impl Actor for Stop {
const NAME: &str = "stop";
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
- cx.core.active_mut().preview.reset_image();
+ cx.active_mut().preview.reset_image();
// We need to destroy the `term` first before stopping the `signals`
// to prevent any signal from triggering the term to render again
diff --git a/yazi-actor/src/app/update_progress.rs b/yazi-actor/src/app/update_progress.rs
index 3af78984..3d1b1741 100644
--- a/yazi-actor/src/app/update_progress.rs
+++ b/yazi-actor/src/app/update_progress.rs
@@ -15,7 +15,7 @@ impl Actor for UpdateProgress {
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
// Update the progress of all tasks.
- let tasks = &mut cx.core.tasks;
+ let tasks = &mut cx.tasks;
let progressed = tasks.summary != opt.summary;
tasks.summary = opt.summary;
diff --git a/yazi-actor/src/cmp/close.rs b/yazi-actor/src/cmp/close.rs
index 623eb55e..c8b16368 100644
--- a/yazi-actor/src/cmp/close.rs
+++ b/yazi-actor/src/cmp/close.rs
@@ -16,7 +16,7 @@ impl Actor for Close {
const NAME: &str = "close";
fn act(cx: &mut Ctx, opt: Self::Options) -> Result {
- let cmp = &mut cx.core.cmp;
+ let cmp = &mut cx.cmp;
if let Some(item) = cmp.selected().filter(|_| opt.submit).cloned() {
return act!(input:complete, cx, CompleteOpt { name: item.name, is_dir: item.is_dir, ticket: cmp.ticket });
}