Notificator Tabajara 3000

Não tem coisa mais chata do que esperar algum processo demorado terminar, naturalmente vou fazer outra coisa (normalmente não tão emocionante quanto meus vizinihos), mas aí ou acabo esquecendo de verificar se o negócio terminou, ou fico neurótico olhando o tempo todo. Pra acabar com essa besteira fiz um notificador em Python [source]:

import dbus
import sys
if len(sys.argv) > 1: id = '"%s" is done.' % sys.argv[1]
else: id = 'Whatever it is, it\'s done.'
my_bus = dbus.SessionBus()
proxy = my_bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications')
notifier = dbus.Interface(proxy, 'org.freedesktop.Notifications')
notifier.Notify('Notificator', 0, '/usr/share/icons/Tango/scalable/emotes/face-monkey.svg', 'Work done!', id, '', {}, 5000)

A idéia é chamá-lo junto com o processo demorado:

$ find ~ -name "*" ; notificator.py

Então, quando você menos esperar, esse macaco vai pular na sua cara:

Work Done!

Como se pode ver pelo código, você também pode acrescentar informação sobre qual processo terminou:

$ find ~ -name "*" ; notificator.py “find command”

Agora, meu jabá: veja mais no artigo sobre DBus no site do CInLUG.

5 pensamentos sobre “Notificator Tabajara 3000

  1. Outra coisa: você pode usar argumentos do tipo (sem modificar o programa):

    comando && notificator.py “sucesso” || notificator.py “erro”

    Se o comando não retornar 0, ele vai mostrar a msg “erro”.

    Abraço

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s