3 items
Silent receipt and label printing for web apps like the Koha ILS, via the Olorin Companion App on this computer. 1. The web application embeds a print button in the web app, notice/slip templates carry it: ```html <button id="webPrint" data-printer="receipt_printer" data-print="#receipt">Print</button> ``` `data-printer` names one of five logical printers — `receipt_printer`, `sticker_printer`, `paper_printer`, `full_sheet_printer`, `label_printer` and `data-print` is a CSS selector for the element whose contents should print. Any element with the `olorinPlugin` class works the same way. 2. Wrap the printable part of the slip: ```html <span id="receipt"> ... slip content ... </span> ``` 3. To print automatically when the page loads, trigger a click on the button from the page's own JavaScript. In Koha that means setting the `IntranetSlipPrinterJS` system preference to: ```javascript setTimeout(function () { $("#webPrint").trigger("click"); }, 1000); ``` (Any page script that dispatches a real click works — jQuery is not required.) 4. The extension's options page maps each logical printer to a real OS printer, with per-printer page size, margins, orientation, number of copies, and duplex (long edge / short edge) mode. Settings are stored by the companion app, so they are shared by every browser on the machine. Pages can react to print outcomes by listening for a DOM event: ```javascript document.addEventListener("olorin:print-result", (e) => console.log(e.detail)); // e.detail = { success: true } or { success: false, error: "..." } ```
Jul 27, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.