N900 Mission Control

From Maemo Wiki
Revision as of 23:31, 27 July 2010 by imported>magick777 (N900 Mission Control)
Jump to navigationJump to search

N900 Mission Control

This page aims to document the Mission Control interface on the Nokia N900, as several things have changed since earlier versions of Maemo and previous instructions for e.g. setting presence no longer work as expected.

It is actively a work in progress as of late July / early August 2010.

Accessing osso-mission-control

Install mc-tool

mc-tool is not installed by default on the N900, but it is available as part of the package libmissioncontrol-utils.

dbus

Example scripts

Set all SIP accounts to online or offline

Requires "libmissioncontrol-utils"

/usr/bin/siponline

<source lang="bash">

  1. !/bin/sh

mc-tool list | grep "sofiasip" | awk {'print "mc-tool request "$1" online"'} | sh </source>

/usr/bin/sipoffline

<source lang="bash">

  1. !/bin/sh

mc-tool list | grep "sofiasip" | awk {'print "mc-tool request "$1" offline"'} | sh </source>

/usr/bin/im-connections

Simple script that will allow you to individually control each account (you must update the LIST variable with your actual accounts (get the names from "mc-tool list") - and update the menu accordingly.

<source lang="bash">

  1. !/bin/sh
  2. Change status of IM accounts on N900

LIST="haze/yahoo/your_account haze/aim/your_account"

modify() {

   ACCOUNT=$1
   STATE=$2
   echo -n "setting account to $STATE: "
   /usr/bin/mc-tool request $ACCOUNT $STATE
   if [ $? = 0 ]; then
       echo "[OK]"
   else
       echo "[FAIL]"
       exit 1
   fi
   exit 0

}

choose() {

   ACCOUNT=$1
   echo "[1] online

[2] offline"

   echo -n "select state: "
   read STATE
   if [ "$STATE" = "1" ]; then
       modify $ACCOUNT "available"
   elif [ "$STATE" = "2" ]; then
       modify $ACCOUNT "offline"
   else 
       echo "incorrect choice"
       exit 1
   fi

}

echo "[1] your_account - yahooIM [2] your_acount - AIM [2] ALL ACCOUNTS - show status [3] ALL ACCOUNTS - online [4] ALL ACCOUNTS - offline"

echo -n "select account: " read r

if [ "$r" = "1" ]; then

   choose "haze/yahoo/your_account"

elif [ "$r" = "2" ]; then

   choose "haze/aim/your_account"

elif [ "$r" = "2" ]; then

   echo "showing status of all accounts"
   for each in $LIST; do
       /usr/bin/mc-tool show $each
   done

elif [ "$r" = "3" ]; then

   for each in $LIST; do
       echo -n "setting '$each' to online: "
       /usr/bin/mc-tool request $each available
       if [ $? = 0 ]; then
           echo "[OK]"
       else
           echo "[FAIL]"
       fi
   done

elif [ "$r" = "4" ]; then

   for each in $LIST; do
       echo -n "setting '$each' to offline: "
       /usr/bin/mc-tool request $each offline
       if [ $? = 0 ]; then
           echo "[OK]"
       else
           echo "[FAIL]"
       fi
   done

fi