summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-12-14 01:06:22 (GMT)
committerfluxgen <fluxgen>2003-12-14 01:06:22 (GMT)
commit521932e0a2885749e8e3fcf0254d6ff9180adf11 (patch)
tree24fc80fedc8bbaecc8729d9322037e6a1d384ebb
parent4e0150bf46be23b51155d3036739528aa104810e (diff)
downloadfluxbox_lack-521932e0a2885749e8e3fcf0254d6ff9180adf11.zip
fluxbox_lack-521932e0a2885749e8e3fcf0254d6ff9180adf11.tar.bz2
move client to drop zone when detaching client to root window
-rw-r--r--src/Window.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/Window.cc b/src/Window.cc
index ca69ff3..5adc484 100644
--- a/src/Window.cc
+++ b/src/Window.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: Window.cc,v 1.252 2003/12/12 14:59:16 fluxgen Exp $ 25// $Id: Window.cc,v 1.253 2003/12/14 01:06:22 fluxgen Exp $
26 26
27#include "Window.hh" 27#include "Window.hh"
28 28
@@ -1288,7 +1288,7 @@ void FluxboxWindow::deiconify(bool reassoc, bool do_raise) {
1288 (*client_it)->setEventMask(PropertyChangeMask | StructureNotifyMask | FocusChangeMask); 1288 (*client_it)->setEventMask(PropertyChangeMask | StructureNotifyMask | FocusChangeMask);
1289 } 1289 }
1290 1290
1291 frame().show(); 1291 show();
1292 1292
1293 if (was_iconic && screen().doFocusNew()) 1293 if (was_iconic && screen().doFocusNew())
1294 setInputFocus(); 1294 setInputFocus();
@@ -3008,9 +3008,17 @@ void FluxboxWindow::attachTo(int x, int y) {
3008 3008
3009 if (attach_to_win != this && 3009 if (attach_to_win != this &&
3010 attach_to_win != 0) { 3010 attach_to_win != 0) {
3011
3011 attach_to_win->attachClient(*m_attaching_tab); 3012 attach_to_win->attachClient(*m_attaching_tab);
3012 } else if (attach_to_win != this) { // disconnect client if we didn't drop on a window 3013
3014 } else if (attach_to_win != this) {
3015 // disconnect client if we didn't drop on a window
3016 WinClient &client = *m_attaching_tab;
3013 detachClient(*m_attaching_tab); 3017 detachClient(*m_attaching_tab);
3018 // move to drop zone
3019 if (client.m_win != 0)
3020 client.m_win->move(x, y);
3021
3014 } 3022 }
3015 3023
3016 } 3024 }