With our new insight into hooking SystemInformation is JScript, this simplifies the setup greatly, which what I was originally hoping to achieve.
##JScript
Either of these functions should do the job - just pick one …
##NET [net]
(Script)##
Script Name: | NET |
Script Handler: | net |
Script:
function battLevel(){
var m = host.lib("System.Windows.Forms");
var p = m.System.Windows.Forms.SystemInformation.PowerStatus;
return (p.BatteryLifePercent * 100).toFixed(0);
}
function battLevel2(){
var m = host.type("System.Windows.Forms.SystemInformation","System.Windows.Forms");
return (m.PowerStatus.BatteryLifePercent * 100).toFixed(0);
}
##Trigger to control frequency of Battery Level check
Choose 1 of these, or make your own.
##Action to store Battery Level
##BATT Store Level [Update Program Setting]
(Action)##
Action Name: | BATT Store Level |
Action Type: | Update Program Setting |
###Parameters:###
Setting Name: | [:settingName] |
Setting Value: | [:settingValue] |
Update Type: | Update |
Is Local: | True |
##Action to Execute Automation Command
We need this so we can run the JScript as a background Task.
##BATT ExecAMC [Execute Automation Command]
(Action)##
Action Name: | BATT ExecAMC |
Action Type: | Execute Automation Command |
###Parameters:###
Automation Command Name: | [:AMCname] |
Command Value: | [:AMCvalue] |
Background: | [:runBG] |
Delay: | [:delay] |
##Action to update Application Subtitle …
##AST Update Application Subtitle [Update Application Subtitle]
(Action)##
Action Name: | AST Update Application Subtitle |
Action Type: | Update Application Subtitle |
###Parameters:###
Title Location: | Shell Header |
Title: | [:content] |
Background: | [:bg] |
Height: | [:height] |
Refresh Asnyc: | [:refreshAsync] |
##Rule to capture Trigger
##BATT Trigger [Trigger Executed]
(Rule)##
Rule Name: | BATT Trigger |
Event Name: | Trigger Executed |
Rule Tags: |
|
Custom Constraint List (1):
Trigger Name | Equals | BATT Trigger |
##Actions (1):##
BATT ExecAMC
Constraint: (none)
AMCname: | BATT Update |
AMCvalue: | |
runBG: | True |
delay: | 0 |
##Mappings##
Terminal | User Role | Department | Ticket Type |
* | * | * | * |
##Rule to handle Automation Command and update Subtitle …
##BATT Update [Automation Command Executed]
(Rule)##
Rule Name: | BATT Update |
Event Name: | Automation Command Executed |
Rule Tags: |
|
Custom Constraint List (1):
Automation Command Name | Equals | BATT Update |
##Actions (2):##
BATT Store Level
Constraint: (none)
settingName: | BatteryLevel |
settingValue: | {CALL:pshell.batt()} |
AST Update Application Subtitle
Constraint: (none)
content: |
(see below)
|
bg: | |
height: | |
refreshAsync: | |
content:
<size 18><font Consolas><color Yellow>BATT:{SETTING:BatteryLevel}%</color></font></size>
##Mappings##
Terminal | User Role | Department | Ticket Type |
* | * | * | * |