github 1j01/jspaint v1.1.0

13 hours ago

Embedding API

Changed

  • systemHooks.writeBlobToHandle promise can resolve with true to indicate success, in which case File > Save will not prompt to save the file again. false indicates failure or cancellation, whereas undefined can be used if it is unknown whether the file will be saved successfully, as is the case when using the download attribute on an anchor element. If saving as a monochrome bitmap, undefined will cause the canvas to become monochrome, but it will still prompt to save the file again. This tradeoff is reasonable because the download attribute doesn't support saving over an already saved file anyways
  • Marked more parts of the API as optional ()

Fixed

  • Fixed error from looking in the wrong place for menus when embedded (, )

App

Added

  • AppImage build for Linux (in addition to the existing .deb and .rpm builds)
  • macOS menu bar integration (the menu bar in the app is now mirrored to the macOS menu bar)
  • Extras > Draw Randomly (screensaver-like mode)
  • Extras > Themes > Bubblegum
  • Extras > Head Tracker powered by Tracky Mouse
  • View > Text Toolbar to toggle the Fonts box
  • Vertical text editing support (find the option in the Text Toolbar, AKA Fonts box)

Changed

  • Split out "Eye Gaze Mode" into discrete features: "Enlarge UI", "Quick Undo Button", "Dwell Clicker"
    • You can now drag toolbars while the UI is enlarged ()
    • Limited scale of Tools/Colors boxes in Enlarge UI mode ()
  • Restructured About window content (, , , )
    • (It's now much more compact while including more information)
  • Improved Imgur upload error dialogs ()
  • Changed width/height separator to an 'x' in status bar (was a comma) ()
  • Implemented size status indicator for all tools ()
  • Added offset effect to pressed buttons in font box ()

Fixed

  • When printing, the canvas border and any in-progress polygons or curves are now hidden, and the size of the document is corrected (, , )
  • Fixed drawing position misalignment with cursor ()
  • Fixed Help Topics window iframe being blocked by CSP (not sure if this was actually broken in the last release) ()
  • Fixed prompt to save changes when clicking File > Exit ()
  • Fixed Shift+Insert, Ctrl+Insert, and Ctrl+Delete shortcuts ()
  • Fixed error handling for clipboard access ()
  • Fixed format selection when saving a palette in the Electron app ()
  • Fixed default file name when saving selection with Edit > Copy To or using File > Set As Wallpaper (, )
  • Fixed tiled checkboxes (a visual bug) in the Electron app in Enlarge UI mode ()
  • Menus are now scaled down as needed in Enlarge UI mode to fit all items
  • An image dropped on news window will no longer open the image in the app ()
  • Added handling for smooth scrolling for zooming with mousewheel/trackpad ()
  • Updated electron to 20.3.12 ()
    • This brings in Chrome 104, which supports the Local Font Access API, allowing the Fonts box to list all installed fonts when using the Text tool.
  • Fixed fonts dropdown closing immediately when clicked in Chrome ()
  • Fixed About window centering on small screens ()

Internal

  • Converted project almost entirely to ES Modules
  • Split up several huge files
  • Set up ESLint and improved code consistency
  • Added typechecking all across the codebase
  • Updated os-gui.js and tracky-mouse.js
  • Automated the desktop app release process with GitHub Actions and scripts developed for the Tracky Mouse project ()

External

Don't miss a new jspaint release

NewReleases is sending notifications on new releases.