Skip to content

Second NLnet Quarterly Update

Electron

Another NLnet update, a little late because of the holiday season. Although not originally planned, this quarter was mainly about mobile support. Now that the app works as expected on web, it makes sense to also support mobile devices.

Mobile enhancements

Electron Electron Electron Electron

All panels are now rendered within drawers on mobile, to make them easily accessible through the new bottom navigation bar. The document tabs are hidden under a dropdown, and the menubar is also collapsed under a hamburger icon button. An ellipsis button was also added at the bottom of the object toolbar, that triggers the context menu.

Capacitor was used to create iOS and Android applications. The native apps are on closed testing phase, so they are not officially published yet (you can read more here).

Multi-touch canvas gestures, like pinch to zoom and pan are now supported. Tools can also use multi-touch information to change their behavior. For example, we now keep the ratio locked on scale, when there is more than one active pointer (you can read more here).

Language registry

We can now register a new language using the interactive shell

(register-language {:id "im-LA"
                    :dir "ltr"
                    :locale "Imaginary language"
                    :code "LA"
                    :dictionary {}})

We can also register new translations for an existing language

(set-translation "en-US" :renderer.menubar.views.file "New File!")

You can read more about this here.

Accessibility filter registry

We can now register a new a11y filter using the interactive shell

(register-a11y-filter {:id :blur-x3
                       :tag :feGaussianBlur
                       :label [[:a11y-filter/blur-x3 "blur-x3"]]
                       :attrs {:in "SourceGraphic"
                               :type "matrix"
                               :stdDeviation "3"}})

More details here.

[CANCELED] Upgrade to CodeMirror 6

Upgrading to CodeMirror turned out to be extremely involved, with no actual benefit for the end user. The new version is split into multiple packages, so it's more flexible, but this modularity requires a lot of modifications, and it doesn't really benefit our use case. You can take a look at the initial effort here. The upgrade task was suspended in favor of mobile support.

Comments