Skip to main content

Pragtical v3.5.1 Release

· 3 min read
Jefferson Gonzalez

A patch release that includes some nice fixes and additions!

In the past, the code responsible for file system monitoring automatically unwatched/watched files when an event was received. This behavior was disabled because it caused indefinite signaling of events, which increased CPU usage in the autoreload plugin that needs to monitor files independently. However, this behavior is actually necessary for backends like inotify, where a file would get automatically unwatched if it was removed, only to be re-added later. One example of this occurs when performing a git checkout <branch>, which removes and re-adds files that contain changes, causing a file to be unwatched by inotify. This release restores the previous behavior and fixes the endless signaling of file system events, resulting in a better functioning autoreload plugin.

note

The unwatched/watched behavior wouldn't be necessary if the DirMonitor implementation also reported the type of event, such as deletion, addition, modification, etc. However, until that is implemented (if it ever is), we will continue to re-watch on file system monitoring backends that may require it.

In the scaling random wars, we now keep the DEFAULT_SCALE always updated, even if auto-detection of scaling is disabled. This ensures that when enabling auto-detection on a running editor instance, it will use the correct system scale. Additionally, for Linux users, we have added code to prefer the Wayland video backend by default if the system is running on Wayland. This should result in crisper output on non-native scales, while the Xwayland backend may lead to blurry rendering.

In the Windows frontend, we added a pragtical.com wrapper around pragtical.exe, which is compiled in console mode. This enhancement improves the experience of using the editor's CLI interface from CMD or PowerShell, as these environments prioritize .com binaries over .exe files:

Other changes include:

  • Making the latency reduction feature toggleable (in case you want to reduce some CPU usage).
  • Fixes to the JavaScript syntax embedded HTML support (which was matching elements that weren't embedded HTML).
  • Plus other fixes and changes...

Downloads on GitHub.

Changes Log

Fixes

  • Check valid line state on retokenization check (#186)

  • Fix language_js embedded html matching (#187)

  • Fix DirWatch check duplication on multiple mode (#197)

Enhancements

  • Make the input latency reduction toggleable (#188)

  • Always keep default scale updated on scale changes (#190)

  • Use wayland by default if possible on linux (#191)

  • CLI subcommands: allow skipping invalid arguments (#192)

  • Restore DirWatch unwatch/watch behavior (#193)

  • Fully move autoreload cleanup from co to Doc:on_close (#194)

  • Add a .exe to .com console wrapper on windows (#199)

Lite XL Merged Changes

  • api/system: make stat() call consistent across platforms (#195)

  • treeview: remove unused code (#1895)