diff options
Diffstat (limited to 'src/FbWinFrame.cc')
-rw-r--r-- | src/FbWinFrame.cc | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index 30d8389..e78ed5f 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -546,8 +546,15 @@ void FbWinFrame::setAlpha(bool focused, unsigned char alpha) { | |||
546 | else | 546 | else |
547 | m_unfocused_alpha = alpha; | 547 | m_unfocused_alpha = alpha; |
548 | 548 | ||
549 | if (m_focused == focused) | 549 | if (m_focused == focused) { |
550 | m_window.setOpaque(alpha); | 550 | if (FbTk::Transparent::haveComposite()) |
551 | m_window.setOpaque(alpha); | ||
552 | else { | ||
553 | // don't need to setAlpha, since apply updates them anyway | ||
554 | applyAll(); | ||
555 | clearAll(); | ||
556 | } | ||
557 | } | ||
551 | } | 558 | } |
552 | 559 | ||
553 | unsigned char FbWinFrame::getAlpha(bool focused) const | 560 | unsigned char FbWinFrame::getAlpha(bool focused) const |
@@ -569,7 +576,13 @@ void FbWinFrame::setUseDefaultAlpha(bool default_alpha) | |||
569 | 576 | ||
570 | m_use_default_alpha = default_alpha; | 577 | m_use_default_alpha = default_alpha; |
571 | 578 | ||
572 | m_window.setOpaque(getAlpha(m_focused)); | 579 | if (FbTk::Transparent::haveComposite()) |
580 | m_window.setOpaque(getAlpha(m_focused)); | ||
581 | else { | ||
582 | // don't need to setAlpha, since apply updates them anyway | ||
583 | applyAll(); | ||
584 | clearAll(); | ||
585 | } | ||
573 | } | 586 | } |
574 | 587 | ||
575 | void FbWinFrame::setDoubleClickTime(unsigned int time) { | 588 | void FbWinFrame::setDoubleClickTime(unsigned int time) { |