--- /dev/null
+im-away encoding=koi8-r
+im-busy encoding=koi8-r
+im-eat encoding=koi8-r
+im-invisible encoding=koi8-r
+im-movie encoding=koi8-r
+im-na encoding=koi8-r
+im-offline encoding=koi8-r
+im-online encoding=koi8-r
+im-phone encoding=koi8-r
+im-reading encoding=koi8-r
+im-tea encoding=koi8-r
--- /dev/null
+#! /bin/sh
+
+if [ "$1" ]; then
+ ID="$1"
+else
+ echo "Usage: $0 email" >&2
+ exit 1
+fi
+
+wget -Y off -O - -q "http://status.mail.ru/?$ID" | xli stdin
--- /dev/null
+#! /bin/sh
+
+if [ "$1" ]; then
+ uin="$1"
+else
+ echo "Usage: $0 uin" >&2
+ exit 1
+fi
+
+wget -Y off -O - -q "http://status.icq.com/online.gif?icq=$uin&img=21" | xli stdin
+#wget -Y off -O - -q "http://status.icq.com/online.gif?web=$uin&img=1" | xli stdin
+#wget -Y off -O - -q "http://online.mirabilis.com/scripts/online.dll?icq=$uin&img=5" | xli stdin
+
+# online0.gif - Offline
+# online1.gif - Online
+# online2.gif - Unknown
--- /dev/null
+#! /usr/bin/env python
+
+import sys
+
+try:
+ uin = sys.argv[1]
+except IndexError:
+ sys.exit("Usage: %s uin" % sys.argv[0])
+
+url = "http://status.icq.com/online.gif?icq=%s&img=1" % uin
+
+import socket
+socket.setdefaulttimeout(30)
+
+import urllib
+protocol, request = urllib.splittype(url)
+host, path = urllib.splithost(request)
+host, port = urllib.splitport(host)
+path, tag = urllib.splittag(path)
+
+import httplib
+server = httplib.HTTP(host, port)
+
+server.putrequest("HEAD", path)
+server.putheader("Host", host)
+server.endheaders()
+
+status, reason, msg = server.getreply()
+if status == 302:
+ online = msg["Location"]
+else:
+ print >>sys.stderr, status, reason, msg
+ sys.exit(1)
+
+# Classify online status
+if online == "/1/online0.gif":
+ print "Offline"
+elif online == "/1/online1.gif":
+ print "Online"
+elif online == "/1/online2.gif":
+ print "Unknown/invisible"
+else:
+ print >>sys.stderr, "Unknown status", online
+ sys.exit(1)
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status away "Away / Отошёл"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status dnd "Working / Работаю"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status away "Eating / Ушёл поесть"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status invisible "Bye! Пока!"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status away "Watching a movie / Смотрю кино"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status xa "I'm not available / Ушёл"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status offline "Offline / Не в сети"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status online "Available / Я здесь"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status dnd "I'm on the phone / Говорю по телефону"
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status away "Reading / Читаю"
--- /dev/null
+#! /bin/sh
+
+case "$2" in
+ online)
+ status="available"
+ skype_status="online"
+ ;;
+
+ busy|dnd)
+ status="unavailable"
+ skype_status="dnd"
+ ;;
+
+ xa)
+ status="extended_away"
+ skype_status="na"
+ ;;
+
+ *) status="$2"
+ skype_status="$2"
+ ;;
+esac
+
+case "$LC_CTYPE" in
+ *KOI8-R)
+ title="$3"
+ status_msg="`echo \"$3\" | iconv -t utf-8`"
+ ;;
+
+ *)
+ title="`echo \"$3\" | iconv -f koi8-r`"
+ status_msg="$title"
+ ;;
+esac
+
+if [ "`gajim-remote check_gajim_running 2>/dev/null`" = True ]; then
+ gajim-remote change_status "$2" "$3"
+else
+ purple-remote "setstatus?status=$status&message=$status_msg"
+fi &&
+n900-status-wifi "$1" &&
+xtitle "$1" "$2" "$title" &&
+exec skype_status_mood.py "$skype_status" "$3" >/dev/null
--- /dev/null
+#! /bin/sh
+
+status="`basename \"$0\" | sed s/^im-//`" &&
+exec im-status.sh $status away "I'm enjoying a cup of tea / Пью чай"
--- /dev/null
+#! /bin/sh
+
+[ -S "$HOME"/.ssh/controls/root@n900-wifi:22 ] &&
+ ssh -4 root@n900-wifi "exec run-standalone.sh exec /usr/local/bin/im-$1"
+exit 0
--- /dev/null
+#! /bin/sh
+
+if [ "$1" ]; then
+ skype_name="$1"
+else
+ echo "Usage: $0 skype_name" >&2
+ exit 1
+fi
+
+wget -Y off -O - -q "http://mystatus.skype.com/smallicon/$skype_name" | xli stdin
+wget -Y off -O - -q "http://mystatus.skype.com/bigclassic/$skype_name" | xli stdin
--- /dev/null
+#!/usr/bin/python
+
+# Based on https://blog.arrington.me/2012/change-your-skype-mood-text-in-linux-with-python/
+# script to change Skype status, usage: skype_status_mood.py new_status [mood_text]
+
+# Copyright (c) 2010
+# Matthew M. Boedicker <matthewm@boedicker.org>
+#
+# In 2013 Oleg Broytman <phd@phdru.name> added ability to get/set mood text
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+# Valid statuses at https://developer.skype.com/Docs/ApiDoc/GET_USERSTATUS
+
+import dbus
+import sys
+
+bus = dbus.SessionBus()
+
+proxy = bus.get_object('com.Skype.API', '/com/Skype')
+
+commands = [
+ 'NAME skype_status_mood.py',
+ 'PROTOCOL 2'
+]
+
+stdin_encoding = sys.stdin.encoding
+if stdin_encoding is None:
+ stdin_encoding = 'utf-8'
+
+if len(sys.argv) >= 4:
+ sys.exit("Usage: %s [new_status [mood_text]]" % sys.argv[0])
+if len(sys.argv) >= 3:
+ commands.append(u'SET PROFILE MOOD_TEXT %s' % sys.argv[2].decode(stdin_encoding))
+if len(sys.argv) >= 2:
+ commands.append('SET USERSTATUS %s' % sys.argv[1])
+else:
+ commands.append('GET USERSTATUS')
+ commands.append('GET PROFILE MOOD_TEXT')
+
+stdout_encoding = sys.stdout.encoding
+if stdout_encoding is None:
+ stdout_encoding = 'utf-8'
+
+for command in commands:
+ print proxy.Invoke(command).encode(stdout_encoding)