Skip to main content

Pragtical v3.4.3 Release

· 2 min read
Jefferson Gonzalez

This release fixes various issues reported on GitHub, and introduces some new features and enhacements. The big ticket for this release is overall better scaling behaviour. macOS builds now default to the plain software renderer which is faster. This is possible because various releases ago (almost a year?) we introduced functionality to detect the display scale at runtime, meaning that scaling should be properly performed Lua side instead of relying on the renderer. The SDL Renderer (aka "hardware renderer") is still available but since the glyph loading optimizations, it needs some adjustments to better handle the positions and sizes of fonts when the scale is >= 2.

So, this release improves upon previous scaling code work and fixes some related issues. Finally, widgets now behave better when the scale changes.

Thanks to everyone who reported issues and helped with testing!

Downloads on GitHub.

Changes Log

New Features

  • Add cli flag to allow forking editor to background (#132)

  • Scale plugin: added commands and bindings to allow zooming/scaling the code independently of the user interface. (#150)

Performance Improvements

  • Widgets: moved most calculations out of update to specialized update_size_position function that gets called mostly only when neccesary. Also improved widgets size/position calculations for better scaling. (#9)

Enhancements

  • Patched some luajit functions to support unicode file names and strings on windows (#138)

  • Always select first result on findfile plugin (#141)

Fixes

  • Use PRAGTICAL_USERDIR instead of HOME on scripts/run-local because XDG_CONFIG_HOME been set has priority over HOME. (#133)

  • Fix scaling logic regressions, now macOS builds are configure by default with the software renderer since current display scale is detected at startup and applied on the whole interface, also the plain software renderer is faster. (#134)

  • Return actual scale on system.get_scale() for macOS too (#143)

  • Minor correction on search_ui replace button position (#149)

Build System

  • Fix rolling builds staying as draft (a0d062f5)

  • Remove widget submodule in favor of subproject (#148)