private void LoadIcons()
{
string [,] icon_names = {
{ "audio-volume-muted", "stock_volume-0" },
{ "audio-volume-low", "stock_volume-min" },
{ "audio-volume-medium", "stock_volume-med" },
{ "audio-volume-high", "stock_volume-max" }
};
int width, height;
Icon.SizeLookup(size, out width, out height);
IconTheme theme = IconTheme.GetForScreen(Screen);
if(pixbufs == null) {
pixbufs = new Gdk.Pixbuf[icon_names.Length / icon_names.Rank];
}
for(int i = 0; i < icon_names.Length / icon_names.Rank; i++) {
for(int j = 0; j < icon_names.Rank; j++) {
if(pixbufs[i] != null) {
pixbufs[i].Dispose();
pixbufs[i] = null;
}
try {
pixbufs[i] = theme.LoadIcon(icon_names[i, j], width, 0);
break;
} catch {
}
}
}
Update();
}