Linux Evolution 任务列表提醒器

Linux Evolution 任务列表提醒器

我在 evolution 中保存了任务列表(主要是为了与我的手机和在线任务列表同步),但我总是忘记查看任务列表。是否有应用程序或插件可以定期显示任务列表的内容,或者更好的是,在我登录时简要显示最紧急/最重要的任务?或者任何其他可以自动显示最重要任务的东西。

目前我必须打开任务列表并查看它们(我经常忘记)。我的意思不是在任务到期时发出某种警报,而是每天提醒自己要做什么。

答案1

这是启动 Evolution 时显示任务列表的一种方法。

  1. 安装 xdotool

    apt-get -y install xdotool
    
  2. 创建一个名为 evo.sh 的脚本,包含以下命令

    !/bin/bash
    evolution &
    sleep 5
    evowin=`xdotool search --name "Evolution" | head -2 | tail -1`
    xdotool windowactivate $evowin
    xdotool key ctrl+4
    exit
    
  3. 使脚本可执行

    chmod u+x evo.sh
    
  4. 运行 evo.sh

    ./evo.sh
    

巨大的成功!

答案2

也许你可以看看http://ubuntuforums.org/archive/index.php/t-812307.html 似乎有一种方法可以使用“警报”功能来实现这一点。

答案3

我找到了一种适合我的方法。

我一解锁屏幕,就会显示进化的任务列表。

我使用一个小的 Python 脚本来执行此操作:

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()

当我登录时,该脚本在后台运行。

相关内容