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 tt to avoid conflict with new tr 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 }); }