yi-core-0.19.4: Yi editor core library

Safe Haskell | None
Language | Haskell2010

Yi.Tab

Synopsis

- data Tab
- type TabRef = Int
- tabWindowsA :: Functor f => (PointedList Window -> f (PointedList Window)) -> Tab -> f Tab
- tabLayoutManagerA :: Functor f => (AnyLayoutManager -> f AnyLayoutManager) -> Tab -> f Tab
- tabDividerPositionA :: DividerRef -> Lens' Tab DividerPosition
- tkey :: Tab -> TabRef
- tabMiniWindows :: Tab -> [Window]
- tabFocus :: Tab -> Window
- forceTab :: Tab -> Tab
- mapWindows :: (Window -> Window) -> Tab -> Tab
- tabLayout :: Tab -> Layout WindowRef
- tabFoldl :: (a -> Window -> a) -> a -> Tab -> a
- makeTab :: TabRef -> PointedList Window -> Tab
- makeTab1 :: TabRef -> Window -> Tab

# Documentation

data Tab Source #

A tab, containing a collection of windows.

#### Instances

Instances details

Binary Tab Source # |
Instance details Defined in Yi.Tab Methods put :: Tab -> Put Source # get :: Get Tab Source # putList :: [Tab] -> Put Source #
Show Tab Source # |
Instance details Defined in Yi.Tab Methods showsPrec :: Int -> Tab -> ShowS Source # show :: Tab -> String Source # showList :: [Tab] -> ShowS Source #
Eq Tab Source # | Equality on tab identity (the `tkey`)
Instance details Defined in Yi.Tab Methods (==) :: Tab -> Tab -> Bool Source # (/=) :: Tab -> Tab -> Bool Source #

type TabRef = Int Source #

tabWindowsA :: Functor f => (PointedList Window -> f (PointedList Window)) -> Tab -> f Tab Source #

Accessor for the windows. If the windows (but not the focus) have changed when setting, then a relayout will be triggered to preserve the internal invariant.

tabLayoutManagerA :: Functor f => (AnyLayoutManager -> f AnyLayoutManager) -> Tab -> f Tab Source #

Accessor for the layout manager. When setting, will trigger a relayout if the layout manager has changed.

tabDividerPositionA :: DividerRef -> Lens' Tab DividerPosition Source #

Gets / sets the position of the divider with the given reference. The caller must ensure that the DividerRef is valid, otherwise an error will (might!) occur.

tkey :: Tab -> TabRef Source #

For UI sync; fixes #304

tabMiniWindows :: Tab -> [Window] Source #

Returns a list of all mini windows associated with the given tab

tabFocus :: Tab -> Window Source #

forceTab :: Tab -> Tab Source #

Forces all windows in the tab

mapWindows :: (Window -> Window) -> Tab -> Tab Source #

A specialised version of "fmap".

tabLayout :: Tab -> Layout WindowRef Source #

Current layout. Invariant: must be the layout generated by `tabLayoutManager`, up to changing the `divPos`s.

tabFoldl :: (a -> Window -> a) -> a -> Tab -> a Source #

Folds over the windows in the tab

makeTab :: TabRef -> PointedList Window -> Tab Source #

Make a tab from multiple windows

makeTab1 :: TabRef -> Window -> Tab Source #

Make a tab from one window