One damus client to rule them all
git clone git://
Log | Files | Refs | README

commit 0c43677c54bd367728ab35d91440f7858a6aef7e
parent 0138dc8d3d169cfb09ff467baaadc1066a55746c
Author: William Casarin <>
Date:   Tue, 13 Dec 2022 18:55:55 -0800

Update readme

Diffstat: | 76++--------------------------------------------------------------------------
1 file changed, 2 insertions(+), 74 deletions(-)

diff --git a/ b/ @@ -1,75 +1,3 @@ -# eframe template +# damus -[![dependency status](]( -[![Build Status](]( - -This is a template repo for [eframe](, a framework for writing apps using [egui]( - -The goal is for this to be the simplest way to get started writing a GUI app in Rust. - -You can compile your app natively or for the web, and share it using Github Pages. - -## Getting started - -Start by clicking "Use this template" at or follow [these instructions]( - -Change the name of the crate: Chose a good name for your project, and change the name to it in: -* `Cargo.toml` - * Change the `` from `eframe_template` to `your_crate`. - * Change the `package.authors` -* `` - * Change `eframe_template::TemplateApp` to `your_crate::TemplateApp` -* `index.html` - * Change the `<title>eframe template</title>` to `<title>your_crate</title>`. optional. -* `assets/sw.js` - * Change the `'./eframe_template.js'` to `./your_crate.js` (in `filesToCache` array) - * Change the `'./eframe_template_bg.wasm'` to `./your_crate_bg.wasm` (in `filesToCache` array) - -### Learning about egui - -`src/` contains a simple example app. This is just to give some inspiration - most of it can be removed if you like. - -The official egui docs are at <>. If you prefer watching a video introduction, check out <>. For inspiration, check out the [the egui web demo]( and follow the links in it to its source code. - -### Testing locally - -Make sure you are using the latest version of stable rust by running `rustup update`. - -`cargo run --release` - -On Linux you need to first run: - -`sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev` - -On Fedora Rawhide you need to run: - -`dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel libxcb-devel fontconfig-devel` - -### Web Locally - -You can compile your app to [WASM]( and publish it as a web page. - -We use [Trunk]( to build for web target. -1. Install Trunk with `cargo install --locked trunk`. -2. Run `trunk serve` to build and serve on ``. Trunk will rebuild automatically if you edit the project. -3. Open `` in a browser. See the warning below. - -> `assets/sw.js` script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). -> appending `#dev` to `index.html` will skip this caching, allowing us to load the latest builds during development. - -### Web Deploy -1. Just run `trunk build --release`. -2. It will generate a `dist` directory as a "static html" website -3. Upload the `dist` directory to any of the numerous free hosting websites including [GitHub Pages]( -4. we already provide a workflow that auto-deploys our app to GitHub pages if you enable it. -> To enable Github Pages, you need to go to Repository -> Settings -> Pages -> Source -> set to `gh-pages` branch and `/` (root). -> -> If `gh-pages` is not available in `Source`, just create and push a branch called `gh-pages` and it should be available. - -You can test the template app at <>. - -## Updating egui - -As of 2022, egui is in active development with frequent releases with breaking changes. [eframe_template]( will be updated in lock-step to always use the latest version of egui. - -When updating `egui` and `eframe` it is recommended you do so one version at the time, and read about the changes in [the egui changelog]( and [eframe changelog]( +The final damus client