aboutsummaryrefslogtreecommitdiff
path: root/src/ClockTool.cc
diff options
context:
space:
mode:
authorsimonb <simonb>2007-04-08 01:53:19 (GMT)
committersimonb <simonb>2007-04-08 01:53:19 (GMT)
commit91963544bdb919f40d4b54f7acaf665373ca5170 (patch)
tree009109f584d3be5ddfedaea88e0988657d1c5dd8 /src/ClockTool.cc
parentb09aae8579d57defadaa39ebc5566ddb68799506 (diff)
downloadfluxbox-91963544bdb919f40d4b54f7acaf665373ca5170.zip
fluxbox-91963544bdb919f40d4b54f7acaf665373ca5170.tar.bz2
Only replace numbers with zeros when calculating clock width.
Otherwise width of things in proportional fonts can be way out. sf.net bug #1545066.
Diffstat (limited to 'src/ClockTool.cc')
-rw-r--r--src/ClockTool.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ClockTool.cc b/src/ClockTool.cc
index 6e06ed6..99cbb06 100644
--- a/src/ClockTool.cc
+++ b/src/ClockTool.cc
@@ -220,7 +220,17 @@ void ClockTool::update(FbTk::Subject *subj) {
220 updateTime(); 220 updateTime();
221 221
222 // + 2 to make the entire text fit inside 222 // + 2 to make the entire text fit inside
223 std::string text(m_button.text().size() + 2, '0'); 223 // we only replace numbers with zeros because everything else should be
224 // relatively static. If we replace all text with zeros then widths of
225 // proportional fonts with some strftime formats will be considerably off.
226 std::string text(m_button.text());
227
228 int textlen = text.size();
229 for (int i=0; i < textlen; ++i) {
230 if (text[i] > '0' && text[i] <= '9') // don't bother replacing zeros
231 text[i] = '0';
232 }
233 text.append("00"); // pad
224 234
225 unsigned int new_width = m_button.width(); 235 unsigned int new_width = m_button.width();
226 unsigned int new_height = m_button.height(); 236 unsigned int new_height = m_button.height();