[Xmonad] darcs patch: Fix float in Operations.hs (and 2 more)
Karsten Schoelzel
kuser at gmx.de
Sun Sep 9 19:03:43 EDT 2007
Mon Sep 10 00:04:04 CEST 2007 Karsten Schoelzel <kuser at gmx.de>
* Fix float in Operations.hs
First, if float is called with window which is on a hidden workspace,
then the window will remain on that hidden workspace.
Let's have 2 screens s1 and s2 with windows [ a* ] and [ b*, c, d ],
and the upper-left corner of d is on s1 (i'm not sure if this can happen with
the current functions)
Now call (float d). Then d becomes floating on s1 and the screens look like
- [ d, a* ] and [ b, c* ] without the use of shiftWin
- [ d, a* ] and [ b*, c ] with shiftWin
thus leaving focus intact on the second screen.
Mon Sep 10 00:29:30 CEST 2007 Karsten Schoelzel <kuser at gmx.de>
* More focus fixes.
Okay fix the focus with float once more.
The following will hold now:
- the currently focused window won't loose the focus
- the window which gets floated, will be the focused window on the target workspace, unless
it gets to the current screen, which was non-empty before,
and wasn't the focused window on the current screen
- if float moves a window from a workspace X to another one, the focus on X will be as if X
was simply shifted away
The behaviour seems to be quite complicated :-(
Mon Sep 10 00:44:38 CEST 2007 Karsten Schoelzel <kuser at gmx.de>
* Float focus final fix
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-darcs-patch
Size: 4666 bytes
Desc: A darcs patch for your repository!
Url : http://www.haskell.org/pipermail/xmonad/attachments/20070910/618c965a/attachment.bin
More information about the Xmonad
mailing list