Repository navigation
Scriptoscope 0.9.0 is a minor release on 0.8.0. It adds scheme authoring and moves window input closer to the classic Window Manager. It continues 0.y.z pre-launch development (#168). GitHub release only; no npm publication.
Behaviour change: clicks pass through transparent frame pixels (#597)
- Managed windows now default to
regionhit mode, as in Kaleidoscope 2.3.1. A press between a scheme's merlons, ornaments or studs reaches the page behind, with its default actions. - A press on page content deactivates the active window, as a click on the desktop did on the classic Mac.
- To keep the old behaviour, set
data-scriptoscope-hit="box"on a window,{ hit: 'box' }onWindowManager.add, ornew WindowManager({ hit: 'box' })for the whole page. Windows insideopenModalkeep the box automatically. parseWindowAttrsno longer defaultsstateto'active'whendata-scriptoscope-stateisn't declared (#614).
New: scheme authoring (#540)
tools/theme-author/writes new Kaleidoscope schemes from code as real resource forks that load in Scriptoscope and in the original Kaleidoscope 2.3.1.- Workflow tools:
npm run author,paint-over,sim8andcapture:authoring, plus a dev-only preview page. - The Scriptoscope Reference Native Theme in
authoring/schemes/, and guides starting atdocs/authoring-a-scheme.md.
Changed: window input
- A first press on an inactive window's title widget or grow box only activates it (#614).
- Region windows use native hit targets, so wheel and pointer input reach native content, nested scrollers and the page (#631, #635).
- New
WindowManager.dispose()(#621) andhit/hitEffectivereporting onWindowManager.describe. - Window and control rendering allocates less (#643).
Fixed
- Collapsed windows draw only their title-axis sides, as Kaleidoscope does (#617).
- Window titles fit their slot using the complete title's ink, so substitute-font descenders and cedillas aren't clipped (#637, #624).
- Utility windows use their alternate pressed-widget art, and popup windows ignore collapse (#624, #625).
- A single scroll bar reaches the content edge when the scheme has no grow-box art (#640).
- Movable-modal, movable-alert, popup and collapsed titled-utility windows show their title text again (#540).
- Focus, Tab order, Shift+wheel and gesture fixes (#619, #621, #628).
Known limitation
- On Linux WebKit (WebKitGTK), title fitting and title painting can differ by one colour step or a faint edge pixel, because WebKitGTK picks its canvas backend by canvas size. This isn't visible. The affected checks are expected failures on Linux WebKit only; the fix is tracked in #646.
Contributor workflow
npm run check:schemesis part ofnpm run gates, andnpm run bench:rendermeasures render allocations.- The release gate caught three regressions that had landed without running the WebKit and Firefox jobs. They were fixed before tagging (#645, #647).
The final release gate passed on the exact tagged commit, and the tag check confirmed it.
Runtime size versus 0.8.0 (npm run loc:src -- HEAD --base v0.8.0):
| non-test source | 0.8.0 | 0.9.0 | delta |
|---|---|---|---|
| logic | 16654 | 17661 | +1007 |
| cited engine tables | 2380 | 2380 | 0 |
| total | 19034 | 20041 | +1007 |
Full details are in the CHANGELOG.