summaryrefslogtreecommitdiffstats
path: root/Main.hs
diff options
context:
space:
mode:
authorKarsten Schoelzel <kuser@gmx.de>2007-09-10 11:03:29 +0200
committerKarsten Schoelzel <kuser@gmx.de>2007-09-10 11:03:29 +0200
commit7f9e8fa6d9c36cf42430e5239fbdb8bcfdec3e00 (patch)
treef08c616430400f3d96aa120825da4e27eac8c004 /Main.hs
parentc8f468802e71ec61ea8c92e829a09a764355949f (diff)
downloadmetatile-7f9e8fa6d9c36cf42430e5239fbdb8bcfdec3e00.tar
metatile-7f9e8fa6d9c36cf42430e5239fbdb8bcfdec3e00.zip
Fix float behaviour, add shiftWin.
First, if float is called with window which is on a hidden workspace, then the window will remain on that hidden workspace. Now the focus should change more as expected: float w = (view current) . (shiftWin ws w) where current is the current screen/workspace shiftWin ws w is: - view the workspace w is on - set focus on w - shift ws - set focus back to window it was on that workspace unless w was focused shiftWin was add to StackSet.hs darcs-hash:20070910090329-eb3a1-ae150bf783b36fb4811e92d81b4917066c8733b7
Diffstat (limited to 'Main.hs')
-rw-r--r--Main.hs7
1 files changed, 2 insertions, 5 deletions
diff --git a/Main.hs b/Main.hs
index d7ce8c9..ead2a96 100644
--- a/Main.hs
+++ b/Main.hs
@@ -29,7 +29,7 @@ import Graphics.X11.Xinerama (getScreenInfo)
import XMonad
import Config
-import StackSet (new, floating, member, findIndex, workspace, tag, current, visible)
+import StackSet (new, floating, member)
import qualified StackSet as W
import Operations
@@ -226,10 +226,7 @@ handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
ws <- gets windowset
wa <- io $ getWindowAttributes dpy w
- -- TODO temporary workaround for some bugs in float. Don't call 'float' on
- -- windows that aren't visible, because it changes the focused screen
- let vis = any ((== findIndex w ws) . Just . tag . workspace) (current ws : visible ws)
- if (M.member w (floating ws) && vis)
+ if M.member w (floating ws)
|| not (member w ws)
then do io $ configureWindow dpy w (ev_value_mask e) $ WindowChanges
{ wc_x = ev_x e