that doesn't suck and ought to be in the masterLibrary, or whatever it's called.
On Sun, Mar 1, 2015 at 1:04 PM, Peter M. Brigham <pmb...@gmail.com> wrote: > Just closing the loop on this one (the power source of a laptop). (Calling > Richard Gaskin re the Linux case...) > > -- Peter > > Peter M. Brigham > pmb...@gmail.com > http://home.comcast.net/~pmbrig > > --------- > > function getPowerSource > -- returns the current power source for a laptop > -- "AC" or "Battery" > -- requires caseSwitch() > switch the platform > case "MacOS" > -- thanks to Martin Koob, use-LC list > put shell ("pmset -g batt") into tSource > -- returns something like: > -- Currently drawing from 'AC Power' > -- -InternalBattery-0 99%; finishing charge; 0:00 > remaining > return char 2 to -1 of word -2 of line 1 of tSource > break > case "Win32" > -- thanks to Bob Sneidar, use-LC list > -- someone with a Windows machine should test this case > put shell("WMIC Path Win32_Battery GetAvailability") into tSource > -- Line 3 will contain 2 if the battery is charging, 3 if running > on battery > put line 3 of tSource into tStatus > return caseSwitch(tStatus,"3=Battery","*=AC") > break > default > -- Linux awaiting Richard Gaskin... > end switch > end getPowerSource > > function caseSwitch > -- does a quick inline switch/case > -- param 1 is checkValue > -- params 2+ are in the form matchValue(s)>=<returnValue > -- separate multiple matcheValues with commas > -- and enclose each matchValue=returnValue pair in quotes > -- if checkValue matches one or more items in matchValue(s), > -- returns returnValue > -- note that checkValue should NOT be enclosed in quotes > -- use a matchValue of "*" to specify a default value, > -- to be returned if no matches found in the list > -- if the default is "*=*" then no match returns the original > <checkValue> > -- if no match and no default value specified, then returns empty > -- usage: > -- put caseSwitch(len(tZip),"5=zip","10=zip+4","*=not a zip code") \ > -- into zipCodeType > -- from Ken Ray, use-LC list, originally named stsSwitch() > > put param(1) into tCheckValue > set the itemDel to "=" > put "" into tDefault > repeat with x = 2 to the paramCount > put param(x) into tCheck > put item 1 of tCheck into tMatch > put item 2 of tCheck into tRetVal > replace "," with "=" in tMatch > if tCheckValue is among the items of tMatch then return tRetVal > if tMatch = "*" then > if tRetVal = "*" then > put tCheckValue into tDefault > else > put tRetVal into tDefault > end if > end if > end repeat > return tDefault > end caseSwitch > > ---------- > > On Feb 21, 2015, at 2:59 AM, Richard Gaskin wrote: > > > Peter M. Brigham wrote: > > > >> Just out of curiosity, how *would* you do this via shell call or > >> the equivalent on a Windows laptop? > > > > Good question. > > > > Thanks to the beautiful simplicity of the Linux /proc directory I was > able to find: > > > > cat /proc/acpi/battery/BAT1/state > > > > The "charging state" field there will contain "charging" or > "discharging". > > > > Now if we can turn up a Win command line solution I'll write a handler > for this that'll make it convenient to get this info on all three platforms. > > > > Martin, thanks for handling the Mac side - nice work. > > > > > >> On Feb 20, 2015, at 11:19 AM, Martin Koob wrote: > >> > >>> Hi Richard > >>> > >>> I noticed in your bug report was for Mac so till that enhancement gets > >>> implemented you could use this. > >>> > >>> function powerStatus > >>> put shell ("pmset -g batt") into tPowerStatus > >>> put matchtext(tPowerStatus, "'([^']*)",tPowerSource) into tSuccess > >>> return tPowerSource > >>> end powerStatus > > > > > > > > -- > > Richard Gaskin > > Fourth World Systems > > Software Design and Development for Desktop, Mobile, and Web > > ____________________________________________________________ > > ambassa...@fourthworld.com http://www.FourthWorld.com > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode@lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > -- On the first day, God created the heavens and the Earth On the second day, God created the oceans. On the third day, God put the animals on hold for a few hours, and did a little diving. And God said, "This is good." _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode