diff options
Diffstat (limited to 'src/FbWinFrame.cc')
-rw-r--r-- | src/FbWinFrame.cc | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index b7f2e6b..e41d1df 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -508,9 +508,11 @@ void FbWinFrame::setFocus(bool newvalue) { | |||
508 | if (FbTk::Transparent::haveRender() && theme().focusedAlpha() != theme().unfocusedAlpha()) { | 508 | if (FbTk::Transparent::haveRender() && theme().focusedAlpha() != theme().unfocusedAlpha()) { |
509 | unsigned char alpha = (m_focused?theme().focusedAlpha():theme().unfocusedAlpha()); | 509 | unsigned char alpha = (m_focused?theme().focusedAlpha():theme().unfocusedAlpha()); |
510 | if (FbTk::Transparent::haveComposite()) { | 510 | if (FbTk::Transparent::haveComposite()) { |
511 | m_tab_container.setAlpha(255); | ||
511 | m_window.setOpaque(alpha); | 512 | m_window.setOpaque(alpha); |
512 | } else { | 513 | } else { |
513 | m_tab_container.setAlpha(alpha); | 514 | m_tab_container.setAlpha(alpha); |
515 | m_window.setOpaque(255); | ||
514 | } | 516 | } |
515 | } | 517 | } |
516 | 518 | ||
@@ -521,9 +523,7 @@ void FbWinFrame::setFocus(bool newvalue) { | |||
521 | applyActiveLabel(*m_current_label); | 523 | applyActiveLabel(*m_current_label); |
522 | } | 524 | } |
523 | 525 | ||
524 | applyTitlebar(); | 526 | applyAll(); |
525 | applyHandles(); | ||
526 | applyTabContainer(); | ||
527 | clearAll(); | 527 | clearAll(); |
528 | } | 528 | } |
529 | 529 | ||
@@ -1053,6 +1053,18 @@ void FbWinFrame::reconfigure() { | |||
1053 | 1053 | ||
1054 | // render the theme | 1054 | // render the theme |
1055 | if (isVisible()) { | 1055 | if (isVisible()) { |
1056 | // update transparency settings | ||
1057 | if (FbTk::Transparent::haveRender()) { | ||
1058 | unsigned char alpha = | ||
1059 | (m_focused ? theme().focusedAlpha() : theme().unfocusedAlpha()); | ||
1060 | if (FbTk::Transparent::haveComposite()) { | ||
1061 | m_tab_container.setAlpha(255); | ||
1062 | m_window.setOpaque(alpha); | ||
1063 | } else { | ||
1064 | m_tab_container.setAlpha(alpha); | ||
1065 | m_window.setOpaque(255); | ||
1066 | } | ||
1067 | } | ||
1056 | renderAll(); | 1068 | renderAll(); |
1057 | applyAll(); | 1069 | applyAll(); |
1058 | clearAll(); | 1070 | clearAll(); |
@@ -1391,13 +1403,6 @@ void FbWinFrame::applyButtons() { | |||
1391 | 1403 | ||
1392 | void FbWinFrame::init() { | 1404 | void FbWinFrame::init() { |
1393 | 1405 | ||
1394 | if (FbTk::Transparent::haveComposite()) { | ||
1395 | if (m_focused) | ||
1396 | m_window.setOpaque(theme().focusedAlpha()); | ||
1397 | else | ||
1398 | m_window.setOpaque(theme().unfocusedAlpha()); | ||
1399 | } | ||
1400 | |||
1401 | if (theme().handleWidth() == 0) | 1406 | if (theme().handleWidth() == 0) |
1402 | m_use_handle = false; | 1407 | m_use_handle = false; |
1403 | 1408 | ||