pedrotuga Posted May 23, 2008 at 09:16 PM Report Share #186996 Posted May 23, 2008 at 09:16 PM O tomboy é uma aplicação para tirar notas pessoais que recentemente tem sido distribuida com o Gnome. Eu uso o tomboy de forma quase obsessiva, tomo nota de tudo e mais alguma coisa. Tirar notas de tudo é fixe, mas acabamos por ficar com uma carrada de notas que nunca usamos mas que podem eventualmente passados uns meses ou anos ser precisas. A solução para este problema é uma invenção criada há milhares de anos pela humanidade: um arquivo! Ora o tomboy não vem com nenhuma funcionalidade que permita isso, então decidi eu fazer uma. Como eu queria uma solução rápida em vez de um projecto que necessitasse manutenção, o melhor caminho foi mesmo usar o interface dbus do tomboy. Dbus é um protocolo de comunicação entre aplicações de um desktop. Fiquei maravilhado ao descobrir que há formas bem desenvolvidas de deixar uma aplicação acessível para alem do seu GUI. Dbus rocks! A solução que encontrei foi: escrever um script que cria uma nota que contem um link para cada uma das outras notas. Assim, quando se exporta a nota-indice para HTML, como ela tem um link para cada outra nota existente, o conteudo destas tambem vai ser exportado para o mesmo HTML, é assm que o export do tomboy funciona. O script maravilha segue: #!/usr/bin/env python # # This script creates a tomboy note containing link to each other note # so one can easily export all the notes to an HTML file import dbus note_title = "Note Index" # Get the D-Bus session bus bus = dbus.SessionBus() # Access the Tomboy D-Bus object obj = bus.get_object("org.gnome.Tomboy","/org/gnome/Tomboy/RemoteControl") # Access the Tomboy remote control interface tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl") notes_links = "" for note in tomboy.ListAllNotes(): notes_links += tomboy.GetNoteTitle(note) + " \n" uri = tomboy.FindNote(note_title) if uri == "": uri = tomboy.CreateNamedNote(note_title) tomboy.SetNoteContents(uri, note_title + "\n\n" + notes_links) Isto não é tão prático quanto eu desejava. Mas o export não está acessível a partir do interface dbus do tomboy, pelo que a única forma de conseguir um arquivo imediato só com um click é criar um addin, mas para isso tinha que me instalar o mono e aprender a usar a tecnologia .net. Talvez no futuro o faça, agora não estou muito praí virado. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now