diff options
Diffstat (limited to 'src/Slit.cc')
-rw-r--r-- | src/Slit.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/Slit.cc b/src/Slit.cc index d2fbcd5..e418a93 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -675,16 +675,10 @@ void Slit::reconfigure() { | |||
675 | else | 675 | else |
676 | frame.height += bevel_width*2; | 676 | frame.height += bevel_width*2; |
677 | 677 | ||
678 | reposition(); | ||
679 | Display *disp = FbTk::App::instance()->display(); | 678 | Display *disp = FbTk::App::instance()->display(); |
680 | 679 | ||
681 | frame.window.setBorderWidth(theme().borderWidth()); | 680 | frame.window.setBorderWidth(theme().borderWidth()); |
682 | frame.window.setBorderColor(theme().borderColor()); | 681 | frame.window.setBorderColor(theme().borderColor()); |
683 | // did we actually use slit slots | ||
684 | if (num_windows == 0) | ||
685 | frame.window.hide(); | ||
686 | else | ||
687 | frame.window.show(); | ||
688 | 682 | ||
689 | Pixmap tmp = frame.pixmap; | 683 | Pixmap tmp = frame.pixmap; |
690 | FbTk::ImageControl &image_ctrl = screen().imageControl(); | 684 | FbTk::ImageControl &image_ctrl = screen().imageControl(); |
@@ -709,7 +703,14 @@ void Slit::reconfigure() { | |||
709 | } else { | 703 | } else { |
710 | frame.window.setAlpha(*m_rc_alpha); | 704 | frame.window.setAlpha(*m_rc_alpha); |
711 | } | 705 | } |
712 | clearWindow(); | 706 | // reposition clears the bg |
707 | reposition(); | ||
708 | |||
709 | // did we actually use slit slots | ||
710 | if (num_windows == 0) | ||
711 | frame.window.hide(); | ||
712 | else | ||
713 | frame.window.show(); | ||
713 | 714 | ||
714 | int x = 0, y = 0; | 715 | int x = 0, y = 0; |
715 | height_inc = false; | 716 | height_inc = false; |
@@ -908,7 +909,9 @@ void Slit::reposition() { | |||
908 | frame.window.moveResize(frame.x, frame.y, | 909 | frame.window.moveResize(frame.x, frame.y, |
909 | frame.width, frame.height); | 910 | frame.width, frame.height); |
910 | } | 911 | } |
911 | 912 | updateBackground(true); | |
913 | if (*m_rc_alpha != 255) | ||
914 | clearWindow(); | ||
912 | } | 915 | } |
913 | 916 | ||
914 | 917 | ||
@@ -1343,6 +1346,7 @@ void Slit::updateAlpha() { | |||
1343 | frame.window.setOpaque(*m_rc_alpha); | 1346 | frame.window.setOpaque(*m_rc_alpha); |
1344 | } else { | 1347 | } else { |
1345 | frame.window.setAlpha(*m_rc_alpha); | 1348 | frame.window.setAlpha(*m_rc_alpha); |
1349 | updateBackground(true); | ||
1346 | clearWindow(); | 1350 | clearWindow(); |
1347 | } | 1351 | } |
1348 | } | 1352 | } |