Configuration Structure (new)
Overview
BlueFletch Launcher 4 updates its configuration structure to improve flexibility, usability, and consistency. Configurations for all BF apps are now centralized within appConfig, while applicationObjects introduce reusable variables to boost efficiency. These updates simplify configuration management, reducing complexity and improving the organization of applications and layout items.
The appConfig block standardizes how app-specific options are structured and managed, allowing users to add new configuration options without requiring frequent Launcher updates. The applicationObjects block, on the other hand, enables users to configure layout items as reusable variables, eliminating the need to duplicate them across multiple layouts.
Application Configurations (appConfig)
The appConfig section consolidates all configurations for individual applications, including:
emsSupportToolbfChatkeyboardbrowserepmConfigremoteControldeviceFinderbfCustomTabsbfAuth
This allows new configuration options to be added to applications and accessed immediately, without requiring a Launcher upgrade. Additionally, configurations are now standardized with a consistent naming convention.
To configure your BlueFletch applications in Launcher 4, follow these steps to migrate existing configurations into the new appConfig section:
Create an
appConfigJSON object in your launcher.json file.Identify and copy all existing BlueFletch application configurations into the
appConfigsection.Rename each object according to the new naming convention.
The table below shows how legacy configuration names are mapped to new names within the appConfig section.
"emsSupportTool": { ... },
"appConfig": { "bfSupportAgent" : { ... }, },
"bfChat": { ... },
"appConfig": { "bfChat" : { ... }, },
"keyboard": { ... },
"appConfig": { "bfKeyboard" : { ... }, },
"browser": { ... },
"appConfig": { "bfBrowser" : { ... }, },
"epmConfig": { ... },
"appConfig": {
"bfEpmConfig" : {
...
},
},
"remoteControl": { ... },
"appConfig": {
"bfRemoteControl" : {
...
},
},
"deviceFinder": { ... }
"appConfig": {
"bfDeviceFinder" : {
...
},
},
The legacy configuration for application configurations looked like this:
In Launcher 4, the new appConfig section is defined as follows:
App Configurations New to Launcher 4
BlueFletch has also introduced new app configuration objects in releases of Launcher 4 that did not have corollaries in Launcher 3.
bfCustomTabs
Configures settings for Chrome Custom Tab (CCT) instances
browserPackage
String
Full package name of the target CCT browser (e.g. com.android.chrome, com.microsoft.emmx). If the listed package is not installed, Launcher falls back to the system default browser.
shareState
String
Controls the presence of the CCT "Share" button. Valid options are "on", "off", and "default".
bookmarksEnabled
Boolean
To show the "Bookmarks" button, set to true; to hide the button, set to false.
downloadsEnabled
Boolean
To show the "Downloads" button, set to true; to hide the button, set to false.
urlBarHidingEnabled
Boolean
To hide the URL bar, set to true; to leave the URL bar available set to false.
showTitle
Boolean
If true, replaces the URL bar with a page title. If false, the URL bar remains.
useBackArrowClose
Boolean
If true, replaces the default "Close" [X] button with a Back arrow icon. If false, the default "Close" button remains.
Example:
Application Objects (applicationObjects)
The applicationObjects section enables users to define reusable app or layout configurations as key-value pairs in the launcher.json file. Once defined, these variables can be referenced across multiple layout groups, eliminating the need to copy and paste configuration blocks.
To create key-value pairs in the launcher.json file and reference them in layout groups, follow these steps:
Use the
applicationObjectssection to create a key (e.g., chatApp) and store reusable app or layout configurations.Use the
appObjectKeyfield in layout groups (e.g., AssociateApps or ManagerApps) to reference the key. Please see sample configuration here.Override the label field in layout groups to provide unique labels for each reference.
Using Chat App as an example: Specify its package name, label, description, etc.
Using Camera App as an example: Specify a label, URL, browser package, and browser-specific overrides.
Configuring Layout Groups with Variables
Once application variables are specified, they can be referenced in layout groups using the appObjectKey field. This approach allows you to reuse the same configuration across multiple groups without duplicating the entire block.
Below is an example of using the chatApp application variable in the AssociateApps and ManagerApps layout groups:
Last updated