Monochrome automatically turns on monochrome (or black & white) mode when your battery is low, to further reduce display power consumption when your battery level is low. This means your device can last longer when its battery is low.
Monochrome is triggered when your device's battery level hits the LOW level as defined by the OEM (usually 15%) and Monochrome is triggered again when your battery level hits the OKAY level (usually 30%) as defined by the OEM. When your battery level reaches the LOW state, Monochrome is turned on and when your battery level reaches the OKAY state, Monochrome is turned off. This is all done automatically so you don't have to manage anything.
Monochrome also works on the GPU level, so Monochrome does not implement a hidden/invisible view on top of apps to enforce black and white colors. This means Monochrome does not run in the background and/or constantly monitor your battery level, it's only activated when your battery reaches LOW or OKAY states and after enabling/disabling B/W mode on the GPU level, Monochrome simply exits.
Why isn't it allowed to define your own battery percentage values to trigger Monochrome on/off?
This is because if the user was allowed to define the battery percentage values themselves, then the app will have to constantly run in the background and monitor changes to battery level, which will have a negative effect on battery life. Monochrome takes advantage of two system broadcasts: android.intent.action.BATTERY_LOW and android.intent.action.BATTERY_OKAY which are sent when the battery level is LOW and OKAY respectively. By taking advantage of these broadcasts, Monochrome is only triggered twice, instead of constantly monitoring changes in background and activating/deactivating when the battery level hits a user specified amount. This prevents Monochrome from having a negative effect on the overall device battery life.
Monochrome requires ROOT. If you are NOT ROOTED then you need to manually grant WRITE_SECURE_SETTINGS permission to the app by executing the following ADB command:
adb -d shell pm grant com.suyashsrijan.lowbatterymonochrome android.permission.WRITE_SECURE_SETTINGS