summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2015-08-02 10:43:03 +0200
committerMichal Minar <miminar@redhat.com>2015-08-02 11:14:06 +0200
commiteda7f71b7e65adf47389bc9593ee73ee7be4fe84 (patch)
tree133f2ec217259230c1f8ee20cb11fefdc2120c9a /src
parentcbb2de4f8b9a043e1194136093284f197904dc14 (diff)
downloadxminad-eda7f71b7e65adf47389bc9593ee73ee7be4fe84.tar.gz
xminad-eda7f71b7e65adf47389bc9593ee73ee7be4fe84.tar.xz
xminad-eda7f71b7e65adf47389bc9593ee73ee7be4fe84.zip
Fix focus issues for tabbed windows
Use TackFloating module with full or tabbed layouts. Signed-off-by: Michal Minar <miminar@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/XMonad/Local/EventHook.hs14
-rw-r--r--src/XMonad/Local/Layout.hs34
2 files changed, 18 insertions, 30 deletions
diff --git a/src/XMonad/Local/EventHook.hs b/src/XMonad/Local/EventHook.hs
index aa26b7e..d25377b 100644
--- a/src/XMonad/Local/EventHook.hs
+++ b/src/XMonad/Local/EventHook.hs
@@ -14,19 +14,5 @@ eventHook = mconcat
[ ewmhDesktopsEventHook
, docksEventHook
, fadeWindowsEventHook
- , focusFollowsTiledOnly
, fullscreenEventHook
]
-
--- | Enables 'focusFollowsMouse' for tiled windows only. For this to
--- work you need to turn off 'focusFollowsMouse' in your configuration
--- and then add this function to your 'handleEventHook'.
-focusFollowsTiledOnly :: Event -> X All
-focusFollowsTiledOnly e@(CrossingEvent {ev_window = w, ev_event_type = t})
- | isNormalEnter = whenX bothTiled (focus w) >> mempty
- where isNormalEnter = t == enterNotify && ev_mode e == notifyNormal
- bothTiled = notFloating w <&&> currentIsTiled
- currentIsTiled = currentWindow >>= maybe (return True) notFloating
- currentWindow = gets $ W.peek . windowset
- notFloating w' = gets $ not . M.member w' . W.floating . windowset
-focusFollowsTiledOnly _ = mempty
diff --git a/src/XMonad/Local/Layout.hs b/src/XMonad/Local/Layout.hs
index 14bb6a5..e9a5a5a 100644
--- a/src/XMonad/Local/Layout.hs
+++ b/src/XMonad/Local/Layout.hs
@@ -21,6 +21,7 @@ import XMonad.Layout.SubLayouts
import qualified XMonad.Layout.Tabbed as Tab
import XMonad.Layout.ThreeColumns
import XMonad.Layout.ToggleLayouts
+import XMonad.Layout.TrackFloating
import XMonad.Layout.TwoPane
import XMonad.Layout.WindowNavigation
@@ -41,15 +42,16 @@ nmaster = 1
ratio = 1/2
delta = 3/100
-tiled = Tall nmaster delta ratio
-threecol = ThreeColMid nmaster delta (1/3)
+tiled = Tall nmaster delta ratio
+threecol = ThreeColMid nmaster delta (1/3)
-- common layouts
easyLay = windowNavigation baseLay
-baseLay = smartBorders $ (mySubTabbed $ BW.boringWindows $ toggleLayouts threecol
+baseLay = smartBorders $ (mySubTabbed $ BW.boringWindows $
+ toggleLayouts threecol
( MT.mkToggle (MT.single REFLECTX) tiled
||| MT.mkToggle (MT.single REFLECTY) (Mirror tiled)))
- ||| (BW.boringWindows $ Tab.tabbed Tab.shrinkText myTabTheme)
+ ||| (BW.boringWindows $ trackFloating $ Tab.tabbed Tab.shrinkText myTabTheme)
-- workspace layouts
chatL = IM.withIM (1%5) (IM.ClassName "Skype"
@@ -78,22 +80,22 @@ bgL = windowNavigation $ BW.boringWindows $ smartBorders
remoteL = windowNavigation $ BW.boringWindows $ smartBorders
$ Tab.tabbed Tab.shrinkText myTabTheme
-wineGameL = smartBorders $ simpleFloat ||| Full
+wineGameL = smartBorders $ simpleFloat ||| trackFloating Full
-mySubTabbed x = Tab.addTabs Tab.shrinkText myTabTheme $ subLayout [] Simplest x
+mySubTabbed x = trackFloating $ Tab.addTabs Tab.shrinkText myTabTheme $ subLayout [] Simplest x
myTabTheme :: Tab.Theme
myTabTheme = Tab.defaultTheme
- { Tab.activeTextColor = "#ffffff"
- , Tab.activeBorderColor = "#FBAB2E"
- , Tab.activeColor = "#3c3c3c"
- , Tab.inactiveTextColor = "#c0c0c0"
+ { Tab.activeTextColor = "#ffffff"
+ , Tab.activeBorderColor = "#FBAB2E"
+ , Tab.activeColor = "#3c3c3c"
+ , Tab.inactiveTextColor = "#c0c0c0"
, Tab.inactiveBorderColor = "#c0c0c0"
- , Tab.inactiveColor = "#3c3c3c"
- , Tab.urgentTextColor = "#ff0000"
- , Tab.urgentBorderColor = "#ff0000"
- , Tab.urgentColor = "#000000"
- , Tab.fontName = "-*-terminus-*-*-*-*-12-*-*-*-*-*-*-*"
- , Tab.decoHeight = 24
+ , Tab.inactiveColor = "#3c3c3c"
+ , Tab.urgentTextColor = "#ff0000"
+ , Tab.urgentBorderColor = "#ff0000"
+ , Tab.urgentColor = "#000000"
+ , Tab.fontName = "-*-terminus-*-*-*-*-12-*-*-*-*-*-*-*"
+ , Tab.decoHeight = 24
}