for (; it != end; ++it) {
const string& fname = *it;
- if (fname[fname.size()-1] == '~')
+ //ignore backups and dot files
+ if (fname[fname.size()-1] == '~' || fname[0] == '.')
continue;
string style = stylesdir;
string family = s;
bool bold = False;
bool italic = False;
+ bool dropShadow = False;
+
if (style.getValue(rbasename + "xft.flags", s)) {
if (s.find("bold") != string::npos)
bold = True;
if (s.find("italic") != string::npos)
italic = True;
+ if (s.find("shadow") != string::npos)
+ dropShadow = True;
+ }
+
+ unsigned char offset = 1;
+ if (style.getValue(rbasename + "xft.shadow.offset", s)) {
+ offset = atoi(s.c_str()); //doesn't detect errors
+ if (offset > CHAR_MAX)
+ offset = 1;
}
+
+ int tint = 25;
+ if (style.getValue(rbasename + "xft.shadow.tint", s)) {
+ tint = atoi(s.c_str());
+ }
+
+ if (tint > 100) tint = 100;
+ if (tint < -100) tint = -100;
BFont *b = new BFont(blackbox->getXDisplay(), this, family, i, bold,
- italic, resource.shadow_fonts, resource.aa_fonts);
+ italic, dropShadow && resource.shadow_fonts, offset,
+ tint, resource.aa_fonts);
if (b->valid())
return b;
else