return(cfg)
-size = 2
+size = (2,2)
iconsize = 64
iconspace = 42
apps=None
+indiv=False
+id=None # Applet ID
+longpress=True
+
+maxsz=(4,4)
def setSize(sz):
global size
return(size)
+def getMaxSize():
+ global maxsz
+
+ return(maxsz)
+
+def setIndiv(_indiv):
+ global indiv
+
+ indiv=_indiv
+
+def getIndiv():
+ global indiv
+
+ return(indiv)
+
+def setLongpress(_lp):
+ global longpress
+
+ longpress=_lp
+
+def getLongpress():
+ global longpress
+
+ return(longpress)
+
def setApps(aps):
""" apps is a dictionary of (x,y)=>appname """
global apps
return(ret)
def save():
- fn=get_config_fn()
+ global id
+
+ check_init()
- dt={
- 'version': 1,
- 'size': getSize(),
- 'apps': getApps()
+ dt=load_all()
+
+ if dt==None:
+ dt={
+ 'version': 3,
+ 'data': {},
+ }
+
+ dt['data'][id]={
+ 'size': getSize(),
+ 'apps': getApps(),
+ 'indiv': getIndiv(),
+ 'longpress': getLongpress(),
}
+ fn=get_config_fn()
+
st=pickle.dumps(dt)
f=file(fn, 'w')
f.write(st)
f.close()
-def load():
+def parse_v1(dt0):
+ """ Convert a v1 config to v2 """
+ global id
+
+ ret={
+ 'version': 2,
+ 'data': {},
+ }
+
+ ret['data'][id]={
+ 'size': dt0['size'],
+ 'apps': dt0['apps'],
+ }
+
+ return(ret)
+
+def parse_v2(dt):
+ global id
+
+ # Perhaps copy dt?
+
+ dt['version']=3
+
+ for i in dt['data']:
+ dt['data'][i]['indiv']=False
+ dt['data'][i]['size']=(dt['data'][i]['size'], dt['data'][i]['size'])
+ dt['data'][i]['longpress']=True
+
+ return(dt)
+
+def load_all():
fn=get_config_fn()
try:
f=file(fn, 'r')
st=f.read()
f.close()
- dt=pickle.loads(st)
+ ret=pickle.loads(st)
except:
+ ret=None
+
+ return(ret)
+
+def load():
+ global id
+
+ check_init()
+
+ fn=get_config_fn()
+
+ dt0=load_all()
+ if dt0==None:
+ return
+
+ if dt0['version']==1:
+ dt0=parse_v1(dt0)
+
+ if dt0['version']==2:
+ dt0=parse_v2(dt0)
+
+ if not dt0['data'].has_key(id):
return
+ dt=dt0['data'][id]
+
setSize(dt['size'])
setApps(dt['apps'])
+ setIndiv(dt['indiv'])
+ setLongpress(dt['longpress'])
+
+def init(_id):
+ global id
+
+ id=_id
+
+def check_init():
+ global id
+
+ if id==None:
+ import sys
+
+ print "config.init() not done"
+ sys.exit(1)
# vim: set ts=8 sts=4 sw=4 noet formatoptions=r ai nocindent: