Copyright | (c) Ivan A. Malison |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | Ivan A. Malison |
Stability | unstable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- data WorkspaceState
- getCSSClass :: Show s => s -> Text
- cssWorkspaceStates :: [Text]
- data WindowData = WindowData {}
- data WidgetUpdate
- data Workspace = Workspace {}
- data WorkspacesContext = WorkspacesContext {}
- type WorkspacesIO a = ReaderT WorkspacesContext IO a
- liftContext :: TaffyIO a -> WorkspacesIO a
- liftX11Def :: a -> X11Property a -> WorkspacesIO a
- setWorkspaceWidgetStatusClass :: (MonadIO m, IsWidget a) => Workspace -> a -> m ()
- updateWidgetClasses :: (Foldable t1, Foldable t, IsWidget a, MonadIO m) => a -> t1 Text -> t Text -> m ()
- class WorkspaceWidgetController wc where
- getWidget :: wc -> WorkspacesIO Widget
- updateWidget :: wc -> WidgetUpdate -> WorkspacesIO wc
- updateWidgetX11 :: wc -> WidgetUpdate -> WorkspacesIO wc
- data WWC = forall a.WorkspaceWidgetController a => WWC a
- type ControllerConstructor = Workspace -> WorkspacesIO WWC
- type ParentControllerConstructor = ControllerConstructor -> ControllerConstructor
- type WindowIconPixbufGetter = Int32 -> WindowData -> TaffyIO (Maybe Pixbuf)
- data WorkspacesConfig = WorkspacesConfig {
- widgetBuilder :: ControllerConstructor
- widgetGap :: Int
- maxIcons :: Maybe Int
- minIcons :: Int
- getWindowIconPixbuf :: WindowIconPixbufGetter
- labelSetter :: Workspace -> WorkspacesIO String
- showWorkspaceFn :: Workspace -> Bool
- borderWidth :: Int
- updateEvents :: [String]
- updateRateLimitMicroseconds :: Integer
- iconSort :: [WindowData] -> WorkspacesIO [WindowData]
- urgentWorkspaceState :: Bool
- defaultWorkspacesConfig :: WorkspacesConfig
- hideEmpty :: Workspace -> Bool
- wLog :: MonadIO m => Priority -> String -> m ()
- updateVar :: MVar a -> (a -> WorkspacesIO a) -> WorkspacesIO a
- updateWorkspacesVar :: WorkspacesIO (Map WorkspaceId Workspace)
- getWorkspaceToWindows :: [X11Window] -> X11Property (MultiMap WorkspaceId X11Window)
- getWindowData :: Maybe X11Window -> [X11Window] -> X11Window -> X11Property WindowData
- buildWorkspaceData :: Map WorkspaceId Workspace -> WorkspacesIO (Map WorkspaceId Workspace)
- addWidgetsToTopLevel :: WorkspacesIO ()
- addWidget :: WWC -> WorkspacesIO ()
- workspacesNew :: WorkspacesConfig -> TaffyIO Widget
- updateAllWorkspaceWidgets :: WorkspacesIO ()
- setControllerWidgetVisibility :: WorkspacesIO ()
- doWidgetUpdate :: (WorkspaceId -> WWC -> WorkspacesIO WWC) -> WorkspacesIO ()
- updateWorkspaceControllers :: WorkspacesIO ()
- rateLimitFn :: forall req resp. WorkspacesContext -> (req -> IO resp) -> ResultsCombiner req resp -> IO (req -> IO resp)
- onWorkspaceUpdate :: WorkspacesContext -> IO (Event -> IO ())
- onIconChanged :: (Set X11Window -> IO ()) -> Event -> IO ()
- onIconsChanged :: WorkspacesContext -> IO (Set X11Window -> IO ())
- initializeWWC :: WorkspaceWidgetController a => a -> Workspace -> ReaderT WorkspacesContext IO WWC
- data WrappingController = WrappingController {}
- data WorkspaceContentsController = WorkspaceContentsController {}
- buildContentsController :: [ControllerConstructor] -> ControllerConstructor
- defaultBuildContentsController :: ControllerConstructor
- bottomLeftAlignedBoxWrapper :: Text -> ControllerConstructor -> ControllerConstructor
- buildLabelOverlayController :: ControllerConstructor
- buildOverlayContentsController :: [ControllerConstructor] -> [ControllerConstructor] -> ControllerConstructor
- newtype LabelController = LabelController {}
- buildLabelController :: ControllerConstructor
- data IconWidget = IconWidget {
- iconContainer :: EventBox
- iconImage :: Image
- iconWindow :: MVar (Maybe WindowData)
- iconForceUpdate :: IO ()
- getPixbufForIconWidget :: Bool -> MVar (Maybe WindowData) -> Int32 -> WorkspacesIO (Maybe Pixbuf)
- buildIconWidget :: Bool -> Workspace -> WorkspacesIO IconWidget
- data IconController = IconController {}
- buildIconController :: ControllerConstructor
- updateWindowIconsById :: IconController -> [X11Window] -> WorkspacesIO ()
- scaledWindowIconPixbufGetter :: WindowIconPixbufGetter -> WindowIconPixbufGetter
- constantScaleWindowIconPixbufGetter :: Int32 -> WindowIconPixbufGetter -> WindowIconPixbufGetter
- handleIconGetterException :: WindowIconPixbufGetter -> WindowIconPixbufGetter
- getWindowIconPixbufFromEWMH :: WindowIconPixbufGetter
- getWindowIconPixbufFromClass :: WindowIconPixbufGetter
- getWindowIconPixbufFromDesktopEntry :: WindowIconPixbufGetter
- getWindowIconPixbufFromChrome :: WindowIconPixbufGetter
- defaultGetWindowIconPixbuf :: WindowIconPixbufGetter
- unscaledDefaultGetWindowIconPixbuf :: WindowIconPixbufGetter
- addCustomIconsToDefaultWithFallbackByPath :: (WindowData -> Maybe FilePath) -> FilePath -> WindowIconPixbufGetter
- addCustomIconsAndFallback :: (WindowData -> Maybe FilePath) -> (Int32 -> TaffyIO (Maybe Pixbuf)) -> WindowIconPixbufGetter -> WindowIconPixbufGetter
- sortWindowsByPosition :: [WindowData] -> WorkspacesIO [WindowData]
- sortWindowsByStackIndex :: [WindowData] -> WorkspacesIO [WindowData]
- updateImages :: IconController -> Workspace -> WorkspacesIO [IconWidget]
- getWindowStatusString :: WindowData -> Text
- possibleStatusStrings :: [Text]
- updateIconWidget :: IconController -> IconWidget -> Maybe WindowData -> WorkspacesIO ()
- data WorkspaceButtonController = WorkspaceButtonController {}
- buildButtonController :: ParentControllerConstructor
- switch :: MonadIO m => WorkspacesContext -> WorkspaceId -> m Bool
Documentation
data WorkspaceState Source #
Instances
Show WorkspaceState Source # | |
Defined in System.Taffybar.Widget.Workspaces showsPrec :: Int -> WorkspaceState -> ShowS # show :: WorkspaceState -> String # showList :: [WorkspaceState] -> ShowS # | |
Eq WorkspaceState Source # | |
Defined in System.Taffybar.Widget.Workspaces (==) :: WorkspaceState -> WorkspaceState -> Bool # (/=) :: WorkspaceState -> WorkspaceState -> Bool # |
getCSSClass :: Show s => s -> Text Source #
cssWorkspaceStates :: [Text] Source #
data WindowData Source #
WindowData | |
|
Instances
Show WindowData Source # | |
Defined in System.Taffybar.Widget.Workspaces showsPrec :: Int -> WindowData -> ShowS # show :: WindowData -> String # showList :: [WindowData] -> ShowS # | |
Eq WindowData Source # | |
Defined in System.Taffybar.Widget.Workspaces (==) :: WindowData -> WindowData -> Bool # (/=) :: WindowData -> WindowData -> Bool # |
data WorkspacesContext Source #
type WorkspacesIO a = ReaderT WorkspacesContext IO a Source #
liftContext :: TaffyIO a -> WorkspacesIO a Source #
liftX11Def :: a -> X11Property a -> WorkspacesIO a Source #
updateWidgetClasses :: (Foldable t1, Foldable t, IsWidget a, MonadIO m) => a -> t1 Text -> t Text -> m () Source #
class WorkspaceWidgetController wc where Source #
getWidget :: wc -> WorkspacesIO Widget Source #
updateWidget :: wc -> WidgetUpdate -> WorkspacesIO wc Source #
updateWidgetX11 :: wc -> WidgetUpdate -> WorkspacesIO wc Source #
Instances
forall a.WorkspaceWidgetController a => WWC a |
Instances
WorkspaceWidgetController WWC Source # | |
Defined in System.Taffybar.Widget.Workspaces getWidget :: WWC -> WorkspacesIO Widget Source # updateWidget :: WWC -> WidgetUpdate -> WorkspacesIO WWC Source # updateWidgetX11 :: WWC -> WidgetUpdate -> WorkspacesIO WWC Source # |
type ControllerConstructor = Workspace -> WorkspacesIO WWC Source #
type WindowIconPixbufGetter = Int32 -> WindowData -> TaffyIO (Maybe Pixbuf) Source #
data WorkspacesConfig Source #
Instances
Default WorkspacesConfig Source # | |
Defined in System.Taffybar.Widget.Workspaces def :: WorkspacesConfig # |
updateVar :: MVar a -> (a -> WorkspacesIO a) -> WorkspacesIO a Source #
getWindowData :: Maybe X11Window -> [X11Window] -> X11Window -> X11Property WindowData Source #
buildWorkspaceData :: Map WorkspaceId Workspace -> WorkspacesIO (Map WorkspaceId Workspace) Source #
addWidget :: WWC -> WorkspacesIO () Source #
doWidgetUpdate :: (WorkspaceId -> WWC -> WorkspacesIO WWC) -> WorkspacesIO () Source #
rateLimitFn :: forall req resp. WorkspacesContext -> (req -> IO resp) -> ResultsCombiner req resp -> IO (req -> IO resp) Source #
onWorkspaceUpdate :: WorkspacesContext -> IO (Event -> IO ()) Source #
onIconsChanged :: WorkspacesContext -> IO (Set X11Window -> IO ()) Source #
initializeWWC :: WorkspaceWidgetController a => a -> Workspace -> ReaderT WorkspacesContext IO WWC Source #
data WrappingController Source #
A WrappingController can be used to wrap some child widget with another abitrary widget.
Instances
data WorkspaceContentsController Source #
Instances
buildOverlayContentsController :: [ControllerConstructor] -> [ControllerConstructor] -> ControllerConstructor Source #
newtype LabelController Source #
Instances
data IconWidget Source #
IconWidget | |
|
getPixbufForIconWidget :: Bool -> MVar (Maybe WindowData) -> Int32 -> WorkspacesIO (Maybe Pixbuf) Source #
buildIconWidget :: Bool -> Workspace -> WorkspacesIO IconWidget Source #
data IconController Source #
Instances
updateWindowIconsById :: IconController -> [X11Window] -> WorkspacesIO () Source #
constantScaleWindowIconPixbufGetter :: Int32 -> WindowIconPixbufGetter -> WindowIconPixbufGetter Source #
addCustomIconsToDefaultWithFallbackByPath :: (WindowData -> Maybe FilePath) -> FilePath -> WindowIconPixbufGetter Source #
addCustomIconsAndFallback :: (WindowData -> Maybe FilePath) -> (Int32 -> TaffyIO (Maybe Pixbuf)) -> WindowIconPixbufGetter -> WindowIconPixbufGetter Source #
sortWindowsByPosition :: [WindowData] -> WorkspacesIO [WindowData] Source #
Sort windows by top-left corner position.
sortWindowsByStackIndex :: [WindowData] -> WorkspacesIO [WindowData] Source #
Sort windows in reverse _NET_CLIENT_LIST_STACKING order. Starting in xmonad-contrib 0.17.0, this is effectively focus history, active first. Previous versions erroneously stored focus-sort-order in _NET_CLIENT_LIST.
updateImages :: IconController -> Workspace -> WorkspacesIO [IconWidget] Source #
possibleStatusStrings :: [Text] Source #
updateIconWidget :: IconController -> IconWidget -> Maybe WindowData -> WorkspacesIO () Source #
data WorkspaceButtonController Source #
Instances
switch :: MonadIO m => WorkspacesContext -> WorkspaceId -> m Bool Source #