summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-05-01 15:03:36 (GMT)
committerrathnor <rathnor>2003-05-01 15:03:36 (GMT)
commit830ffc0c6f5263b2decdac4ba74aa75fd47c78e4 (patch)
tree2fe7b8cc3e7b67d187240cd089e8551c2dc27178
parented3f64bc5fc84fe1d33b3c95e9ea7efeb6012f81 (diff)
downloadfluxbox_lack-830ffc0c6f5263b2decdac4ba74aa75fd47c78e4.zip
fluxbox_lack-830ffc0c6f5263b2decdac4ba74aa75fd47c78e4.tar.bz2
fix slit auto hide triggering
-rw-r--r--ChangeLog2
-rw-r--r--src/Slit.cc14
2 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8a3da44..ac5decb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
1(Format: Year/Month/Day) 1(Format: Year/Month/Day)
2Changes for 0.9.2: 2Changes for 0.9.2:
3*03/05/01: 3*03/05/01:
4 * Fix slit autohide triggering (Simon)
5 Slit.cc
4 * Clean ups and optimising of redraw/reconfigures 6 * Clean ups and optimising of redraw/reconfigures
5 Also fixes warping in outline focus bug (Simon) 7 Also fixes warping in outline focus bug (Simon)
6 Window.hh/cc FbWinFrame.hh/cc 8 Window.hh/cc FbWinFrame.hh/cc
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);