mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
vanadium/xmonad: show nmaster count in description
This commit is contained in:
parent
b123f1650d
commit
073078a922
4 changed files with 35 additions and 4 deletions
|
|
@ -0,0 +1,29 @@
|
|||
{-# LANGUAGE FlexibleInstances #-}
|
||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||
|
||||
module Leanamonad.Layout.ReflectMsg where
|
||||
|
||||
import XMonad (
|
||||
Resize (Expand, Shrink),
|
||||
SomeMessage (SomeMessage),
|
||||
fromMessage,
|
||||
)
|
||||
|
||||
import XMonad.Layout.LayoutModifier (
|
||||
LayoutModifier (handleMess, handleMessOrMaybeModifyIt),
|
||||
ModifiedLayout (ModifiedLayout),
|
||||
)
|
||||
|
||||
data ReflectMsg a = ReflectMsg deriving (Show, Read)
|
||||
|
||||
reflectMsg :: l a -> ModifiedLayout ReflectMsg l a
|
||||
reflectMsg = ModifiedLayout ReflectMsg
|
||||
|
||||
instance LayoutModifier ReflectMsg a where
|
||||
handleMessOrMaybeModifyIt m mess
|
||||
| Just Shrink <- fromMessage mess = return . Just . Right $ SomeMessage Expand
|
||||
| Just Expand <- fromMessage mess = return . Just . Right $ SomeMessage Shrink
|
||||
-- Handle the rest by passing it on
|
||||
| otherwise = do
|
||||
mm <- handleMess m mess
|
||||
return (Left <$> mm)
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}
|
||||
|
||||
module Leanamonad.Layout.ResizableTile
|
||||
( module XMonad.Layout.ResizableTile
|
||||
, RTFixDescription(..)
|
||||
) where
|
||||
|
||||
import XMonad
|
||||
import qualified XMonad.StackSet as W
|
||||
import XMonad.Layout.ResizableTile
|
||||
|
||||
newtype RTFixDescription a = RTFixDescription { unwrapRT :: ResizableTall a }
|
||||
deriving (Read, Show)
|
||||
|
||||
instance LayoutClass RTFixDescription a where
|
||||
runLayout (W.Workspace t l s) =
|
||||
let ws' = W.Workspace t (unwrapRT l) s
|
||||
in fmap (fmap (fmap RTFixDescription))
|
||||
. runLayout ws'
|
||||
|
||||
handleMessage (RTFixDescription l) m =
|
||||
fmap (fmap RTFixDescription)
|
||||
$ handleMessage l m
|
||||
|
||||
description (RTFixDescription l) =
|
||||
description l <> " " <> show (_nmaster l)
|
||||
Loading…
Add table
Add a link
Reference in a new issue