change gtk.Entry into gtk.TextView
[minibook.git] / minibook.py
blobc43663f3974916023fac2572d20c24cbdcaa927c
1 #!/usr/bin/env python
2 """ Minibook: the Facebook(TM) status updater
3 (C) 2009 Gergely Imreh <imrehg@gmail.com>
4 """
6 import pygtk
7 pygtk.require('2.0')
8 import gtk
9 from facebook import Facebook
11 class MainWindow:
12 def enter_callback(self, widget, entry):
13 entry_text = entry.get_buffer().get_text()
14 print "Entry contents: %s\n" % entry_text
16 def sendupdate(self):
17 textfield = self.entry.get_buffer()
18 start = textfield.get_start_iter()
19 end = textfield.get_end_iter()
20 entry_text = textfield.get_text(start, end)
21 if entry_text != "" :
22 print "Sent entry contents: %s\n" % entry_text
23 self._facebook.status.set([entry_text],[self._facebook.uid])
25 textfield.set_text("")
27 def __init__(self,facebook):
28 # create a new window
29 window = gtk.Window(gtk.WINDOW_TOPLEVEL)
30 window.set_size_request(400, 100)
31 window.set_title("Minibook")
32 window.connect("delete_event", lambda w,e: gtk.main_quit())
34 vbox = gtk.VBox(False, 0)
35 window.add(vbox)
36 vbox.show()
38 label = gtk.Label("What's on your mind?")
39 vbox.pack_start(label, True, True, 0)
40 label.show()
42 self.entry = gtk.TextView()
43 vbox.pack_start(self.entry, True, True, 0)
44 self.entry.show()
46 hbox = gtk.HBox(False, 0)
47 vbox.add(hbox)
48 hbox.show()
50 button = gtk.Button(stock=gtk.STOCK_CLOSE)
51 button.connect("clicked", lambda w: gtk.main_quit())
52 hbox.pack_start(button, True, True, 0)
53 button.set_flags(gtk.CAN_DEFAULT)
54 button.grab_default()
55 button.show()
57 button = gtk.Button(stock=gtk.STOCK_ADD)
58 button.connect("clicked", lambda w: self.sendupdate())
59 hbox.pack_start(button, True, True, 0)
60 button.set_flags(gtk.CAN_DEFAULT)
61 button.grab_default()
62 button.show()
64 window.show()
65 self._facebook = facebook
67 self._app_icon = 'minibook.png'
68 self._systray = gtk.StatusIcon()
69 self._systray.set_from_file(self._app_icon)
70 self._systray.set_visible(True)
72 def main(facebook):
73 facebook.auth.createToken()
74 facebook.login()
76 facebook.auth.getSession()
77 print 'Session Key: ', facebook.session_key
78 print 'Your UID: ', facebook.uid
80 gtk.main()
81 return 0
83 if __name__ == "__main__":
84 config_file = open("config", "r")
85 api_key = config_file.readline()[:-1]
86 secret_key = config_file.readline()[:-1]
87 facebook = Facebook(api_key,secret_key)
88 MainWindow(facebook)
89 main(facebook)