self.display = Xlib.display.Display()
self.UseXTest = UseXTest
-
+
if UseXTest and not self.display.query_extension("XTEST") :
self.UseXTest = False
w.set_title("FingerScroll test")
w.show()
w.set_default_size(200,200)
-
+
sw = FingerScroll(); sw.show()
w.add(sw)
gtk.main()
-
w.set_title("FingerScroll test")
w.show()
w.set_default_size(200,200)
-
+
sw = FingerScroll(); sw.show()
w.add(sw)
l = f.readline()
gtk.main()
-
-
def press(self, c, ev):
self.tap(ev.x, ev.y)
-
+
def draw(self, w, ev):
# draw any field that is in the area
(x,y,w,h) = ev.area
def first_point(self, x, y):
self.line = [ [x, y] ]
self.bbox = BBox(Point(x,y))
-
+
def set_drag(self):
self.dragging = True
self.dragcall(self.line[0], self.line[-1], False)
['{','7','8','9','/','\\','}'],
['<','#','0','*','=','|','>'],
]
-
+
class TapBoard(gtk.VBox):
__gsignals__ = {
'key' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE,
base_images['common'][r*8+c] = im
self.base_images = base_images
-
+
fd = pango.FontDescription('sans 10')
fd.set_absolute_size(size / 1.5 * pango.SCALE)
self.modify_font(fd)
data = (32, [0,0,0,0,0])
)
msg.send_event = 1
- mask = (Xlib.X.SubstructureRedirectMask |
+ mask = (Xlib.X.SubstructureRedirectMask |
Xlib.X.SubstructureNotifyMask)
self.list.root.send_event(msg, event_mask = mask)
self.win.map()
data = (32, [0,0,0,0,0])
)
msg.send_event = 1
- mask = (Xlib.X.SubstructureRedirectMask |
+ mask = (Xlib.X.SubstructureRedirectMask |
Xlib.X.SubstructureNotifyMask)
self.list.root.send_event(msg, event_mask = mask)
self.list.display.flush()
-
+
class winlist:
def __init__(self, add_handle = None):
self.display = Xlib.display.Display()
self.root.change_attributes(event_mask = Xlib.X.PropertyChangeMask )
self.get_list()
-
+
def add_win(self, id):
if id in self.winfo:
self.change_handle = func
self.add_handle = add
self.del_handle = delete
-
+
if __name__ == '__main__':
w = winlist()
words = map(lambda a: a[0].strip('"')+a[1].strip("'")+a[2],
re.findall('("[^"]*")?(\'[^\']*\')?([^ "\'][^ "\']*)? *',
line))[:-1]
-
+
cmd = words[0].split('.', 1)
if len(cmd) == 1:
words[0] = "internal."+cmd[0]
self.present()
break
i += 1
-
+
def set_buttons(self, list):
if not list:
# hide the button boxes
def set_embed(self, widget, full):
if type(widget) == str:
widget, full = self.make_widget(widget)
-
+
if widget == self.embeded_widget and full == self.embeded_full:
return
if self.embeded_widget:
self.next_group = 0
self.grouplist.select(self.next_group)
self.next_group += 1
-
+
self.present()
def ev_activate(self, down, moment, typ, code, value):
self.read(self.job.stdout, None)
-
class calls(file):
# Monitor 'status' which can be
# INCOMING BUSY on-call or empty
def cjdone(self, *a):
self.cj.wait()
self.cj = None
-
+
def new_win(self, source, win):
if win.name == "Dialer":
self.dialer_win = win
dt, tm = when
self.when = time.strptime(dt+'='+tm, '%Y-%m-%d=%H:%M:%S')
self.secs = time.mktime(self.when)
-
+
if contacts == None:
contacts = contactdb.contacts()
if name == None:
clip_get_data, clip_clear_data, None)
-
class call_list:
- # A list of 'corresp' tasks taken from /var/log/incoming or
+ # A list of 'corresp' tasks taken from /var/log/incoming or
# /var/log/outgoing
def __init__(self, win, name, incoming = None):
self.win = win
def get_name(self):
- now = _time.time()
+ now = _time.time()
if self.timeout == None:
next_hour = int(now/60/60)+1
self.timeout = gobject.timeout_add(
self.owner = owner
def get_name(self):
- now = _time.time()
+ now = _time.time()
if self.timeout == None:
next_min = int(now/60)+1
self.timeout = gobject.timeout_add(
#
# plato plugin for text messages
#
-#
+#
import gtk
from plato_internal import file
c = contacts.find_num(self.who_from)
if c:
self.who_from = c.name
-
+
if l[0].stamp > self.last_txt:
self.last_txt = l[0].stamp
self.gowner.update(self, True)