Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e3f307b2d64ac40902acde0a7ffb2e6e > files > 38

contextkit-0.5.15-2.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 8.4.5" />
<title>Core Context Properties</title>
<style type="text/css">
/* Debug borders */
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
/*
  border: 1px solid red;
*/
}

body {
  margin: 1em 5% 1em 5%;
}

a {
  color: blue;
  text-decoration: underline;
}
a:visited {
  color: fuchsia;
}

em {
  font-style: italic;
  color: navy;
}

strong {
  font-weight: bold;
  color: #083194;
}

tt {
  color: navy;
}

h1, h2, h3, h4, h5, h6 {
  color: #527bbd;
  font-family: sans-serif;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3;
}

h1, h2, h3 {
  border-bottom: 2px solid silver;
}
h2 {
  padding-top: 0.5em;
}
h3 {
  float: left;
}
h3 + * {
  clear: left;
}

div.sectionbody {
  font-family: serif;
  margin-left: 0;
}

hr {
  border: 1px solid silver;
}

p {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

ul, ol, li > p {
  margin-top: 0;
}

pre {
  padding: 0;
  margin: 0;
}

span#author {
  color: #527bbd;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 1.1em;
}
span#email {
}
span#revnumber, span#revdate, span#revremark {
  font-family: sans-serif;
}

div#footer {
  font-family: sans-serif;
  font-size: small;
  border-top: 2px solid silver;
  padding-top: 0.5em;
  margin-top: 4.0em;
}
div#footer-text {
  float: left;
  padding-bottom: 0.5em;
}
div#footer-badges {
  float: right;
  padding-bottom: 0.5em;
}

div#preamble {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
div.admonitionblock {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}

div.content { /* Block element content. */
  padding: 0;
}

/* Block element titles. */
div.title, caption.title {
  color: #527bbd;
  font-family: sans-serif;
  font-weight: bold;
  text-align: left;
  margin-top: 1.0em;
  margin-bottom: 0.5em;
}
div.title + * {
  margin-top: 0;
}

td div.title:first-child {
  margin-top: 0.0em;
}
div.content div.title:first-child {
  margin-top: 0.0em;
}
div.content + div.title {
  margin-top: 0.0em;
}

div.sidebarblock > div.content {
  background: #ffffee;
  border: 1px solid silver;
  padding: 0.5em;
}

div.listingblock > div.content {
  border: 1px solid silver;
  background: #f4f4f4;
  padding: 0.5em;
}

div.quoteblock {
  padding-left: 2.0em;
  margin-right: 10%;
}
div.quoteblock > div.attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock {
  padding-left: 2.0em;
  margin-right: 10%;
}
div.verseblock > div.content {
  white-space: pre;
}
div.verseblock > div.attribution {
  padding-top: 0.75em;
  text-align: left;
}
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
div.verseblock + div.attribution {
  text-align: left;
}

div.admonitionblock .icon {
  vertical-align: top;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: underline;
  color: #527bbd;
  padding-right: 0.5em;
}
div.admonitionblock td.content {
  padding-left: 0.5em;
  border-left: 2px solid silver;
}

div.exampleblock > div.content {
  border-left: 2px solid silver;
  padding: 0.5em;
}

div.imageblock div.content { padding-left: 0; }
span.image img { border-style: none; }
a.image:visited { color: white; }

dl {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
dt {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-style: normal;
  color: navy;
}
dd > *:first-child {
  margin-top: 0.1em;
}

ul, ol {
    list-style-position: outside;
}
ol.arabic {
  list-style-type: decimal;
}
ol.loweralpha {
  list-style-type: lower-alpha;
}
ol.upperalpha {
  list-style-type: upper-alpha;
}
ol.lowerroman {
  list-style-type: lower-roman;
}
ol.upperroman {
  list-style-type: upper-roman;
}

div.compact ul, div.compact ol,
div.compact p, div.compact p,
div.compact div, div.compact div {
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

div.tableblock > table {
  border: 3px solid #527bbd;
}
thead {
  font-family: sans-serif;
  font-weight: bold;
}
tfoot {
  font-weight: bold;
}
td > div.verse {
  white-space: pre;
}
p.table {
  margin-top: 0;
}
/* Because the table frame attribute is overriden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
  border-style: none;
}
div.tableblock > table[frame="hsides"] {
  border-left-style: none;
  border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
  border-top-style: none;
  border-bottom-style: none;
}


div.hdlist {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
div.hdlist tr {
  padding-bottom: 15px;
}
dt.hdlist1.strong, td.hdlist1.strong {
  font-weight: bold;
}
td.hdlist1 {
  vertical-align: top;
  font-style: normal;
  padding-right: 0.8em;
  color: navy;
}
td.hdlist2 {
  vertical-align: top;
}
div.hdlist.compact tr {
  margin: 0;
  padding-bottom: 0;
}

.comment {
  background: yellow;
}

@media print {
  div#footer-badges { display: none; }
}

div#toctitle {
  color: #527bbd;
  font-family: sans-serif;
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 1.0em;
  margin-bottom: 0.1em;
}

div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
  margin-top: 0;
  margin-bottom: 0;
}
div.toclevel2 {
  margin-left: 2em;
  font-size: 0.9em;
}
div.toclevel3 {
  margin-left: 4em;
  font-size: 0.9em;
}
div.toclevel4 {
  margin-left: 6em;
  font-size: 0.9em;
}
/* Workarounds for IE6's broken and incomplete CSS2. */

div.sidebar-content {
  background: #ffffee;
  border: 1px solid silver;
  padding: 0.5em;
}
div.sidebar-title, div.image-title {
  color: #527bbd;
  font-family: sans-serif;
  font-weight: bold;
  margin-top: 0.0em;
  margin-bottom: 0.5em;
}

div.listingblock div.content {
  border: 1px solid silver;
  background: #f4f4f4;
  padding: 0.5em;
}

div.quoteblock-attribution {
  padding-top: 0.5em;
  text-align: right;
}

div.verseblock-content {
  white-space: pre;
}
div.verseblock-attribution {
  padding-top: 0.75em;
  text-align: left;
}

div.exampleblock-content {
  border-left: 2px solid silver;
  padding-left: 0.5em;
}

/* IE6 sets dynamically generated links as visited. */
div#toc a:visited { color: blue; }
</style>
</head>
<body>
<div id="header">
<h1>Core Context Properties</h1>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>This is the list of the core contextual properties of the Maemo
platform.</p></div>
<div class="paragraph"><p>This document is maintained as part of the <tt>contextkit</tt> package.
Please report change requests as bugs against the <tt>contextkit</tt>
package.</p></div>
<div class="paragraph"><p><strong>NOTE:</strong> Most of these properties are unstable and their definition will
change for some time still.  Only the ones explicitly marked as stable
should be used for now.</p></div>
</div>
</div>
<h2 id="_display_screens">Display screens</h2>
<div class="sectionbody">
<div class="paragraph"><p>These properties talk about the display screens of the device.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Screen.TopEdge</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
The edge of the main display screen where the user expects
the top-most UI elements to be.  Possible values are the
strings "top", "bottom", "left", and "right", which refer to
the edges of the screen in its normal orientation as defined
by the graphics hardware.  <em>(stable)</em>
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
top
<br />
bottom
<br />
left
<br />
right
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
<tr>
<td class="hdlist1">
<strong>Screen.IsCovered</strong> (<a href="core-types.html#type-bool">bool</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
Whether or not the main display screen is covered and can thus not be
seen by the user.  This might mean that the device is laying face down
on a table, or that its lid is closed if it has one.  <em>(stable)</em>
</p>
</td>
</tr>
</dl></div>
</div>
<h2 id="_location">Location</h2>
<div class="sectionbody">
<div class="paragraph"><p>Best effort location information. If any of the keys are not
appliciable to the current location, they will be unavailable.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Location.SatPositioningState</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
Status of the connection to a satellite positioning
      system e.g. GPS.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
on
<br />
off
<br />
search
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
<tr>
<td class="hdlist1">
<strong>Location.Coordinates</strong> (List of <em><a href="core-types.html#type-number">number</a></em>s)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The coordinates of the current position as a list of two or three
doubles.  The first two elemets are latitude and longitude,
respectivly, in degrees.  The third element, when present, is the
altitude in meter.
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Location.Heading</strong> (<a href="core-types.html#type-number">number</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The deviation, in degrees (0-360), from the geographical north.
</p>
</td>
</tr>
</dl></div>
</div>
<h2 id="_position">Position</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the physical position of the device.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Position.Stable</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not the position of the device is
stable, i.e., the device does not move.
</p>
</dd>
<dt class="hdlist1">
<strong>Position.Shaky</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not the device is moving rapidly. Not
necessarily the opposite of Position.Stable; both may be false
simultaneously.
</p>
</dd>
</dl></div>
</div>
<h2 id="_battery">Battery</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the batteries of the device.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Battery.ChargePercentage</strong> (<a href="core-types.html#type-percentage">percentage</a>)
</dt>
<dd>
<p>
The average charge level of the currently connected batteries.
Expressed as percentage of the maximum charge level.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.ChargeBars</strong> (List of <em><a href="core-types.html#type-number">number</a></em>s)
</dt>
<dd>
<p>
The charge bars property is a list of two integers.  The first is the remaining
capacity as number of bars, the second is the maximum number of battery bars.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.OnBattery</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Whether or not the device is currently running on battery power,
i.e., whether at least one of its batteries is currently discharging.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.LowBattery</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Whether or not the device is currently running on low battery power.
True if OnBattery is true and the charge levels of all
batteries are below 10%.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.IsCharging</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Whether or not the device is currently charging at least one of its batteries.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.TimeUntilLow</strong> (<a href="core-types.html#type-duration">duration</a>)
</dt>
<dd>
<p>
Estimates the time that the device can run on battery before the property
OnLowBattery becomes true. In seconds.
</p>
</dd>
<dt class="hdlist1">
<strong>Battery.TimeUntilFull</strong> (<a href="core-types.html#type-duration">duration</a>)
</dt>
<dd>
<p>
Estimates the needed charging time of the device. In seconds.
</p>
</dd>
</dl></div>
</div>
<h2 id="_system">System</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the current state of the device.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>System.PowerSaveMode</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not power save mode is enabled.
</p>
</dd>
</dl></div>
</div>
<h2 id="_internet_connectivity">Internet connectivity</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the connection of the devide to the Internet.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Internet.NetworkType</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
The type of the current connection to the Internet.  This is one of
the strings "WLAN", "wimax", "GPRS", "bluetooth", "ethernet", or
"usb".  (From ConnMan.  New types might be defined in the future, of
course.)
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
WLAN
<br />
wimax
<br />
GPRS
<br />
bluetooth
<br />
ethernet
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
<tr>
<td class="hdlist1">
<strong>Internet.NetworkName</strong> (<a href="core-types.html#type-string">string</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The name of the current network.
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Internet.NetworkState</strong> (Enumeration of <em>string</em>s)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The state of the Internet connection, as one of "connected",
      "disconnected", and "connecting".
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
disconnected
<br />
connecting
<br />
connected
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Internet.SignalStrength</strong> (<a href="core-types.html#type-percentage">percentage</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The signal strength of the current connection to the Internet. For
example, when Internet.NetworkType is "cellular", this is the signal
strength at the cellular radio, when it is "wifi", it is the signal
strength at the WLAN radio.
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Internet.TrafficOut</strong> (<a href="core-types.html#type-percentage">percentage</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
A rough indication of the current traffic rate to the Internet, in
percent of the maximum possible rate.
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Internet.TrafficIn</strong> (<a href="core-types.html#type-percentage">percentage</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
A rough indication of the current traffic rate from the Internet, in
percent of the maximum possible rate.
</p>
</td>
</tr>
</dl></div>
</div>
<h2 id="_bluetooth">Bluetooth</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about Bluetooth related things.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Bluetooth.Enabled</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not the Bluetooth radio is enabled.
</p>
</dd>
<dt class="hdlist1">
<strong>Bluetooth.Visible</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not the device is visible to other
Bluetooth devices when they search for others.
</p>
</dd>
<dt class="hdlist1">
<strong>Bluetooth.Connected</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
A boolean indicating whether or not the device is connected to a
Bluetooth device. At least one remote device is connected.
</p>
</dd>
</dl></div>
</div>
<h2 id="_cellular">Cellular</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the cellular radio.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Cellular.NetworkName</strong> (<a href="core-types.html#type-string">string</a>)
</dt>
<dd>
<p>
The name of the cellular network.
</p>
</dd>
<dt class="hdlist1">
<strong>Cellular.SignalStrength</strong> (<a href="core-types.html#type-percentage">percentage</a>)
</dt>
<dd>
<p>
The signal strength at the cellular radio, in percent of the maximum.
</p>
</dd>
<dt class="hdlist1">
<strong>Cellular.Technology</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
The currently used Radio Access Technology.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
gsm
<br />
umts
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
<tr>
<td class="hdlist1">
<strong>Cellular.DataTechnology</strong> (Enumeration of <em>string</em>s)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The currently used Radio Access Technology for data transfer.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
gprs
<br />
egprs
<br />
umts
<br />
hspa
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Cellular.RegistrationStatus</strong> (Enumeration of <em>string</em>s)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The current cellular network registration status.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
home
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
Registered with the home network
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
roam
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
Roaming
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
no-sim
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
No SIM card is present
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
offline
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
Cellular radio is powered off
</p>
</td>
</tr>
<tr>
<td class="hdlist1">
forbidden
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
Cellular access is denied, e.g., because of invalid SIM
</p>
</td>
</tr>
</table></div>
</td>
</tr>
<tr>
<td class="hdlist1">
<strong>Cellular.CellName</strong> (<a href="core-types.html#type-string">string</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
The broadcast name of the current cell.
</p>
</td>
</tr>
</dl></div>
</div>
<h2 id="_user_alarms">User alarms</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the alams set by the user. We assume, that the user
can disable or enable all the alarms. In addition, the user can enable
or disable each alarm individually.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Alarm.Present</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Indicates whether there is an upcoming alarm set by the user. Can be
      true even if alarms are disabled.
</p>
</dd>
<dt class="hdlist1">
<strong>Alarm.Trigger</strong> (Map)
</dt>
<dd>
<p>
Trigger time of all alarm events. The keys of the map are decimal
      representations of the alarm cookies. A value is the next trigger time of
      the event in nano-seconds from the UNIX epoch.
</p>
</dd>
</dl></div>
</div>
<h2 id="_environment">Environment</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the environment the device is in.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Environment.IsDark</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Whether or not it is especially dark.
</p>
</dd>
<dt class="hdlist1">
<strong>Environment.IsBright</strong> (<a href="core-types.html#type-bool">bool</a>)
</dt>
<dd>
<p>
Whether or not it is especially bright.
</p>
</dd>
</dl></div>
</div>
<h2 id="_profiles">Profiles</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the expected behavior of the device.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Profile.Name</strong> (<a href="core-types.html#type-string">string</a>)
</dt>
<dd>
<p>
The name of the currently active profile as a localized string.  You
should not try to interpret this string, it is only meant to be
displayed as a reminder to the user.
</p>
</dd>
</dl></div>
</div>
<h2 id="_presence">Presence</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the end-user presence.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Presence.State</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
The most meaningful presence status for the user throughout the services.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
busy
<br />
available
<br />
away
<br />
offline
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
</dl></div>
</div>
<h2 id="_phone">Phone</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the phone states.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Phone.Call</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
A string indicaiting the telephony state on the device.
      It covers various telephony technologies e.g. VoIP.
</p>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
inactive
<br />
ringing
<br />
active
<br />
knocking
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</dd>
<tr>
<td class="hdlist1">
<strong>Phone.Muted</strong> (<a href="core-types.html#type-bool">bool</a>)
<br />
</td>
<td class="hdlist2">
<p style="margin-top: 0;">
A boolean indicating whether or not inputs are muted.
</p>
</td>
</tr>
</dl></div>
</div>
<h2 id="_session">Session</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about the current user session.  If there is no current
session, all values are null.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Session.State</strong> (Enumeration of <em>string</em>s)
</dt>
<dd>
<p>
The state of the current session, as string valued enumeration.
</p>
</dd>
</dl></div>
<div class="paragraph"><p>The session is in the "normal" state when the normal desktop UI
components such as the panel, desktop icons, taskbars, notification
areas and status menus are available to the user.</p></div>
<div class="paragraph"><p>The session goes to the "blanked" state when the user stops
interacting with it and the the screen is blanked.  In general, there
is no point in trying to interact with the user when the session is
blanked.</p></div>
<div class="paragraph"><p>The session is in the "fullscreen" state when the complete screen has
been given to an application, such as full-screen video playback.  In
that state, the notification areas and status menus, etc of the
desktop aren&#8217;t visible to the user, of course, and notifications
should be unintrusive and important.</p></div>
<div class="paragraph"><p>Applications should be prepared to see all states in any kind of order
without getting confused.</p></div>
<div class="paragraph"><p>+</p></div>
<div class="paragraph"><p>Possible enumeration values:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
normal
<br />
fullscreen
<br />
blanked
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</div>
<h2 id="_media">Media</h2>
<div class="sectionbody">
<div class="paragraph"><p>Information about media related activity.</p></div>
<div class="dlist"><dl>
<dt class="hdlist1">
<strong>Media.NowPlaying</strong> (Map)
</dt>
<dd>
<p>
The currently playing media, such as a video or audio track.  The
value is a dictionary with the listed entries.  If "resource" is
included, then "title", "artist", "genre", and "album" are consistent
with what Tracker has stored.
</p>
</dd>
</dl></div>
<div class="paragraph"><p>The current position in the media is always "current-time -
start-time".  If the user seeks then that is expressed by changing
"start-time".  In other words, "start-time" is not the point in time
when the user has clicked the play button, it is the point in time
when the media would have had to start to play uninterrupted to reach
its current position now.  This slight complication is done in favor
of transmitting the position directly to avoid telling you once every
second that it is now one second later.</p></div>
<div class="paragraph"><p>+</p></div>
<div class="paragraph"><p>Possible map keys:</p></div>
<div class="hdlist"><table>
<tr>
<td class="hdlist1">
resource
<br />
title
<br />
artist
<br />
genre
<br />
album
<br />
duration
<br />
start-time
<br />
state
<br />
</td>
<td class="hdlist2">
</td>
</tr>
</table></div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2011-02-08 11:44:39 UTC
</div>
</div>
</body>
</html>