-
Notifications
You must be signed in to change notification settings - Fork 389
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable live update of flavor through Lua plugin API #988
Comments
I like the idea, but I think it should be a built-in feature provided to users rather than a plugin API. When Yazi starts up, it should send a CSI sequence request to the terminal for its colors, and based on the response color values, calculate whether the user's terminal is light or dark, and apply the corresponding flavor. Maybe we could have: [flavor]
light = "atom-one-light"
dark = "atom-one-dark" |
Well if you are willing to add to the current flavor config spec then I like that idea more.
My end goal would is swap the colors automatically while Yazi is running. If I swap the terminal colors, could Yazi listen for that event and automatically update its colors to the corresponding light or dark theme? |
The I don't think |
I understand, that's unfortunate. Is this just the listening for a color change event? Or does If it's just the event: then what I'm imagining is that we could create our own event listener that executes a simple shell command every second to check the system theme (there are various ways to do this in each OS) -- if it changes from the last call then update the colors of Yazi. So our own make-shift event listener, then call |
I don't think it makes sense for the following reasons:
|
Yes I have noticed that all TUI's I use don't have a feature to swap themes based on the OS theme. Although some can be extended through plugins which was my original motivation, to enable the ability for such functionality to be implemented as a plugin so that Yazi can keep its hands clean of this messy stuff. I currently have Wezterm, Neovim, and Tmux responding to system theme changes, this is done through plugins or scripting 'hacks'. So lets ditch the idea that Yazi should natively support syncing a light/dark theme with the OS. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry) | patch | `v4.208.0` -> `v4.208.1` | | [casey/just](https://togithub.com/casey/just) | minor | `1.32.0` -> `1.33.0` | | [cli/cli](https://togithub.com/cli/cli) | minor | `v2.53.0` -> `v2.54.0` | | [fujiwara/awslim](https://togithub.com/fujiwara/awslim) | patch | `v0.3.1` -> `v0.3.2` | | [hashicorp/packer](https://togithub.com/hashicorp/packer) | patch | `v1.11.1` -> `v1.11.2` | | [homeport/dyff](https://togithub.com/homeport/dyff) | minor | `v1.8.1` -> `v1.9.0` | | [junegunn/fzf](https://togithub.com/junegunn/fzf) | patch | `v0.54.2` -> `v0.54.3` | | [nektos/act](https://togithub.com/nektos/act) | patch | `v0.2.64` -> `v0.2.65` | | [simulot/immich-go](https://togithub.com/simulot/immich-go) | minor | `0.20.1` -> `0.21.1` | | [snyk/cli](https://togithub.com/snyk/cli) | patch | `v1.1292.1` -> `v1.1292.2` | | [sxyazi/yazi](https://togithub.com/sxyazi/yazi) | minor | `v0.2.5` -> `v0.3.0` | | [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor | `v0.187.0` -> `v0.188.0` | | [withgraphite/homebrew-tap](https://togithub.com/withgraphite/homebrew-tap) | patch | `v1.4.1` -> `v1.4.2` | --- ### Release Notes <details> <summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary> ### [`v4.208.1`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.208.1) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.208.0...v4.208.1) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.208.1) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.208.1) | aquaproj/aqua-registry@v4.208.0...v4.208.1 #### Fixes [#​25346](https://togithub.com/aquaproj/aqua-registry/issues/25346) junegunn/fzf: Follow up changes of fzf v0.54.2 for macOS https://github.com/junegunn/fzf/releases/tag/v0.54.2 > Updated GoReleaser to 2.1.0 to simplify notarization of macOS binaries > macOS archives will be in tar.gz format instead of zip format since we no longer notarize the zip files but binaries </details> <details> <summary>casey/just (casey/just)</summary> ### [`v1.33.0`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1330---2024-07-30) [Compare Source](https://togithub.com/casey/just/compare/1.32.0...1.33.0) ##### Fixed - Use correct backtick and `shell()` expression working directory in submodules ([#​2285](https://togithub.com/casey/just/pull/2285) by [casey](https://togithub.com/casey)) ##### Added - Add `working-directory` setting ([#​2283](https://togithub.com/casey/just/pull/2283) by [nyurik](https://togithub.com/nyurik)) - Allow `[group]` attribute on submodules ([#​2263](https://togithub.com/casey/just/pull/2263) by [jmwoliver](https://togithub.com/jmwoliver)) - Allow empty `[script]` attribute and add `set script-interpreter` ([#​2264](https://togithub.com/casey/just/pull/2264) by [casey](https://togithub.com/casey)) ##### Misc - Document which attributes apply to which items ([#​2282](https://togithub.com/casey/just/pull/2282) by [casey](https://togithub.com/casey)) - Add missing productions ([#​2280](https://togithub.com/casey/just/pull/2280) by [poliorcetics](https://togithub.com/poliorcetics)) - Fix Rust 1.80.0 warnings ([#​2281](https://togithub.com/casey/just/pull/2281) by [casey](https://togithub.com/casey)) - Update softprops/action-gh-release ([#​2269](https://togithub.com/casey/just/pull/2269) by [app/dependabot](https://togithub.com/app/dependabot)) - Remove `(no group)` header before ungrouped recipes ([#​2268](https://togithub.com/casey/just/pull/2268) by [casey](https://togithub.com/casey)) - Document `script-interpreter` setting ([#​2265](https://togithub.com/casey/just/pull/2265) by [casey](https://togithub.com/casey)) - `set dotenv-path` does not override `set dotenv-filename` ([#​2262](https://togithub.com/casey/just/pull/2262) by [casey](https://togithub.com/casey)) </details> <details> <summary>cli/cli (cli/cli)</summary> ### [`v2.54.0`](https://togithub.com/cli/cli/compare/v2.53.0...v2.54.0) [Compare Source](https://togithub.com/cli/cli/compare/v2.53.0...v2.54.0) </details> <details> <summary>fujiwara/awslim (fujiwara/awslim)</summary> ### [`v0.3.2`](https://togithub.com/fujiwara/awslim/blob/HEAD/CHANGELOG.md#v032---2024-08-02) [Compare Source](https://togithub.com/fujiwara/awslim/compare/v0.3.1...v0.3.2) - Update all-services.yaml by [@​github-actions](https://togithub.com/github-actions) in [https://github.com/fujiwara/awslim/pull/40](https://togithub.com/fujiwara/awslim/pull/40) - Update all-services.yaml by [@​github-actions](https://togithub.com/github-actions) in [https://github.com/fujiwara/awslim/pull/43](https://togithub.com/fujiwara/awslim/pull/43) - Bump the aws-sdk-go-v2 group with 2 updates by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fujiwara/awslim/pull/41](https://togithub.com/fujiwara/awslim/pull/41) - Bump github.com/goccy/go-yaml from 1.11.3 to 1.12.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/fujiwara/awslim/pull/42](https://togithub.com/fujiwara/awslim/pull/42) </details> <details> <summary>hashicorp/packer (hashicorp/packer)</summary> ### [`v1.11.2`](https://togithub.com/hashicorp/packer/releases/tag/v1.11.2) [Compare Source](https://togithub.com/hashicorp/packer/compare/v1.11.1...v1.11.2) #### 1.11.2 (July 30, 2024) ##### FEATURES - core/hcp: export Packer options, OS, CI and VCS metadata for a build. Following up on the introduction of metadata for builds in Packer 1.11.0, this version introduces more metadata. In addition to the version of Packer core, and the plugins used, we now capture CI-specific environment variables (gitlab-ci and github-actions for now), Git-specific information, OS details like architecture and kernel version, and the command-line options passed to packer build. </details> <details> <summary>homeport/dyff (homeport/dyff)</summary> ### [`v1.9.0`](https://togithub.com/homeport/dyff/releases/tag/v1.9.0): dyff release v1.9.0 [Compare Source](https://togithub.com/homeport/dyff/compare/v1.8.1...v1.9.0) #### What's Changed - Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.19.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/homeport/dyff/pull/380](https://togithub.com/homeport/dyff/pull/380) - Bump github.com/BurntSushi/toml from 1.3.2 to 1.4.0 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/homeport/dyff/pull/381](https://togithub.com/homeport/dyff/pull/381) - Bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/homeport/dyff/pull/382](https://togithub.com/homeport/dyff/pull/382) - Bump github.com/onsi/gomega from 1.34.0 to 1.34.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/homeport/dyff/pull/383](https://togithub.com/homeport/dyff/pull/383) - Introduce `--ignore-whitespace-changes` flag by [@​HeavyWombat](https://togithub.com/HeavyWombat) in [https://github.com/homeport/dyff/pull/385](https://togithub.com/homeport/dyff/pull/385) - Update download-latest.sh to support multiple download URLs by [@​hansfn](https://togithub.com/hansfn) in [https://github.com/homeport/dyff/pull/373](https://togithub.com/homeport/dyff/pull/373) #### New Contributors - [@​hansfn](https://togithub.com/hansfn) made their first contribution in [https://github.com/homeport/dyff/pull/373](https://togithub.com/homeport/dyff/pull/373) **Full Changelog**: homeport/dyff@v1.8.1...v1.9.0 </details> <details> <summary>junegunn/fzf (junegunn/fzf)</summary> ### [`v0.54.3`](https://togithub.com/junegunn/fzf/releases/tag/v0.54.3): 0.54.3 [Compare Source](https://togithub.com/junegunn/fzf/compare/v0.54.2...v0.54.3) - Fixed incompatibility of adaptive height specification and 'start:reload' ```sh ``` ### A regression in 0.54.0 would cause this to fail fzf --height '~100%' --bind 'start:reload:seq 10' - Environment variables are now available to `$FZF_DEFAULT_COMMAND` ```sh FZF_DEFAULT_COMMAND='echo $FZF_QUERY' fzf --query foo </details> <details> <summary>nektos/act (nektos/act)</summary> ### [`v0.2.65`](https://togithub.com/nektos/act/releases/tag/v0.2.65) [Compare Source](https://togithub.com/nektos/act/compare/v0.2.64...v0.2.65) #### Changelog ##### Bug fixes - [`3c7eda7`](https://togithub.com/nektos/act/commit/3c7eda7) fix: docker stub and add a test for this ([#​2355](https://togithub.com/nektos/act/issues/2355)) - [`a1a96da`](https://togithub.com/nektos/act/commit/a1a96da) fix: changed location of actrc in info message ([#​2373](https://togithub.com/nektos/act/issues/2373)) - [`6de25a5`](https://togithub.com/nektos/act/commit/6de25a5) fix: make node tool non volatile ([#​2372](https://togithub.com/nektos/act/issues/2372)) - [`2ad5ff7`](https://togithub.com/nektos/act/commit/2ad5ff7) fix: add missing service container health check ([#​2354](https://togithub.com/nektos/act/issues/2354)) ##### Other - [`bda491e`](https://togithub.com/nektos/act/commit/bda491e) chore: bump VERSION to 0.2.65 - [`cd8b710`](https://togithub.com/nektos/act/commit/cd8b710) remove double negation in --help ([#​2405](https://togithub.com/nektos/act/issues/2405)) - [`a62063b`](https://togithub.com/nektos/act/commit/a62063b) Bump mergo to v1.0.0 with new module URL ([#​2403](https://togithub.com/nektos/act/issues/2403)) - [`2feff3f`](https://togithub.com/nektos/act/commit/2feff3f) build(deps): bump github.com/timshannon/bolthold to v0.0.0-20240314194003-30aac6950928 ([#​2248](https://togithub.com/nektos/act/issues/2248)) - [`570ccf3`](https://togithub.com/nektos/act/commit/570ccf3) Fix [#​2363](https://togithub.com/nektos/act/issues/2363). Add /pre- and /post-entrypoint handling ([#​2394](https://togithub.com/nektos/act/issues/2394)) - [`1d6a00c`](https://togithub.com/nektos/act/commit/1d6a00c) build(deps): bump golang.org/x/term from 0.21.0 to 0.22.0 ([#​2387](https://togithub.com/nektos/act/issues/2387)) - [`21fe901`](https://togithub.com/nektos/act/commit/21fe901) build(deps): bump github.com/adrg/xdg from 0.4.0 to 0.5.0 ([#​2398](https://togithub.com/nektos/act/issues/2398)) - [`1ac4b60`](https://togithub.com/nektos/act/commit/1ac4b60) build(deps): bump megalinter/megalinter from 7.11.1 to 7.13.0 ([#​2389](https://togithub.com/nektos/act/issues/2389)) </details> <details> <summary>simulot/immich-go (simulot/immich-go)</summary> ### [`v0.21.1`](https://togithub.com/simulot/immich-go/releases/tag/0.21.1) [Compare Source](https://togithub.com/simulot/immich-go/compare/0.21.0...0.21.1) #### Changelog - [`ca96b75`](https://togithub.com/simulot/immich-go/commit/ca96b7543cf52e3f6262d029557fe79dc2951ac0) Improve get debug data ([#​413](https://togithub.com/simulot/immich-go/issues/413)) - [`c637717`](https://togithub.com/simulot/immich-go/commit/c6377178797bd12f63305877f5903417f9791417) edit readme ([#​420](https://togithub.com/simulot/immich-go/issues/420)) - [`ff81fd0`](https://togithub.com/simulot/immich-go/commit/ff81fd0a80fde6984562d330ce3bcd8ec380102b) fix Takout zip is unsupported file type [#​357](https://togithub.com/simulot/immich-go/issues/357) ([#​415](https://togithub.com/simulot/immich-go/issues/415)) - [`1d3016e`](https://togithub.com/simulot/immich-go/commit/1d3016eccb3790c0fcd4ea7eb89c4e9ff6a0a892) fix motion photo files with MP~2 extension marked unsupported and skipped [#​405](https://togithub.com/simulot/immich-go/issues/405) ([#​419](https://togithub.com/simulot/immich-go/issues/419)) ### [`v0.21.0`](https://togithub.com/simulot/immich-go/releases/tag/0.21.0) [Compare Source](https://togithub.com/simulot/immich-go/compare/0.20.1...0.21.0) ##### Refactoring the Google Photos import another time Lot of users have reported inconsistencies in upload counters. Each user case a different, and the takeout structure varies a bit. In order to debug those cases, I have developed a way to simulate the takeout import using only the the file list. Read [how to send debug data](/docs/how-to-send-debug-data.md) without sharing photos. ##### Option to force the upload of images despite the lack of JSON Each image in a takeout is supposed to come with A JSON file giving the date of capture and the GPS coordinate. There a few reason for this: 1. The original file is copied, modified... and sometime there ins't a JSON for all versions 2. JSON aren't in the same ZIP file than the image, and only one part of the takeout is processed 3. The takeout misses a bunch of JSON When asking another takeout isn't an option, it's possible to force the upload of photos with no JSON. Use the option `-upload-when-missing-JSON` ##### The stack function is disabled The stack function need to be improved [#​399](https://togithub.com/simulot/immich-go/issues/399), [#​345](https://togithub.com/simulot/immich-go/issues/345), [#​235](https://togithub.com/simulot/immich-go/issues/235) Meanwhile, it is disabled by default. You can enable it using the option `-create-stacks=TRUE`. ##### fixes: - [#​376](https://togithub.com/simulot/immich-go/issues/376) errors when uploading are disturbing the the % of the progression - files with same path and name, but in different part of the takeout file set was forgotten in duplicate counters - iPhone's Live photos recognition when the name is duplicated: ex IMG\_2710(1).MP4 and IMG\_2710(1).HEIC - Missing a file when a directory contain several files with the same name, but of a different type. Ex: IMG\_0170.HEIC, IMG\_0170.JPG - Live videos attached to duplicated photos are now counted as duplicate as well, making the final report more relevant - [#​402](https://togithub.com/simulot/immich-go/issues/402) Wrong album assignment for images with the same name - [#​390](https://togithub.com/simulot/immich-go/issues/390) Question: report shows way less images uploaded than scanned - [#​376](https://togithub.com/simulot/immich-go/issues/376) errors when uploading are disturbing the the % of the progression - [#​401](https://togithub.com/simulot/immich-go/issues/401) Add an option to import images/movies even if there is no JSON file in the takeout </details> <details> <summary>snyk/cli (snyk/cli)</summary> ### [`v1.1292.2`](https://togithub.com/snyk/cli/releases/tag/v1.1292.2) [Compare Source](https://togithub.com/snyk/cli/compare/v1.1292.1...v1.1292.2) The Snyk CLI is being deployed to different deployment channels, users can select the stability level according to their needs. For details please see [this documentation](https://docs.snyk.io/snyk-cli/releases-and-channels-for-the-snyk-cli) #### Complete changelog ##### Bug Fixes - **container test:** Improve the accuracy of identifying npm projects within docker images by removing the explicit folder ignore rules ([#​5384](https://togithub.com/snyk/snyk/issues/5384)) - **container test:** Pass platform parameter when pulling an image from a container registry ([#​5360](https://togithub.com/snyk/snyk/issues/5360)) </details> <details> <summary>sxyazi/yazi (sxyazi/yazi)</summary> ### [`v0.3.0`](https://togithub.com/sxyazi/yazi/releases/tag/v0.3.0) [Compare Source](https://togithub.com/sxyazi/yazi/compare/v0.2.5...v0.3.0) After three months of development, I'm excited to announce the release of Yazi 0.3 today! This version brings a host of new features and bug fixes. Thank you to every contributor for making Yazi better and better! **This is a breaking change release, so please make sure to read:** - [Migrating to Yazi v0.3.0](https://togithub.com/sxyazi/yazi/issues/1046) - [Packaging](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2255993749) - [Lua API breaking changes in Yazi v0.3](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2140320472) #### Mouse support The plugin system now includes five new APIs for each component - `click`, `scroll`, `touch`, `move`, and `drag` to handle mouse events. These APIs come with default implementations to cover common operations. This also allows plugin developers to extend mouse behavior and create any functionality they desire. https://github.com/user-attachments/assets/7c129c11-6246-4a6e-a261-3e7a9a141387 See [https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038) for more info, thanks to [@​qsdrqs](https://togithub.com/qsdrqs) for his work on this! #### New builtin `extract` plugin [https://github.com/sxyazi/yazi/pull/1321](https://togithub.com/sxyazi/yazi/pull/1321) adds a builtin `extract` plugin for decompressing archives, with these features: 1. Interactive password input. 2. Smart output directory selection with auto renaming. 3. Supports decompressing multiple files at once. 4. Fully async, decompression tasks can queue up and run in the background. https://github.com/user-attachments/assets/71093fa8-1798-406b-8578-a85525cb60d2 #### Enhanced file preview Yazi 0.3 now supports the following new format to preview: - Fonts - SVGs - HEIC files - JPEG XL files This feature requires the [optional dependency ImageMagick](https://togithub.com/sxyazi/yazi/issues/1046#issuecomment-2255993749) to enable it. https://github.com/user-attachments/assets/94ee6f17-88d2-4e41-98e2-1a42b34b49aa #### Package manager Yazi 0.3 introduces the new `ya pack` subcommand for package management, making plugin and theme updates more convenient. This is especially important as the plugin system is not yet stable, so providing users with the ability to easily keep everything up to date is necessary. Add a new one to `package.toml`, then install it: ```sh ya pack -a Reledia/glow ### If it's a sub-directory under the repository ya pack -a yazi-rs/flavors#catppuccin-mocha ``` Install all packages configured in `package.toml`: ```sh ya pack -i ``` Upgrade all packages in `package.toml` to the latest commit: ```sh ya pack -u ``` See [https://github.com/sxyazi/yazi/pull/985](https://togithub.com/sxyazi/yazi/pull/985) for details. #### Redesigned Icons [https://github.com/sxyazi/yazi/pull/1086](https://togithub.com/sxyazi/yazi/pull/1086) redesigns the icons, bringing the following improvements: - **Improved Matching Performance:** The new `dirs`, `files`, and `exts` compile the icon rules into a HashMap at startup. This allows most icon matches to be completed with O(1) complexity, significantly enhancing performance. - **Built-in `nvim-web-devicons`:** This includes a richer and ready-to-use set of icons out of the box. - **Enhanced Icon Styling:** Each icon now supports specifying both dark and light colors (currently only `fg_dark` is used). In the future, the terminal color will automatically choose the appropriate color. This was added as part of [https://github.com/sxyazi/yazi/issues/988](https://togithub.com/sxyazi/yazi/issues/988). - **Enhanced `is` Function:** The original `is` functionality has been reimplemented as `conds` to allow more complex conditional expressions, such as `cond = "!dir & exec"`. #### Significant archive preview performance improvements [https://github.com/sxyazi/yazi/pull/1220](https://togithub.com/sxyazi/yazi/pull/1220) reimplements archive previewing to be streamed. This means only a small amount of necessary data needs to be read to display the preview immediately, rather than waiting for all the data to be returned and parsed as before. Additionally, by replacing `lsar` with `7zip`, the preview speed has been further improved. The new implementation also introduces two new features: icon display and file size display. #### Other improvements These are a few of my favorite features. For a complete list of improvements in Yazi 0.3, check out the full changelog below. #### What's Changed - feat: support `yazi-cli` for Nix flake by [@​XYenon](https://togithub.com/XYenon) in [https://github.com/sxyazi/yazi/pull/944](https://togithub.com/sxyazi/yazi/pull/944) - feat: allow building with the system Lua by [@​Kladki](https://togithub.com/Kladki) in [https://github.com/sxyazi/yazi/pull/943](https://togithub.com/sxyazi/yazi/pull/943) - feat: support expanding Windows paths like "D:" that only have a drive letter but no root by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/948](https://togithub.com/sxyazi/yazi/pull/948) - fix: always create XDG cache directory even if user has set a custom one by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/956](https://togithub.com/sxyazi/yazi/pull/956) - feat: support previewing files containing non-UTF-8 characters by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/958](https://togithub.com/sxyazi/yazi/pull/958) - fix: correct the glob pattern for the icons to fit the new matching algorithm by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/959](https://togithub.com/sxyazi/yazi/pull/959) - feat: add `*.opus` file icon by [@​Brixy](https://togithub.com/Brixy) in [https://github.com/sxyazi/yazi/pull/967](https://togithub.com/sxyazi/yazi/pull/967) - fix: improve accessibility by avoiding hex color code for white by [@​Brixy](https://togithub.com/Brixy) in [https://github.com/sxyazi/yazi/pull/968](https://togithub.com/sxyazi/yazi/pull/968) - fix: avoiding duplicate candidates in the `which` component by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/975](https://togithub.com/sxyazi/yazi/pull/975) - feat: detect terminal type in tmux with CSI sequence in passthrough mode by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/977](https://togithub.com/sxyazi/yazi/pull/977) - feat: add more rules to `[filetype]` and `[icon]` by [@​Brixy](https://togithub.com/Brixy) in [https://github.com/sxyazi/yazi/pull/966](https://togithub.com/sxyazi/yazi/pull/966) - feat: re-enable the file `created` attribute by [@​rafi](https://togithub.com/rafi) in [https://github.com/sxyazi/yazi/pull/987](https://togithub.com/sxyazi/yazi/pull/987) - feat: add `--force-window` option to mpv by [@​GOWxx](https://togithub.com/GOWxx) in [https://github.com/sxyazi/yazi/pull/998](https://togithub.com/sxyazi/yazi/pull/998) - feat: close confirmation prompts and exit automatically when the ongoing task gone by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/997](https://togithub.com/sxyazi/yazi/pull/997) - fix: notification title width does not include the width of the icon by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1000](https://togithub.com/sxyazi/yazi/pull/1000) - feat: support `cargo binstall yazi-fm` and `cargo binstall yazi-cli` by [@​slowsage](https://togithub.com/slowsage) in [https://github.com/sxyazi/yazi/pull/1003](https://togithub.com/sxyazi/yazi/pull/1003) - feat: yazi --debug shows `ya` version in its output by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1005](https://togithub.com/sxyazi/yazi/pull/1005) - feat: add git commit hash to `ya --version` by [@​fzdwx](https://togithub.com/fzdwx) in [https://github.com/sxyazi/yazi/pull/1006](https://togithub.com/sxyazi/yazi/pull/1006) - feat: package manager by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/985](https://togithub.com/sxyazi/yazi/pull/985) - feat: `ya pack` displays help if no arguments are given by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1012](https://togithub.com/sxyazi/yazi/pull/1012) - feat: new `--args` parameter for `fd` an `rg` search by [@​LatentDream](https://togithub.com/LatentDream) in [https://github.com/sxyazi/yazi/pull/1013](https://togithub.com/sxyazi/yazi/pull/1013) - fix: correct wasm target condition by [@​itsjunetime](https://togithub.com/itsjunetime) in [https://github.com/sxyazi/yazi/pull/1018](https://togithub.com/sxyazi/yazi/pull/1018) - fix: broaden file watcher event types to accommodate permission changes on certain platforms by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1024](https://togithub.com/sxyazi/yazi/pull/1024) - feat: add new `debounce` option to `ya.input()` API by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1025](https://togithub.com/sxyazi/yazi/pull/1025) - fix: recognize `TERM=rxvt-unicode-256color` by [@​dtolnay](https://togithub.com/dtolnay) in [https://github.com/sxyazi/yazi/pull/1027](https://togithub.com/sxyazi/yazi/pull/1027) - feat: support `stdin` and pipe for `Child` API by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1033](https://togithub.com/sxyazi/yazi/pull/1033) - ci: consistently enforce Lua coding style by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1029](https://togithub.com/sxyazi/yazi/pull/1029) - ci: fix cargo unit tests execution by [@​clispios](https://togithub.com/clispios) in [https://github.com/sxyazi/yazi/pull/1041](https://togithub.com/sxyazi/yazi/pull/1041) - refactor: eliminate `exec` by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1045](https://togithub.com/sxyazi/yazi/pull/1045) - feat: use `Ctrl-c` instead of `Ctrl-q` as the universal close key for all components by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1047](https://togithub.com/sxyazi/yazi/pull/1047) - fix: remove `ignore` options from `rg` and `fd` search by [@​chriszarate](https://togithub.com/chriszarate) in [https://github.com/sxyazi/yazi/pull/1043](https://togithub.com/sxyazi/yazi/pull/1043) - feat: font preview by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1048](https://togithub.com/sxyazi/yazi/pull/1048) - docs: add `CONTRIBUTING.md` by [@​johan-naizu](https://togithub.com/johan-naizu) in [https://github.com/sxyazi/yazi/pull/1052](https://togithub.com/sxyazi/yazi/pull/1052) - feat: prefetcher by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1061](https://togithub.com/sxyazi/yazi/pull/1061) - fix: ePUB file mime-type matching for the opener rule by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1063](https://togithub.com/sxyazi/yazi/pull/1063) - fix: cursor gets out of sync occasionally at image previewing through IIP under tmux by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1070](https://togithub.com/sxyazi/yazi/pull/1070) - feat: support Super/Command/Windows key notation `D-` by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1069](https://togithub.com/sxyazi/yazi/pull/1069) - fix: remove the default keybinding for going to the temporary directory by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1073](https://togithub.com/sxyazi/yazi/pull/1073) - feat!: redesign icons by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1086](https://togithub.com/sxyazi/yazi/pull/1086) - fix: Sixel support from certain `st` forks cannot be detected by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1094](https://togithub.com/sxyazi/yazi/pull/1094) - feat: support case insensitive special keys in keymappings by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1082](https://togithub.com/sxyazi/yazi/pull/1082) - refactor!: v0.3 API changes by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1108](https://togithub.com/sxyazi/yazi/pull/1108) - feat: add `pack --list` subcommand to Ya CLI by [@​lpnh](https://togithub.com/lpnh) in [https://github.com/sxyazi/yazi/pull/1110](https://togithub.com/sxyazi/yazi/pull/1110) - feat!: DDS client-server version check by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1111](https://togithub.com/sxyazi/yazi/pull/1111) - feat: support mouse event by [@​qsdrqs](https://togithub.com/qsdrqs) in [https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038) - feat: add some dependency version information to `yazi --debug` by [@​omagdy7](https://togithub.com/omagdy7) in [https://github.com/sxyazi/yazi/pull/1112](https://togithub.com/sxyazi/yazi/pull/1112) - fix: block `SIGINT` signal from the spawned subprocess by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1131](https://togithub.com/sxyazi/yazi/pull/1131) - feat: support completely disabling mouse with `mouse_events=[]`; add new `cursor_blink` to control cursor style of input components by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1139](https://togithub.com/sxyazi/yazi/pull/1139) - fix: different filenames should be treated as the same file on case-insensitive file systems by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1151](https://togithub.com/sxyazi/yazi/pull/1151) - feat: support `ya sub` subcommand for the Ya CLI by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1004](https://togithub.com/sxyazi/yazi/pull/1004) - fix: file watcher didn't handle realname resolution used for case-insensitive file systems correctly by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1179](https://togithub.com/sxyazi/yazi/pull/1179) - feat: include file filter state in the header by [@​thelamb](https://togithub.com/thelamb) in [https://github.com/sxyazi/yazi/pull/1182](https://togithub.com/sxyazi/yazi/pull/1182) - feat!: include the `sender` ID in static messages by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1172](https://togithub.com/sxyazi/yazi/pull/1172) - fix: accommodate all `hover` events for DDS by [@​Xerxes-2](https://togithub.com/Xerxes-2) in [https://github.com/sxyazi/yazi/pull/1187](https://togithub.com/sxyazi/yazi/pull/1187) - feat: support `x-ndjson` mime-type for JSON files by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1190](https://togithub.com/sxyazi/yazi/pull/1190) - fix: suppress warnings for different name representations of the same file in the case-insensitive file system when renaming by [@​Xerxes-2](https://togithub.com/Xerxes-2) in [https://github.com/sxyazi/yazi/pull/1185](https://togithub.com/sxyazi/yazi/pull/1185) - fix: ueberzug image adapter should respect the user's `max_width` and `max_height` settings by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1200](https://togithub.com/sxyazi/yazi/pull/1200) - fix: `magick` plugin not working properly by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1213](https://togithub.com/sxyazi/yazi/pull/1213) - perf!: reimplement and significantly speed up archive previewing by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1220](https://togithub.com/sxyazi/yazi/pull/1220) - feat: add `--hovered` option to the `rename` and `remove` commands by [@​hankertrix](https://togithub.com/hankertrix) in [https://github.com/sxyazi/yazi/pull/1227](https://togithub.com/sxyazi/yazi/pull/1227) - feat: support right-click to open files by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1232](https://togithub.com/sxyazi/yazi/pull/1232) - feat: support AVIF image preview by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1249](https://togithub.com/sxyazi/yazi/pull/1249) - feat: ownership linemode by [@​AidanV](https://togithub.com/AidanV) in [https://github.com/sxyazi/yazi/pull/1238](https://togithub.com/sxyazi/yazi/pull/1238) - feat: add `nlink` property to the `Cha` plugin API by [@​Ape](https://togithub.com/Ape) in [https://github.com/sxyazi/yazi/pull/1279](https://togithub.com/sxyazi/yazi/pull/1279) - feat: add `random` option to the `sort` command by [@​zooeywm](https://togithub.com/zooeywm) in [https://github.com/sxyazi/yazi/pull/1291](https://togithub.com/sxyazi/yazi/pull/1291) - feat: show files with inaccessible metadata by [@​Ape](https://togithub.com/Ape) in [https://github.com/sxyazi/yazi/pull/1275](https://togithub.com/sxyazi/yazi/pull/1275) - feat: help users migrate shell key bindings to v0.3 by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1304](https://togithub.com/sxyazi/yazi/pull/1304) - feat: allow setting `YAZI_ID` as a command line argument by [@​mikavilpas](https://togithub.com/mikavilpas) in [https://github.com/sxyazi/yazi/pull/1305](https://togithub.com/sxyazi/yazi/pull/1305) - refactor: reimplement the signal system by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1307](https://togithub.com/sxyazi/yazi/pull/1307) - fix: destroy term before stopping signals by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1310](https://togithub.com/sxyazi/yazi/pull/1310) - fix: add `use-dev-tty` to fix piping to Yazi on macOS by [@​joshuali925](https://togithub.com/joshuali925) in [https://github.com/sxyazi/yazi/pull/1317](https://togithub.com/sxyazi/yazi/pull/1317) - refactor: fix Clippy warnings by [@​Ape](https://togithub.com/Ape) in [https://github.com/sxyazi/yazi/pull/1312](https://togithub.com/sxyazi/yazi/pull/1312) - feat: add Winget publishes to CI/CD by [@​MoaidHathot](https://togithub.com/MoaidHathot) in [https://github.com/sxyazi/yazi/pull/1299](https://togithub.com/sxyazi/yazi/pull/1299) - feat: add support for `%@​` argument extension on Windows to align with Unix platforms by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1319](https://togithub.com/sxyazi/yazi/pull/1319) - fix: wrong directory loading optimization condition by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1331](https://togithub.com/sxyazi/yazi/pull/1331) - feat: make `F1` also show the help menu by [@​CyberShadow](https://togithub.com/CyberShadow) in [https://github.com/sxyazi/yazi/pull/1336](https://togithub.com/sxyazi/yazi/pull/1336) - fix: help menu multi-line text rendering by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1347](https://togithub.com/sxyazi/yazi/pull/1347) - fix: can't rewatch a directory that has been deleted once before by [@​leihaojun](https://togithub.com/leihaojun) in [https://github.com/sxyazi/yazi/pull/1335](https://togithub.com/sxyazi/yazi/pull/1335) - fix(nix): add `outputHashes` for `notify` git dependency by [@​uncenter](https://togithub.com/uncenter) in [https://github.com/sxyazi/yazi/pull/1373](https://togithub.com/sxyazi/yazi/pull/1373) - feat(nix): set `VERGEN_*` build env vars by [@​uncenter](https://togithub.com/uncenter) in [https://github.com/sxyazi/yazi/pull/1375](https://togithub.com/sxyazi/yazi/pull/1375) - refactor(nix): cleanup and switch to `nixfmt-rfc-style` by [@​uncenter](https://togithub.com/uncenter) in [https://github.com/sxyazi/yazi/pull/1376](https://togithub.com/sxyazi/yazi/pull/1376) - chore: bump version to 0.3 by [@​sxyazi](https://togithub.com/sxyazi) in [https://github.com/sxyazi/yazi/pull/1374](https://togithub.com/sxyazi/yazi/pull/1374) #### New Contributors - [@​Kladki](https://togithub.com/Kladki) made their first contribution in [https://github.com/sxyazi/yazi/pull/943](https://togithub.com/sxyazi/yazi/pull/943) - [@​Brixy](https://togithub.com/Brixy) made their first contribution in [https://github.com/sxyazi/yazi/pull/967](https://togithub.com/sxyazi/yazi/pull/967) - [@​rafi](https://togithub.com/rafi) made their first contribution in [https://github.com/sxyazi/yazi/pull/987](https://togithub.com/sxyazi/yazi/pull/987) - [@​GOWxx](https://togithub.com/GOWxx) made their first contribution in [https://github.com/sxyazi/yazi/pull/998](https://togithub.com/sxyazi/yazi/pull/998) - [@​slowsage](https://togithub.com/slowsage) made their first contribution in [https://github.com/sxyazi/yazi/pull/1003](https://togithub.com/sxyazi/yazi/pull/1003) - [@​LatentDream](https://togithub.com/LatentDream) made their first contribution in [https://github.com/sxyazi/yazi/pull/1013](https://togithub.com/sxyazi/yazi/pull/1013) - [@​itsjunetime](https://togithub.com/itsjunetime) made their first contribution in [https://github.com/sxyazi/yazi/pull/1018](https://togithub.com/sxyazi/yazi/pull/1018) - [@​dtolnay](https://togithub.com/dtolnay) made their first contribution in [https://github.com/sxyazi/yazi/pull/1027](https://togithub.com/sxyazi/yazi/pull/1027) - [@​chriszarate](https://togithub.com/chriszarate) made their first contribution in [https://github.com/sxyazi/yazi/pull/1043](https://togithub.com/sxyazi/yazi/pull/1043) - [@​johan-naizu](https://togithub.com/johan-naizu) made their first contribution in [https://github.com/sxyazi/yazi/pull/1052](https://togithub.com/sxyazi/yazi/pull/1052) - [@​qsdrqs](https://togithub.com/qsdrqs) made their first contribution in [https://github.com/sxyazi/yazi/pull/1038](https://togithub.com/sxyazi/yazi/pull/1038) - [@​omagdy7](https://togithub.com/omagdy7) made their first contribution in [https://github.com/sxyazi/yazi/pull/1112](https://togithub.com/sxyazi/yazi/pull/1112) - [@​thelamb](https://togithub.com/thelamb) made their first contribution in [https://github.com/sxyazi/yazi/pull/1182](https://togithub.com/sxyazi/yazi/pull/1182) - [@​Xerxes-2](https://togithub.com/Xerxes-2) made their first contribution in [https://github.com/sxyazi/yazi/pull/1187](https://togithub.com/sxyazi/yazi/pull/1187) - [@​zooeywm](https://togithub.com/zooeywm) made their first contribution in [https://github.com/sxyazi/yazi/pull/1291](https://togithub.com/sxyazi/yazi/pull/1291) - [@​joshuali925](https://togithub.com/joshuali925) made their first contribution in [https://github.com/sxyazi/yazi/pull/1317](https://togithub.com/sxyazi/yazi/pull/1317) - [@​MoaidHathot](https://togithub.com/MoaidHathot) made their first contribution in [https://github.com/sxyazi/yazi/pull/1299](https://togithub.com/sxyazi/yazi/pull/1299) - [@​CyberShadow](https://togithub.com/CyberShadow) made their first contribution in [https://github.com/sxyazi/yazi/pull/1336](https://togithub.com/sxyazi/yazi/pull/1336) - [@​leihaojun](https://togithub.com/leihaojun) made their first contribution in [https://github.com/sxyazi/yazi/pull/1335](https://togithub.com/sxyazi/yazi/pull/1335) **Full Changelog**: sxyazi/yazi@v0.2.5...v0.3.0 </details> <details> <summary>weaveworks/eksctl (weaveworks/eksctl)</summary> ### [`v0.188.0`](https://togithub.com/eksctl-io/eksctl/releases/tag/v0.188.0): eksctl 0.188.0 [Compare Source](https://togithub.com/weaveworks/eksctl/compare/0.187.0...0.188.0) ##### Release v0.188.0 ##### 🚀 Features - Add support for Kuala Lumpur region (ap-southeast-5) ([#​7910](https://togithub.com/weaveworks/eksctl/issues/7910)) ##### 🎯 Improvements - Add GH workflow for automatically updating nvidia device plugin static manifest ([#​7898](https://togithub.com/weaveworks/eksctl/issues/7898)) ##### 🧰 Maintenance - Update nvidia-device-plugin to v0.16.0 ([#​7900](https://togithub.com/weaveworks/eksctl/issues/7900)) </details> <details> <summary>withgraphite/homebrew-tap (withgraphite/homebrew-tap)</summary> ### [`v1.4.2`](https://togithub.com/withgraphite/homebrew-tap/compare/v1.4.1...v1.4.2) [Compare Source](https://togithub.com/withgraphite/homebrew-tap/compare/v1.4.1...v1.4.2) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/scottames/dots). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
Tracked by #1644 |
I'm going to lock this issue because it has been closed for 30 days. ⏳ |
Please describe the problem you're trying to solve
Currently it appears that I can not make a plugin for Yazi that would allow me to automatically change the flavor that Yazi is using. The only way to change a Yazi flavor is to update the config, then close and re-open Yazi. I would like to make a plugin in the future (or contribute a built-in feature) that can automatically switch between light and dark themes based on the system theme.
Automatically switching between light and dark themes is important for me as I try to view light mode during day time and dark mode at night. There is many eye-care and sleep benefits for this but GitHub this issue isn't the place to expand that 😃
Would you be willing to contribute this feature?
Describe the solution you'd like
A Lua function that could set the flavor of Yazi and update its appearance without needing to close and re-open Yazi (live update).
The name of the function, and the name of top level Lua module (
config
ortheme
) is something that I have no strong opinion over. But it would be good to have the field names follow the general configuration file spec: Within our "config", there is a "theme.toml" file where you can set theflavor.use
entry, so my suggestion would follow this terminology.If it has not been explored yet then I would suggest something possibly generic to the config, rather than specific to flavors:
Or if you would rather something specific for updating the theme config -- then maybe we could have something like:
These approaches seem to be expandable to applying other config values, so this solution wouldn't be specific just to updating flavors only.
Additional context
I understand that this may be something already planned as the config section of the plugin docs is under "TODO" https://yazi-rs.github.io/docs/plugins/config. So there may be a broader discussion needed before deciding on implementing my suggested approach, as you may want to approach applying config changes to Yazi in a different way that my proposed solution wouldn't be compatible with.
The text was updated successfully, but these errors were encountered: