8 def colour_to_string(c
):
9 if hasattr(c
, "to_string"):
12 return "#%04x%04x%04x" % (c
.red
, c
.green
, c
.blue
)
15 class Settings(ConfigParser
.ConfigParser
):
17 ConfigParser
.ConfigParser
.__init
__(self
)
18 f
= compat
.load_first_config('realh.co.uk', 'SysBars', 'options')
21 #if not self.has_section('DEFAULT'):
22 # self.add_section('DEFAULT')
25 f
= os
.path
.join(compat
.save_config_path('realh.co.uk', 'SysBars'),
31 def set(self
, section
, option
, value
):
32 ConfigParser
.ConfigParser
.set(self
, section
, option
, str(value
))
35 def set_bar(self
, bar
, option
, value
):
36 """ bar here is a number """
38 if not self
.has_section(sec
):
40 self
.set(sec
, option
, value
)
42 def get_bar(self
, bar
, option
, value
= None):
43 """ bar here is a number; value is default """
45 return self
.get('bar%d' % bar
, option
)
49 def get_bar_int(self
, bar
, option
, value
):
50 """ bar here is a number; value is default """
52 return self
.getint('bar%d' % bar
, option
)
56 def get_bar_float(self
, bar
, option
, value
):
57 """ bar here is a number; value is default """
59 return self
.getfloat('bar%d' % bar
, option
)
63 def get_label_font(self
):
65 return self
.get('DEFAULT', 'font')
69 def set_label_font(self
, font
):
70 self
.set('DEFAULT', 'font', font
)
72 def get_label_colour(self
):
74 cname
= self
.get('DEFAULT', 'label_colour')
75 return g
.gdk
.color_parse(cname
)
79 def set_label_colour(self
, gcolour
):
80 self
.set('DEFAULT', 'label_colour', colour_to_string(gcolour
))
82 def get_overlap(self
):
84 return self
.getboolean('DEFAULT', 'overlap')
88 def set_overlap(self
, overlap
):
89 self
.set('DEFAULT', 'overlap', str(overlap
))
91 def get_num_bars(self
):
93 return self
.getint('DEFAULT', 'nbars')
97 def set_num_bars(self
, value
):
98 self
.set('DEFAULT', 'nbars', str(value
))
100 def get_bar_type(self
, bar
):
101 return self
.get_bar(bar
, 'type', 'cpu')
103 def set_bar_type(self
, bar
, value
):
104 self
.set_bar(bar
, 'type', str(value
))
106 def get_bar_label(self
, bar
):
107 return self
.get_bar(bar
, 'label', _("C"))
109 def set_bar_label(self
, bar
, value
):
110 self
.set_bar(bar
, 'label', value
)
112 def get_bar_colour(self
, bar
):
114 return g
.gdk
.color_parse(self
.get_bar(bar
, 'colour', '#206020'))
116 return g
.gdk
.Color(0x4040, 0x4040, 0x4040)
118 def set_bar_colour(self
, bar
, gcolour
):
119 self
.set_bar(bar
, 'colour', colour_to_string(gcolour
))
121 def get_bar_width(self
, bar
):
122 return self
.get_bar_int(bar
, 'width', 16)
124 def set_bar_width(self
, bar
, value
):
125 self
.set_bar(bar
, 'width', str(value
))
127 def get_bar_min_period(self
, bar
):
128 return self
.get_bar_float(bar
, 'min_period', 0.2)
130 def set_bar_min_period(self
, bar
, value
):
131 self
.set_bar(bar
, 'min_period', value
)
133 def get_bar_max_period(self
, bar
):
134 return self
.get_bar_float(bar
, 'max_period', 1)
136 def set_bar_max_period(self
, bar
, value
):
137 self
.set_bar(bar
, 'max_period', value
)
139 def get_throughput(self
, device
, default
= 0):
141 return self
.getint('throughput', device
)
145 def set_throughput(self
, device
, value
):
146 if not self
.has_section('throughput'):
147 self
.add_section('throughput')
148 self
.set('throughput', device
, value
)
152 settings
= Settings()