diff options
Diffstat (limited to 'src/IconBar.cc')
-rw-r--r-- | src/IconBar.cc | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/src/IconBar.cc b/src/IconBar.cc index f5ec382..49050e0 100644 --- a/src/IconBar.cc +++ b/src/IconBar.cc | |||
@@ -152,14 +152,14 @@ void IconBar::exposeEvent(XExposeEvent *ee) { | |||
152 | } | 152 | } |
153 | 153 | ||
154 | if (obj) { | 154 | if (obj) { |
155 | 155 | ||
156 | Window root; | 156 | Window root; |
157 | unsigned int width, height; | 157 | unsigned int width, height; |
158 | unsigned int border_width, depth; //not used | 158 | unsigned int border_width, depth; //not used |
159 | int x, y; | 159 | int x, y; |
160 | XGetGeometry(m_display, m_parent, &root, &x, &y, &width, &height, | 160 | XGetGeometry(m_display, m_parent, &root, &x, &y, &width, &height, |
161 | &border_width, &depth); | 161 | &border_width, &depth); |
162 | 162 | ||
163 | //max width on every icon | 163 | //max width on every icon |
164 | unsigned int icon_width = width / m_iconlist->count(); | 164 | unsigned int icon_width = width / m_iconlist->count(); |
165 | 165 | ||
@@ -190,7 +190,7 @@ void IconBar::repositionIcons(void) { | |||
190 | 190 | ||
191 | //load right size of theme | 191 | //load right size of theme |
192 | loadTheme(icon_width, height); | 192 | loadTheme(icon_width, height); |
193 | 193 | ||
194 | IconListIterator it(m_iconlist); | 194 | IconListIterator it(m_iconlist); |
195 | 195 | ||
196 | for (x = 0; it.current(); it++, x+=icon_width) { | 196 | for (x = 0; it.current(); it++, x+=icon_width) { |
@@ -271,8 +271,7 @@ void IconBar::draw(IconBarObj *obj, int width) { | |||
271 | if (l < width) | 271 | if (l < width) |
272 | break; | 272 | break; |
273 | } | 273 | } |
274 | 274 | ||
275 | |||
276 | switch (m_screen->getWindowStyle()->tab.font.justify) { | 275 | switch (m_screen->getWindowStyle()->tab.font.justify) { |
277 | case Misc::Font::RIGHT: | 276 | case Misc::Font::RIGHT: |
278 | dx += width - l; | 277 | dx += width - l; |
@@ -284,7 +283,7 @@ void IconBar::draw(IconBarObj *obj, int width) { | |||
284 | break; | 283 | break; |
285 | } | 284 | } |
286 | 285 | ||
287 | //Draw title to m_tabwin | 286 | //Draw title to m_iconwin |
288 | 287 | ||
289 | XClearWindow(m_display, iconwin); | 288 | XClearWindow(m_display, iconwin); |
290 | 289 | ||
@@ -328,6 +327,7 @@ FluxboxWindow *IconBar::findWindow(Window w) { | |||
328 | // returns pointer to IconBarObj on success else | 327 | // returns pointer to IconBarObj on success else |
329 | // 0 on failure | 328 | // 0 on failure |
330 | //------------------------------------ | 329 | //------------------------------------ |
330 | |||
331 | IconBarObj *IconBar::findIcon(FluxboxWindow *fluxboxwin) { | 331 | IconBarObj *IconBar::findIcon(FluxboxWindow *fluxboxwin) { |
332 | 332 | ||
333 | IconListIterator it(m_iconlist); | 333 | IconListIterator it(m_iconlist); |
@@ -341,3 +341,22 @@ IconBarObj *IconBar::findIcon(FluxboxWindow *fluxboxwin) { | |||
341 | 341 | ||
342 | return 0; | 342 | return 0; |
343 | } | 343 | } |
344 | |||
345 | //---------- getIconWidth ------------ | ||
346 | // will return the width of an icon | ||
347 | // window | ||
348 | //------------------------------------ | ||
349 | unsigned int IconBarObj::getWidth() { | ||
350 | Window root; | ||
351 | |||
352 | unsigned int width, height; | ||
353 | unsigned int border_width, depth; //not used | ||
354 | int x, y; //not used | ||
355 | |||
356 | Display *m_display = Fluxbox::instance()->getXDisplay(); | ||
357 | |||
358 | XGetGeometry(m_display, m_iconwin, &root, &x, &y, | ||
359 | &width, &height, &border_width, &depth); | ||
360 | |||
361 | return width; | ||
362 | } | ||