mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-07-31 20:21:51 -07:00
make tabbed work nicely with LayoutCombinators and WindowNavigation.
The problem is that WindowNavigation assumes all windows are navigable, and it was getting confused by decorations. With a bit of work, we can decorate windows *after* combining layouts just fine.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
--
|
||||
------------------------------------------------------------------------
|
||||
|
||||
module XMonad.Config.Droundy ( config, mytab ) where
|
||||
module XMonad.Config.Droundy ( config ) where
|
||||
|
||||
--import Control.Monad.State ( modify )
|
||||
|
||||
@@ -21,6 +21,7 @@ import System.Exit
|
||||
|
||||
-- % Extension-provided imports
|
||||
|
||||
import XMonad.Layout.Simplest
|
||||
import XMonad.Layout.Tabbed
|
||||
import XMonad.Layout.Combo
|
||||
import XMonad.Layout.Mosaic
|
||||
@@ -32,6 +33,7 @@ import XMonad.Layout.WindowNavigation
|
||||
import XMonad.Layout.NoBorders
|
||||
import XMonad.Layout.WorkspaceDir
|
||||
import XMonad.Layout.ToggleLayouts
|
||||
import XMonad.Layout.ShowWName ( showWName )
|
||||
|
||||
import XMonad.Prompt
|
||||
import XMonad.Prompt.Layout
|
||||
@@ -132,13 +134,14 @@ config = -- withUrgencyHook FocusUrgencyHook $
|
||||
defaultConfig
|
||||
{ borderWidth = 1 -- Width of the window border in pixels.
|
||||
, XMonad.workspaces = ["1:mutt","2:iceweasel"]
|
||||
, layoutHook = workspaceDir "~" $ windowNavigation $
|
||||
, layoutHook = addTabs CustomShrink defaultTheme $ showWName $ workspaceDir "~" $
|
||||
windowNavigation $
|
||||
toggleLayouts (noBorders Full) $ avoidStruts $
|
||||
named "tabbed" (noBorders mytab) |||
|
||||
named "xclock" (mytab ****//* combineTwo Square mytab mytab) |||
|
||||
named "three" (mytab **//* mytab *//* combineTwo Square mytab mytab) |||
|
||||
named "widescreen" ((mytab *||* mytab)
|
||||
****//* combineTwo Square mytab mytab) -- |||
|
||||
named "tabbed" (noBorders Simplest) |||
|
||||
named "xclock" (Simplest ****//* combineTwo Square Simplest Simplest) |||
|
||||
named "three" (Simplest **//* Simplest *//* combineTwo Square Simplest Simplest) |||
|
||||
named "widescreen" ((Simplest *||* Simplest)
|
||||
****//* combineTwo Square Simplest Simplest) -- |||
|
||||
--mosaic 0.25 0.5
|
||||
, manageHook = manageHook defaultConfig <+> manageDocks -- add panel-handling
|
||||
, logHook = ewmhDesktopsLogHook -- actually, no logging here, just other stuff
|
||||
@@ -149,8 +152,6 @@ config = -- withUrgencyHook FocusUrgencyHook $
|
||||
, XMonad.keys = keys
|
||||
}
|
||||
|
||||
mytab = tabbed CustomShrink defaultTheme
|
||||
|
||||
instance Shrinker CustomShrink where
|
||||
shrinkIt shr s | Just s' <- dropFromHead " " s = shrinkIt shr s'
|
||||
shrinkIt shr s | Just s' <- dropFromTail " " s = shrinkIt shr s'
|
||||
|
Reference in New Issue
Block a user