I found a way which works for me.
As soon as I unlock the screen the task list of evolution is shown.
I used a small Python script to do this:
import os
import dbus
from dbus.mainloop.glib import DBusGMainLoop
import gobject
import wnck
import gtk
import pyatspi
# called when screen is locked/unlocked
def handler(active=None):
if active == 0:
# screen is unlocked
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
# activate the window whose name ends in 'Evolution'
for window in screen.get_windows():
if not window.get_name().endswith('Evolution'):
continue
window.activate(gtk.get_current_event_time())
# press Ctrl, press&release 4, release Ctrl
pyatspi.Registry.generateKeyboardEvent(37, None, pyatspi.KEY_PRESS)
pyatspi.Registry.generateKeyboardEvent(13, None, pyatspi.KEY_PRESSRELEASE)
pyatspi.Registry.generateKeyboardEvent(37, None, pyatspi.KEY_RELEASE)
loop = DBusGMainLoop(set_as_default=True)
# connect to dbus message
bus = dbus.SessionBus()
ss = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver')
ss.connect_to_signal('ActiveChanged', handler, dbus_interface='org.gnome.ScreenSaver')
# loop forever
loop = gobject.MainLoop()
loop.run()
The script is run in the background when I login.