aboutsummaryrefslogtreecommitdiff
path: root/src/Slit.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Slit.cc')
-rw-r--r--src/Slit.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Slit.cc b/src/Slit.cc
index 63b1eb4..df05b4f 100644
--- a/src/Slit.cc
+++ b/src/Slit.cc
@@ -22,7 +22,7 @@
22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23// DEALINGS IN THE SOFTWARE. 23// DEALINGS IN THE SOFTWARE.
24 24
25// $Id: Slit.cc,v 1.42 2003/04/25 17:27:36 fluxgen Exp $ 25// $Id: Slit.cc,v 1.43 2003/05/01 15:03:36 rathnor Exp $
26 26
27#include "Slit.hh" 27#include "Slit.hh"
28 28
@@ -761,6 +761,9 @@ void Slit::reconfigure() {
761 break; 761 break;
762 } 762 }
763 763
764 if (do_auto_hide && !hidden && !timer.isTiming())
765 timer.start();
766
764 slitmenu.reconfigure(); 767 slitmenu.reconfigure();
765 updateClientmenu(); 768 updateClientmenu();
766} 769}
@@ -1007,6 +1010,11 @@ void Slit::leaveNotifyEvent(XCrossingEvent &ev) {
1007 } else if (! slitmenu.isVisible()) { 1010 } else if (! slitmenu.isVisible()) {
1008 if (! timer.isTiming()) 1011 if (! timer.isTiming())
1009 timer.start(); 1012 timer.start();
1013 } else {
1014 // the menu is open, keep it firing until it closes
1015 timer.fireOnce(false);
1016 if (! timer.isTiming())
1017 timer.start();
1010 } 1018 }
1011 1019
1012} 1020}
@@ -1049,6 +1057,10 @@ void Slit::configureRequestEvent(XConfigureRequestEvent &event) {
1049 1057
1050 1058
1051void Slit::timeout() { 1059void Slit::timeout() {
1060 if (!slitmenu.isVisible()) {
1061 timer.fireOnce(true);
1062 } else
1063 return;
1052 hidden = ! hidden; // toggle hidden state 1064 hidden = ! hidden; // toggle hidden state
1053 if (hidden) 1065 if (hidden)
1054 frame.window.move(frame.x_hidden, frame.y_hidden); 1066 frame.window.move(frame.x_hidden, frame.y_hidden);