Changes beteen v12.9.1 and v14

v14 is a complete overhaul of the app internal architecture. Over time the app changed a lot, but mechanisms inside mostly stays the same. It was time to upgrade the architecture in order to remove some longstanding limitations and bugs, improve efficiency in some areas and allow upcoming evolutions (either related to new features or new Android versions).

v14 aims to be as compatible as possible with earlier versions. Most users won’t see any differences. Still, differences exists and may impact heavy scripts users or users using unofficial/undocumented features.
The exact list of changes can be found below:

  • background item images now support animated gifs
  • folder window now support animated gifs
  • a single script context in the app. Previously there were several contextes: one for each activity and one for background execution
  • ability to use a given container from multiple places (that is: display the same panel on several desktops, or at multiple locations on the same desktop, same for folders) – see Folder.setContainerId() and Panel.setContainerId()
  • new script APIs, some other are deprecated
    • the top level script object is no longer a “Window” object, but a “Lightning” object.
    • the new “Lightning” object gather features of “LL” (deprecated) and “Window” (removed)
    • the “LL” object is deprecated (but still works), please use methods from Lightning in new scripts
    • Methods from Lightning can simply be called without prefix: instead of using LL.getDesktopByName('d'), simply use getDesktopByName('d')
    • the “Window” object has been removed, all functions have been seamlessly migrated into the “Lightning” object
    • new “Screen*” APIs for better handling of the apps top level screens
    • new Folder.setContainerId() and Panel.setContainerId() APIs
    • the previously deprecated “Toast” object has been removed, it has been replaced with the native Android Toast class
  • for scripts directly accessing configuration files: fields related to user/device preferences and previously found in file “config” have been moved in a new file “system”. The exact list is:
    • autoEdit
    • alwaysShowStopPoints
    • keepInMemory
    • language
    • expertMode
    • hotwords
    • appStyle
    • hints
    • showHelpHint (merged into “hints” bitfield, value 1^12)
    • showRateHint (merged into “hints” bitfield, value 1^13)
    • myDrawerHint (merged into “hints” bitfield, value 1^14)
    • imagePoolSize
    • switches
    • editBoxMode
    • editBoxPropHeight