diff options
author | rathnor <rathnor> | 2003-05-01 15:03:36 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-05-01 15:03:36 (GMT) |
commit | 830ffc0c6f5263b2decdac4ba74aa75fd47c78e4 (patch) | |
tree | 2fe7b8cc3e7b67d187240cd089e8551c2dc27178 | |
parent | ed3f64bc5fc84fe1d33b3c95e9ea7efeb6012f81 (diff) | |
download | fluxbox_lack-830ffc0c6f5263b2decdac4ba74aa75fd47c78e4.zip fluxbox_lack-830ffc0c6f5263b2decdac4ba74aa75fd47c78e4.tar.bz2 |
fix slit auto hide triggering
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/Slit.cc | 14 |
2 files changed, 15 insertions, 1 deletions
@@ -1,6 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 0.9.2: | 2 | Changes 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 | ||
1051 | void Slit::timeout() { | 1059 | void 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); |