{"id":13598480,"url":"https://github.com/orhun/ratatui-splash-screen","last_synced_at":"2025-04-13T00:46:37.158Z","repository":{"id":227536082,"uuid":"771705632","full_name":"orhun/ratatui-splash-screen","owner":"orhun","description":"A Ratatui widget to turn any image to a splash screen in your terminal ✨","archived":false,"fork":false,"pushed_at":"2025-04-07T02:31:50.000Z","size":82,"stargazers_count":90,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T00:46:31.660Z","etag":null,"topics":["ratatui","splash-screen","splashscreen","terminal-user-interface","tui","tui-rs","tui-widget","widget"],"latest_commit_sha":null,"homepage":"https://docs.rs/ratatui-splash-screen","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orhun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"orhun","patreon":"orhunp","buy_me_a_coffee":"orhun"}},"created_at":"2024-03-13T19:47:33.000Z","updated_at":"2025-04-07T02:31:47.000Z","dependencies_parsed_at":"2024-03-16T21:49:06.803Z","dependency_job_id":"5286e227-3332-4bc4-9026-a2b5d17c3805","html_url":"https://github.com/orhun/ratatui-splash-screen","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":0.04255319148936165,"last_synced_commit":"9ebd21406d6b79834568f1bcb9d5ef6cceecc282"},"previous_names":["orhun/ratatui-splash-screen"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fratatui-splash-screen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fratatui-splash-screen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fratatui-splash-screen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fratatui-splash-screen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orhun","download_url":"https://codeload.github.com/orhun/ratatui-splash-screen/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650434,"owners_count":21139672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ratatui","splash-screen","splashscreen","terminal-user-interface","tui","tui-rs","tui-widget","widget"],"created_at":"2024-08-01T17:00:52.998Z","updated_at":"2025-04-13T00:46:37.137Z","avatar_url":"https://github.com/orhun.png","language":"Rust","funding_links":["https://github.com/sponsors/orhun","https://patreon.com/orhunp","https://buymeacoffee.com/orhun"],"categories":["📦 Libraries"],"sub_categories":["🧩 Widgets"],"readme":"## `ratatui-splash-screen`\n\n\u003c!-- cargo-rdme start --\u003e\n\nA [Ratatui] widget to turn any image to a splash screen in your terminal ✨\n\n![demo](https://github.com/orhun/ratatui-splash-screen/assets/24392180/3a094217-2825-4962-b22e-476dc4fbce55)\n\n[![crates.io badge]][ratatui-splash-screen-crate]\n[![docs.rs badge]][ratatui-splash-screen-docs]\n[![license badge]](./LICENSE-MIT)\n[![codecov.io badge]][Code Coverage]\n[![discord badge]][Ratatui Discord]\n\nSee the demo of [gpg-tui] for a real world example.\n\n#### Features\n\n- Turn any image (`jpg`, `png`) into a splash screen!\n- Verifies the file integrity via checking SHA checksum (optional)\n- Supports grayscaling\n\n#### Installation\n\n[![deps.rs badge]][Dependency Status]\n\n```shell\ncargo add ratatui ratatui-splash-screen\n```\n\n#### Usage\n\nCreate a [`SplashConfig`] and construct a [`SplashScreen`] widget with it.\nThen render the widget in a loop using the [`render`] function.\nYou can check if the splash screen is done rendering by calling [`is_rendered`].\n\n#### Examples\n\n```rust\nuse std::error::Error;\nuse std::io::stdout;\nuse std::time::Duration;\n\nuse ratatui::prelude::*;\nuse ratatui_splash_screen::{SplashConfig, SplashScreen, SplashError};\n\nstatic SPLASH_CONFIG: SplashConfig = SplashConfig {\n    image_data: include_bytes!(\"../assets/splash.png\"),\n    sha256sum: Some(\"c692ae1f9bd4a03cb6fc74a71cb585a8d70c2eacda8ec95e26aa0d6a0670cffd\"),\n    render_steps: 12,\n    use_colors: true,\n};\n\nfn main() -\u003e Result\u003c(), Box\u003cdyn Error\u003e\u003e {\n    // create a terminal\n    let backend = CrosstermBackend::new(stdout());\n    let mut terminal = Terminal::new(backend)?;\n\n    // render splash screen\n    let mut splash_screen = SplashScreen::new(SPLASH_CONFIG)?;\n    while !splash_screen.is_rendered() {\n        terminal.draw(|frame| {\n            frame.render_widget(\u0026mut splash_screen, frame.size());\n        })?;\n        std::thread::sleep(Duration::from_millis(100));\n    }\n\n    Ok(())\n}\n```\n\nSee the full example [here](https://github.com/orhun/ratatui-splash-screen/blob/main/examples/demo.rs).\n\n#### Tips\n\n- Use small images (such as 200x200) for a better experience.\n- You can tweak the [`render_steps`] value for smoother rendering.\n- Run [`sha256sum(1)`] command on your system to find out the SHA value. You can set it to `None` if you don't want to check integrity.\n\n[ratatui-splash-screen]: https://github.com/orhun/ratatui-splash-screen\n[ratatui-splash-screen-crate]: https://crates.io/crates/ratatui-splash-screen\n[ratatui-splash-screen-docs]: https://docs.rs/ratatui-splash-screen\n[ratatui]: https://ratatui.rs\n[`sha256sum(1)`]: https://linux.die.net/man/1/sha256sum\n[gpg-tui]: https://github.com/orhun/gpg-tui\n\n[`SplashConfig`]: https://docs.rs/ratatui-splash-screen/latest/ratatui_splash_screen/config/struct.SplashConfig.html\n[`SplashScreen`]: https://docs.rs/ratatui-splash-screen/latest/ratatui_splash_screen/splash_screen/struct.SplashScreen.html\n[`is_rendered`]: https://docs.rs/ratatui-splash-screen/latest/ratatui_splash_screen/splash_screen/struct.SplashScreen.html#method.is_rendered\n[`render_steps`]: https://docs.rs/ratatui-splash-screen/latest/ratatui_splash_screen/config/struct.SplashConfig.html#structfield.render_steps\n[`render`]: https://docs.rs/ratatui/latest/ratatui/widgets/trait.Widget.html#tymethod.render\n\n[crates.io badge]: https://img.shields.io/crates/v/ratatui-splash-screen?style=flat\u0026logo=Rust\u0026color=666\u0026labelColor=1c1c24\n[docs.rs badge]: https://img.shields.io/docsrs/ratatui-splash-screen?logo=rust\u0026style=flat\u0026color=666\u0026labelColor=1c1c24\n[deps.rs badge]: https://deps.rs/repo/github/orhun/ratatui-splash-screen/status.svg?style=flat\u0026color=666\u0026labelColor=1c1c24\n[license badge]: https://img.shields.io/crates/l/ratatui-splash-screen?style=flat\u0026color=666\u0026labelColor=1c1c24\u0026logo=github\n[codecov.io badge]: https://img.shields.io/codecov/c/github/orhun/ratatui-splash-screen?logo=codecov\u0026style=flat\u0026color=666\u0026labelColor=1c1c24\u0026logoColor=white\n[discord badge]: https://img.shields.io/discord/1070692720437383208?label=Ratatui+Discord\u0026logo=discord\u0026style=flat\u0026color=666\u0026labelColor=1c1c24\u0026logoColor=white\n\n[Dependency Status]: https://deps.rs/repo/github/orhun/ratatui-splash-screen\n[Code Coverage]: https://app.codecov.io/gh/orhun/ratatui-splash-screen\n[Ratatui Discord]: https://discord.gg/pMCEU9hNEj\n\n\u003c!-- cargo-rdme end --\u003e\n\n## Contributing\n\nSee the [contribution guidelines](CONTRIBUTING.md).\n\n## License\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat\u0026logo=GitHub)](./LICENSE-MIT)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat\u0026logo=GitHub)](./LICENSE-APACHE)\n\nLicensed under either of [Apache License Version 2.0](./LICENSE-APACHE) or [The MIT License](./LICENSE-MIT) at your option.\n\n🦀 ノ( º \\_ º ノ) - respect crables!\n\n## Copyright\n\nCopyright © 2024, [Orhun Parmaksız](mailto:orhunparmaksiz@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fratatui-splash-screen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forhun%2Fratatui-splash-screen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fratatui-splash-screen/lists"}