diff options
author | Andreas Krennmair <ak@synflood.at> | 2007-02-04 16:45:50 +0000 |
---|---|---|
committer | Andreas Krennmair <ak@synflood.at> | 2007-02-04 16:45:50 +0000 |
commit | 8ad00cf4fdb4057eb0af0d52410ebd5243592ce4 (patch) | |
tree | b39aab727baacda445331ce2dd7185d401e31fbf | |
parent | 3c08c1871753417c7acb58ea11bd210df1f9f59d (diff) |
Andreas Krennmair:
implemented default color.
-rw-r--r-- | doc/newsbeuter.txt | 3 | ||||
-rw-r--r-- | src/colormanager.cpp | 22 |
2 files changed, 21 insertions, 4 deletions
diff --git a/doc/newsbeuter.txt b/doc/newsbeuter.txt index 5a1f0b2e..ef236b3f 100644 --- a/doc/newsbeuter.txt +++ b/doc/newsbeuter.txt @@ -189,6 +189,9 @@ supported: - magenta - cyan - white +- default + +The "default" color means that the terminal's default color will be used. Optionally, you can also add one or more attributes. The following attributes are supported: diff --git a/src/colormanager.cpp b/src/colormanager.cpp index 4b290062..4f83a2e1 100644 --- a/src/colormanager.cpp +++ b/src/colormanager.cpp @@ -46,9 +46,19 @@ void colormanager::set_colors(view * v) { std::map<std::string,std::vector<std::string> >::iterator attit = attributes.begin(); for (;fgcit != fg_colors.end(); ++fgcit, ++bgcit, ++attit) { - std::string colorattr = std::string("fg=") + fgcit->second + std::string(",bg=") + bgcit->second; + std::string colorattr; + if (fgcit->second != "default") { + colorattr.append("bg="); + colorattr.append(fgcit->second); + } + if (bgcit->second != "default") { + colorattr.append("bg="); + colorattr.append(bgcit->second); + } for (std::vector<std::string>::iterator it=attit->second.begin(); it!= attit->second.end(); ++it) { - colorattr.append(",attr="); + if (colorattr.length() > 0) + colorattr.append(","); + colorattr.append("attr="); colorattr.append(*it); } @@ -61,8 +71,12 @@ void colormanager::set_colors(view * v) { v->selecttag_form.set(fgcit->first, colorattr); if (fgcit->first == "article") { - std::string styleend_str("fg=blue,bg="); - styleend_str.append(bgcit->second); + std::string styleend_str("fg=blue"); + + if (bgcit->second != "default") { + styleend_str.append(",bg="); + styleend_str.append(bgcit->second); + } styleend_str.append(",attr=bold"); v->help_form.set("styleend", styleend_str.c_str()); |