KLWP/KWGT Integration
KLWP is a powerful app that lets you design your own dynamic live wallpapers. You can, e.g., add widgets or blur the wallpaper and add logic to change components depending on the external state. Niagara integrates with KLWP and publishes variables that allow you to react to specific events and conditions—read the following section for more information on how to use those.
✏️ Note: the same applies to the custom widget creator app KWGT, which is from the same team as KLWP and uses the same system. For brevity, we focus on KLWP in this guide.
Launch Niagara's Agenda From KLWP/KWGT
You can open Niagara Launcher's agenda sheet from KLWP/KWGT by using the open URL touch-action with the "URL" niagara://agenda
.
Variables Published by Niagara Launcher
Niagara exports various variables to KLWP, which you can access in the formula editor using the format $br(niagara-launcher, variable-name)$
. These variables can be numeric or Boolean (true/false) values. You can, for example, use them in a KLWP if statement comparing to a known value, like so: $if(br(niagara-launcher, variable-name) = "true", value if true, value if not true)$
. Make sure to include the quotation marks for "true"
/"false"
like in the example.
Current Screen
To determine the type of content currently displayed in Niagara, use the screen
variable exported to KLWP. It can have one of the following values:
Screen type | Variable value |
Favorites | 0 |
All apps list | 1 |
Other screens (e.g., search) | 2 |
Niagara is in the background (like on the lock screen or Android's recents screen) | -1 |
Calendar Events
calendar-event "true", a calendar event is currently visible in the favorites, and the Niagara widget takes up more space than usual. You can combine this variable with the screen type variable to check if there is a calendar event and whether the favorites are currently visible. Here's an example: $if(br(niagara-launcher, screen) = 0 & br(niagara-launcher, calendar-event) = "true", ..., ...)$
You can use the calendar-event
variable to check whether there are any visible calendar events below the clock/date in Niagara Launcher. When the variable is "true"
, a calendar event is currently visible in the favorites, and the Niagara widget takes up more space than usual. You can combine this variable with the screen type variable to check if there is a calendar event and whether the favorites are currently visible. Here's an example: $if(br(niagara-launcher, screen) = 0 & br(niagara-launcher, calendar-event) = "true", ..., ...)$
Media Player Visibility
The media-player
variable provides information about the current visibility of Niagara's media player widget. It can be either "true"
(when the player is visible) or "false"
(when it's hidden): if(br(niagara-launcher, media-player) = "true", ..., ...)
.
Our Color Palette
Niagara Launcher exposes its color palette as variables. You can use them to create a setup that adapts to your wallpaper. For instance, you can set the color of a KLWP text element to $br(niagara-launcher, text-color)$
to match the rest of the interface.
wallpaper-color
: This is the primary color of your wallpaper and also the color of the Niagara Button.on-wallpaper-color
: This color provides high readability against the wallpaper color, usually close to white or black.text-color
: This is the text color of all homescreen items, such as the clock or apps, which can be either white or dark gray.accent-color
: This color is usually close to the wallpaper color, but its brightness doesn't change when switching wallpapers. All our switches (e.g., the ones in the Niagara settings screen) are tinted with this color. This color has a high contrast against the surface color.surface-color
: This color is used for all kinds of surfaces, such as Niagara Launcher's pop-ups, and is usually close to white or black.on-surface-color
: This is a color that provides high readability against the surface color, usually close to white or black.
Example: Blur Wallpaper and Hide Components in the App List
- Go to the background tab, and change the type from solid to image, if necessary. Also, ensure you selected an image with the bitmap option.
- Please scroll to the blur option in the same tab, tap on the checkbox next to it and enable formula support through the top right calculator icon.
- Tap in the center of the blur option and paste the formula
$if(br(niagara-launcher, screen) = 0, 0, 50)$
there. Afterward, tap on "apply." This command checks if the favorites screen is visible (remember, the favorites screen has the value of zero) and sets the blur factor to zero (no blur) if it is and to fifty if it isn't. - Go to the layer tab and set the visibility option to the formula
$if(br(niagara-launcher, screen) = 0, ALWAYS, NEVER)$
in a similar way. This will hide all the components you may have added in KLWP, like a clock, weather, etc.
Current Limitations
As of now, you can only interact with your KLWP live wallpaper for elements placed above Niagara Launcher's favorites.
KWGT issues and workarounds
Some configurations within KWGT can lead to problems when used inside Niagara Launcher. The following is a list of workarounds for the most common issues.
Widget shrinking when rotating phone
When a KWGT widget is displayed in Niagara Launcher, rotating the device shrinks the displayed widget. Repeatedly rotating will cause the widget to shrink indefinitely. Please note that Niagara Launcher will only rotate with your device if that behavior is enabled (Niagara Settings > Features > Allow home screen rotation).
To fix this, head into KWGT > tap the menu in the top right (the three dots) > App settings > Widget, then:
- Set Widget Orientation to Auto Rotate
- Set Widget Size to Locked
See also KWGT widgets shrink on screen rotation #2712.
General KLWP Guides & Community
KLWP has an active development team and a highly supportive community. For more ideas, tips, and tricks, please refer to the following resources: