Compilar a partir do código
Compile o komorebi.exe no Windows com o Rust e as Visual Studio Build Tools, e corra as verificações do projeto.
Nesta página
O Komorebi é escrito em Rust com Slint (estilo Fluent, renderização por software). Outras bibliotecas principais são rusqlite, imap, lettre, mail-parser e keyring-core com o armazenamento do Gestor de Credenciais do Windows.
Requisitos
- Windows 10 ou 11, x64.
- Rust. O rustup escolhe a toolchain fixada em
rust-toolchain.toml. - As Visual Studio Build Tools com a carga de trabalho Desenvolvimento de ambiente de trabalho com C++: o linker MSVC, o Windows SDK e o seu
rc.exe, que incorpora o ícone, as informações de versão e o manifesto.
Compilar e executar
git clone https://github.com/RusticStack/komorebi
cd komorebi
cargo build --release --locked
.\target\release\komorebi.exe
O komorebi.exe é um único ficheiro com o runtime de C incluído, por isso pode copiá-lo para qualquer sítio. Os dados ficam em %LOCALAPPDATA%\komorebi, tal como na aplicação instalada.
Verificações
As mesmas verificações que a CI corre:
cargo fmt --check
cargo clippy --all-targets --locked -- -D warnings
cargo test --locked
pwsh scripts/check-pins.ps1
cargo deny --locked check licenses advisories
Depois de uma compilação de release, target\release\komorebi.exe tem de ter no máximo 20 500 000 bytes, e as informações de versão mostram a versão do Cargo.
Uma verificação de arranque sem o seu correio
O Komorebi consegue desenhar a janela para um ficheiro e sair, com uma cache descartável cheia de mensagens fictícias, sem rede e sem acesso às suas palavras-passe:
cargo run --release --locked --example seed -- $env:TEMP\seed.sqlite3 2000
$env:KOMOREBI_OFFLINE = 1; $env:KOMOREBI_DB = "$env:TEMP\seed.sqlite3"
$env:KOMOREBI_SNAPSHOT = "$env:TEMP\boot.bmp"; $env:KOMOREBI_SNAPSHOT_SELECT = 0
$env:KOMOREBI_SNAPSHOT_CHECK = 1; $env:KOMOREBI_TIMING = 1
(Start-Process target\release\komorebi.exe -NoNewWindow -Wait -PassThru).ExitCode
O código de saída é 0 quando a lista de mensagens e o leitor não estão em branco. KOMOREBI_TIMING mostra os tempos de arranque; a meta do projeto é 200 ms até à primeira imagem. As capturas de ecrã deste site foram feitas da mesma forma.
Contribuir
Leia primeiro o CONTRIBUTING.md e o âmbito do projeto. A secção "Translations" do README explica como adicionar um idioma.