arc/platforms.md | 4 +- arc/ui.md | 5 +- crates/snowbound/linux/README.md | 3 +- crates/snowbound/src/attachment.rs | 6 +- crates/snowbound/src/commands.rs | 17 +- crates/snowbound/src/desktop_linux.rs | 22 +- crates/snowbound/src/dialog_linux.rs | 580 +++++++++++++++++--------------- crates/snowbound/src/history.rs | 25 +- crates/snowbound/src/linux.rs | 347 ++++++++++--------- crates/snowbound/src/macos.rs | 123 +++++-- crates/snowbound/src/main.rs | 163 ++++++--- crates/snowbound/src/manage.rs | 16 +- crates/snowbound/src/menus.rs | 56 ++- crates/snowbound/src/options.rs | 2 +- crates/snowbound/src/print.rs | 27 +- crates/snowbound/src/recycle.rs | 51 ++- crates/snowbound/src/save_as.rs | 83 ++--- crates/snowbound/src/tags.rs | 12 +- crates/snowbound/src/unpack.rs | 29 +- crates/snowbound/src/update.rs | 50 +-- crates/snowbound/src/web.rs | 91 +++-- crates/snowbound/src/windows.rs | 224 ++++++------ crates/snowbound/web/glue.js | 36 +- crates/snowbound/web/index.html | 10 + 24 files changed, 1172 insertions(+), 810 deletions(-)