aboutsummaryrefslogtreecommitdiff
path: root/src/IconBar.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/IconBar.cc')
-rw-r--r--src/IconBar.cc30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/IconBar.cc b/src/IconBar.cc
index 3ed4f54..3d2919d 100644
--- a/src/IconBar.cc
+++ b/src/IconBar.cc
@@ -19,7 +19,7 @@
19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 19// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20// DEALINGS IN THE SOFTWARE. 20// DEALINGS IN THE SOFTWARE.
21 21
22// $Id: IconBar.cc,v 1.15 2002/08/04 15:23:24 fluxgen Exp $ 22// $Id: IconBar.cc,v 1.16 2002/10/15 17:10:48 fluxgen Exp $
23 23
24#include "IconBar.hh" 24#include "IconBar.hh"
25#include "i18n.hh" 25#include "i18n.hh"
@@ -261,9 +261,9 @@ void IconBar::draw(IconBarObj *obj, int width) {
261 FluxboxWindow *fluxboxwin = obj->getFluxboxWin(); 261 FluxboxWindow *fluxboxwin = obj->getFluxboxWin();
262 Window iconwin = obj->getIconWin(); 262 Window iconwin = obj->getIconWin();
263 unsigned int title_text_w; 263 unsigned int title_text_w;
264 264 /*
265 const int multibyte = I18n::instance()->multibyte(); 265 const int multibyte = I18n::instance()->multibyte();
266 266
267 if (multibyte) { 267 if (multibyte) {
268 XRectangle ink, logical; 268 XRectangle ink, logical;
269 XmbTextExtents(m_screen->getWindowStyle()->font.set, 269 XmbTextExtents(m_screen->getWindowStyle()->font.set,
@@ -273,14 +273,16 @@ void IconBar::draw(IconBarObj *obj, int width) {
273 title_text_w = XTextWidth(m_screen->getWindowStyle()->font.fontstruct, 273 title_text_w = XTextWidth(m_screen->getWindowStyle()->font.fontstruct,
274 fluxboxwin->getIconTitle().c_str(), fluxboxwin->getIconTitle().size()); 274 fluxboxwin->getIconTitle().c_str(), fluxboxwin->getIconTitle().size());
275 } 275 }
276 276 */
277 title_text_w = m_screen->getWindowStyle()->font.textWidth(
278 fluxboxwin->getIconTitle().c_str(), fluxboxwin->getIconTitle().size());
277 int l = title_text_w; 279 int l = title_text_w;
278 unsigned int dlen=fluxboxwin->getIconTitle().size(); 280 unsigned int dlen=fluxboxwin->getIconTitle().size();
279 unsigned int bevel_w = m_screen->getBevelWidth(); 281 unsigned int bevel_w = m_screen->getBevelWidth();
280 int dx=bevel_w*2; 282 int dx=bevel_w*2;
281 283
282 for (; dlen >= 0; dlen--) { 284 for (; dlen >= 0; dlen--) {
283 if (multibyte) { 285 /*if (multibyte) {
284 XRectangle ink, logical; 286 XRectangle ink, logical;
285 XmbTextExtents(m_screen->getWindowStyle()->tab.font.set, 287 XmbTextExtents(m_screen->getWindowStyle()->tab.font.set,
286 fluxboxwin->getIconTitle().c_str(), dlen, 288 fluxboxwin->getIconTitle().c_str(), dlen,
@@ -289,13 +291,16 @@ void IconBar::draw(IconBarObj *obj, int width) {
289 } else 291 } else
290 l = XTextWidth(m_screen->getWindowStyle()->tab.font.fontstruct, 292 l = XTextWidth(m_screen->getWindowStyle()->tab.font.fontstruct,
291 fluxboxwin->getIconTitle().c_str(), dlen); 293 fluxboxwin->getIconTitle().c_str(), dlen);
292 l += (bevel_w * 4); 294 */
293 295 l = m_screen->getWindowStyle()->tab.font.textWidth(
296 fluxboxwin->getIconTitle().c_str(), dlen);
297 l += (bevel_w * 4);
298
294 if (l < width) 299 if (l < width)
295 break; 300 break;
296 } 301 }
297 302
298 switch (m_screen->getWindowStyle()->tab.font.justify) { 303 switch (m_screen->getWindowStyle()->tab.justify) {
299 case DrawUtil::Font::RIGHT: 304 case DrawUtil::Font::RIGHT:
300 dx += width - l; 305 dx += width - l;
301 break; 306 break;
@@ -309,7 +314,7 @@ void IconBar::draw(IconBarObj *obj, int width) {
309 //Draw title to m_iconwin 314 //Draw title to m_iconwin
310 315
311 XClearWindow(m_display, iconwin); 316 XClearWindow(m_display, iconwin);
312 317 /*
313 if (multibyte) { 318 if (multibyte) {
314 XmbDrawString(m_display, iconwin, 319 XmbDrawString(m_display, iconwin,
315 m_screen->getWindowStyle()->tab.font.set, 320 m_screen->getWindowStyle()->tab.font.set,
@@ -322,6 +327,13 @@ void IconBar::draw(IconBarObj *obj, int width) {
322 m_screen->getWindowStyle()->tab.font.fontstruct->ascent + 1, 327 m_screen->getWindowStyle()->tab.font.fontstruct->ascent + 1,
323 fluxboxwin->getIconTitle().c_str(), dlen); 328 fluxboxwin->getIconTitle().c_str(), dlen);
324 } 329 }
330 */
331 m_screen->getWindowStyle()->tab.font.drawText(
332 iconwin,
333 m_screen->getScreenNumber(),
334 m_screen->getWindowStyle()->tab.l_text_focus_gc,
335 fluxboxwin->getIconTitle().c_str(), dlen,
336 dx, m_screen->getWindowStyle()->tab.font.height());
325 337
326} 338}
327 339