Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import os, sys
- import gtk
- BOFFS = 101 # offset id bottoni
- def getmoodirs():
- global homedir, moodir
- homedir = os.path.abspath(os.path.dirname(sys.argv[0]))
- moodir = os.path.join(homedir, 'moo')
- def makemoo():
- global moodir, objlst
- nostart = ['.', 'no-list']
- objlst = sorted(os.listdir(moodir), key = str.lower)
- if len(objlst) == 0:
- return False
- oklist =[] # start
- for ele in objlst:
- no = False
- for c in nostart:
- no = ele[:len(c)] == c
- if no: break
- if not no:
- oklist.append(ele)
- if len(oklist) == 0:
- return False
- if len(objlst) > 20:
- objlst = objlst[:20]
- return True
- class mooWindow(gtk.Window):
- def __init__(self):
- gtk.Window.__init__(self)
- global homedir, moodir
- global objlst
- tit = os.path.basename(homedir)
- self.set_title(tit)
- self.set_icon_from_file('moo.png')
- self.set_position(gtk.WIN_POS_CENTER)
- self.set_resizable(False)
- self.fixed = gtk.Fixed()
- for c in range(len(objlst)):
- txt = objlst[c]
- if len(txt) > 32:
- txt = txt[:31]
- self.btn = gtk.Button(txt)
- self.btn.set_size_request(240, 50)
- self.btn.connect("clicked", self.OnClick, BOFFS + c)
- self.fixed.put(self.btn, 0, 40 * c)
- h = 10 + len(objlst) * 40
- self.set_size_request(240, h)
- self.add(self.fixed)
- def OnClick(self, widget, bid):
- global objlst, moodir
- w = objlst[bid - BOFFS]
- wp = os.path.join(moodir, w)
- if os.path.isdir(wp):
- os.system('totem "%s" &' % wp)
- # main
- getmoodirs()
- if not makemoo():
- sys.exit(2)
- win = mooWindow()
- win.connect("destroy", gtk.main_quit)
- win.show_all()
- gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement