Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/blobfolio/js-mate-poe

A compact, dependency-free JS/Wasm implementation of the beloved 16-bit Screen Mate Poe Windows program released in 1996.
https://github.com/blobfolio/js-mate-poe

esheep firefox-addon firefox-extension javascript poe screen-mate stray-sheep-poe wasm

Last synced: 3 months ago
JSON representation

A compact, dependency-free JS/Wasm implementation of the beloved 16-bit Screen Mate Poe Windows program released in 1996.

Awesome Lists containing this project

README

        

# JS Mate Poe

[![ci](https://img.shields.io/github/actions/workflow/status/Blobfolio/js-mate-poe/ci.yaml?style=flat-square&label=ci)](https://github.com/Blobfolio/js-mate-poe/actions)
[![deps.rs](https://deps.rs/repo/github/blobfolio/js-mate-poe/status.svg?style=flat-square&label=deps.rs)](https://deps.rs/repo/github/blobfolio/js-mate-poe)

[![license](https://img.shields.io/badge/license-wtfpl-ff1493?style=flat-square)](https://en.wikipedia.org/wiki/WTFPL)
[![contributions welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square&label=contributions)](https://github.com/Blobfolio/js-mate-poe/issues)

A compact, dependency-free ~~Javascript~~ [wasm](https://en.wikipedia.org/wiki/WebAssembly) recreation of the beloved 16-bit Screen Mate Poe Windows program, distributed as a standalone library and a Firefox browser extension.

Add Poe to every site using the browser extension. Most of the time Poe just walks around the bottom of the screen. Sometimes a friend shows up, doubling the fun!

 
## About

There have been several ports of Screen Mate Poe since its original release in 1996, but modern desktop environments simply aren't _capable_ of running anything like a "screen mate" app anymore. (Display servers no longer give applications unfettered, global access to every conceivable windowing property, for reasons obvious in hindsight.)

But hey, the Internet is a thing now!

JS Mate Poe is a lean, web-first iteration designed for playback in modern web browsers. It was originally written in vanilla Javascript, but has since been re-rewritten in Rust, and is now compactly compiled to wasm.

It includes all the original characters and sounds, most of the animation sequences — a few desktop-specific things have been omitted, and I've probably forgotten a few — and some _new_ sequences and visual enhancements.

JS Mate Poe has been heavily optimized for both performance and size — it's smaller than the original! — ensuring a minimal impact on page load, bandwidth, and/or user experience. It is framework-free, isolated (via `ShadowDOM`), leverages hardware-accelerated rendering, and is all around _adorable_.

You're welcome!

 
## Installation

JS Mate Poe is distributed as both a general purpose Javascript library and a Firefox browser extension.

### Library

To add the screen mate to your own web page, all you need to do is grab the `js-mate-poe.min.js` script from the [latest release](https://github.com/Blobfolio/js-mate-poe/releases), upload it to a location of your choosing, and add the following code snippet before the closing `