diff options
author | fluxgen <fluxgen> | 2004-04-12 23:05:10 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2004-04-12 23:05:10 (GMT) |
commit | e828391b1c09e22a4431926f13a27d3bde3369b6 (patch) | |
tree | 9981d3ba46843ef351b4f0e18492de6f96269efd /src/Screen.cc | |
parent | 66af4ea72faacd7a514d00b2986b5417cc264a69 (diff) | |
download | fluxbox-e828391b1c09e22a4431926f13a27d3bde3369b6.zip fluxbox-e828391b1c09e22a4431926f13a27d3bde3369b6.tar.bz2 |
hide window menu if click on another window, patch from Mathias Gumz
Diffstat (limited to 'src/Screen.cc')
-rw-r--r-- | src/Screen.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 5941c1d..d026f12 100644 --- a/src/Screen.cc +++ b/src/Screen.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: Screen.cc,v 1.273 2004/03/30 13:46:34 fluxgen Exp $ | 25 | // $Id: Screen.cc,v 1.274 2004/04/12 23:05:10 fluxgen Exp $ |
26 | 26 | ||
27 | 27 | ||
28 | #include "Screen.hh" | 28 | #include "Screen.hh" |
@@ -901,6 +901,11 @@ void BScreen::hideMenus() { | |||
901 | (*it)->menu().hide(); | 901 | (*it)->menu().hide(); |
902 | } | 902 | } |
903 | // hide all client menus | 903 | // hide all client menus |
904 | hideWindowMenus(); | ||
905 | |||
906 | } | ||
907 | |||
908 | void BScreen::hideWindowMenus(const FluxboxWindow* except) { | ||
904 | Workspaces::iterator w_it = getWorkspacesList().begin(); | 909 | Workspaces::iterator w_it = getWorkspacesList().begin(); |
905 | const Workspaces::iterator w_it_end = getWorkspacesList().end(); | 910 | const Workspaces::iterator w_it_end = getWorkspacesList().end(); |
906 | for (; w_it != w_it_end; ++w_it) { | 911 | for (; w_it != w_it_end; ++w_it) { |
@@ -908,13 +913,14 @@ void BScreen::hideMenus() { | |||
908 | Workspace::Windows::iterator win_it = (*w_it)->windowList().begin(); | 913 | Workspace::Windows::iterator win_it = (*w_it)->windowList().begin(); |
909 | const Workspace::Windows::iterator win_it_end = (*w_it)->windowList().end(); | 914 | const Workspace::Windows::iterator win_it_end = (*w_it)->windowList().end(); |
910 | for (; win_it != win_it_end; ++win_it) { | 915 | for (; win_it != win_it_end; ++win_it) { |
916 | if (*win_it != except) | ||
911 | (*win_it)->menu().hide(); | 917 | (*win_it)->menu().hide(); |
912 | } | 918 | } |
913 | } | 919 | } |
914 | } | 920 | } |
921 | } | ||
915 | 922 | ||
916 | 923 | ||
917 | } | ||
918 | 924 | ||
919 | void BScreen::reconfigure() { | 925 | void BScreen::reconfigure() { |
920 | m_menutheme->setAlpha(*resource.menu_alpha); | 926 | m_menutheme->setAlpha(*resource.menu_alpha); |