| Copyright | (c) 2010 Audun Skaugen |
|---|---|
| License | BSD-style (see xmonad/LICENSE) |
| Maintainer | audunskaugen@gmail.com |
| Stability | unstable |
| Portability | unportable |
| Safe Haskell | None |
| Language | Haskell2010 |
XMonad.Layout.Fullscreen
Contents
Description
Hooks for sending messages about fullscreen windows to layouts, and a few example layout modifier that implement fullscreen windows.
Synopsis
- fullscreenSupport :: forall (l :: Type -> Type). LayoutClass l Window => XConfig l -> XConfig (ModifiedLayout FullscreenFull l)
- fullscreenSupportBorder :: forall (l :: Type -> Type). LayoutClass l Window => XConfig l -> XConfig (ModifiedLayout FullscreenFull (ModifiedLayout SmartBorder (ModifiedLayout FullscreenFull l)))
- fullscreenFull :: LayoutClass l a => l a -> ModifiedLayout FullscreenFull l a
- fullscreenFocus :: LayoutClass l a => l a -> ModifiedLayout FullscreenFocus l a
- fullscreenFullRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFull l a
- fullscreenFocusRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFocus l a
- fullscreenFloat :: LayoutClass l a => l a -> ModifiedLayout FullscreenFloat l a
- fullscreenFloatRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFloat l a
- fullscreenEventHook :: Event -> X All
- fullscreenManageHook :: ManageHook
- fullscreenManageHookWith :: Query Bool -> ManageHook
- data FullscreenMessage
- = AddFullscreen Window
- | RemoveFullscreen Window
- | FullscreenChanged
- data FullscreenFloat a
- data FullscreenFocus a
- data FullscreenFull a
Usage:
Provides a ManageHook and an EventHook that sends layout messages with information about fullscreening windows. This allows layouts to make their own decisions about what they should to with a window that requests fullscreen.
The module also includes a few layout modifiers as an illustration of how such layouts should behave.
To use this module, add fullscreenEventHook and fullscreenManageHook
to your config, i.e.
xmonad def { handleEventHook = fullscreenEventHook,
manageHook = fullscreenManageHook,
layoutHook = myLayouts }Now you can use layouts that respect fullscreen, for example the
provided fullscreenFull:
myLayouts = fullscreenFull someLayout
fullscreenSupport :: forall (l :: Type -> Type). LayoutClass l Window => XConfig l -> XConfig (ModifiedLayout FullscreenFull l) Source #
Modifies your config to apply basic fullscreen support -- fullscreen windows when they request it. Example usage:
main = xmonad
$ fullscreenSupport
$ def { ... }fullscreenSupportBorder :: forall (l :: Type -> Type). LayoutClass l Window => XConfig l -> XConfig (ModifiedLayout FullscreenFull (ModifiedLayout SmartBorder (ModifiedLayout FullscreenFull l))) Source #
fullscreenSupport with smartBorders support so the border doesn't show when the window is fullscreen
main = xmonad
$ fullscreenSupportBorder
$ def { ... }fullscreenFull :: LayoutClass l a => l a -> ModifiedLayout FullscreenFull l a Source #
Layout modifier that makes fullscreened window fill the entire screen.
fullscreenFocus :: LayoutClass l a => l a -> ModifiedLayout FullscreenFocus l a Source #
Layout modifier that makes the fullscreened window fill the entire screen only if it is currently focused.
fullscreenFullRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFull l a Source #
As above, but the fullscreened window will fill the specified rectangle instead of the entire screen.
fullscreenFocusRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFocus l a Source #
As above, but the fullscreened window will fill the specified rectangle instead of the entire screen.
fullscreenFloat :: LayoutClass l a => l a -> ModifiedLayout FullscreenFloat l a Source #
Hackish layout modifier that makes floating fullscreened windows fill the entire screen.
fullscreenFloatRect :: LayoutClass l a => RationalRect -> l a -> ModifiedLayout FullscreenFloat l a Source #
As above, but the fullscreened window will fill the specified rectangle instead of the entire screen.
fullscreenEventHook :: Event -> X All Source #
The event hook required for the layout modifiers to work
fullscreenManageHook :: ManageHook Source #
Manage hook that sets the fullscreen property for windows that are initially fullscreen
fullscreenManageHookWith :: Query Bool -> ManageHook Source #
A version of fullscreenManageHook that lets you specify your own query to decide whether a window should be fullscreen.
data FullscreenMessage Source #
Messages that control the fullscreen state of the window. AddFullscreen and RemoveFullscreen are sent to all layouts when a window wants or no longer wants to be fullscreen. FullscreenChanged is sent to the current layout after one of the above have been sent.
Constructors
| AddFullscreen Window | |
| RemoveFullscreen Window | |
| FullscreenChanged |
Instances
| Message FullscreenMessage Source # | |
Defined in XMonad.Layout.Fullscreen | |
Types for reference
data FullscreenFloat a Source #
Instances
| LayoutModifier FullscreenFloat Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFloat Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFloat Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFloat Window)) Source # handleMess :: FullscreenFloat Window -> SomeMessage -> X (Maybe (FullscreenFloat Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFloat Window -> SomeMessage -> X (Maybe (Either (FullscreenFloat Window) SomeMessage)) Source # pureMess :: FullscreenFloat Window -> SomeMessage -> Maybe (FullscreenFloat Window) Source # redoLayout :: FullscreenFloat Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFloat Window)) Source # pureModifier :: FullscreenFloat Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFloat Window)) Source # hook :: FullscreenFloat Window -> X () Source # unhook :: FullscreenFloat Window -> X () Source # modifierDescription :: FullscreenFloat Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFloat Window -> l Window -> String Source # | |
| (Ord a, Read a) => Read (FullscreenFloat a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods readsPrec :: Int -> ReadS (FullscreenFloat a) readList :: ReadS [FullscreenFloat a] readPrec :: ReadPrec (FullscreenFloat a) readListPrec :: ReadPrec [FullscreenFloat a] | |
| Show a => Show (FullscreenFloat a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods showsPrec :: Int -> FullscreenFloat a -> ShowS show :: FullscreenFloat a -> String showList :: [FullscreenFloat a] -> ShowS | |
data FullscreenFocus a Source #
Instances
| LayoutModifier FullscreenFocus Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFocus Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFocus Window)) Source # handleMess :: FullscreenFocus Window -> SomeMessage -> X (Maybe (FullscreenFocus Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFocus Window -> SomeMessage -> X (Maybe (Either (FullscreenFocus Window) SomeMessage)) Source # pureMess :: FullscreenFocus Window -> SomeMessage -> Maybe (FullscreenFocus Window) Source # redoLayout :: FullscreenFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFocus Window)) Source # pureModifier :: FullscreenFocus Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFocus Window)) Source # hook :: FullscreenFocus Window -> X () Source # unhook :: FullscreenFocus Window -> X () Source # modifierDescription :: FullscreenFocus Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFocus Window -> l Window -> String Source # | |
| Read a => Read (FullscreenFocus a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods readsPrec :: Int -> ReadS (FullscreenFocus a) readList :: ReadS [FullscreenFocus a] readPrec :: ReadPrec (FullscreenFocus a) readListPrec :: ReadPrec [FullscreenFocus a] | |
| Show a => Show (FullscreenFocus a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods showsPrec :: Int -> FullscreenFocus a -> ShowS show :: FullscreenFocus a -> String showList :: [FullscreenFocus a] -> ShowS | |
data FullscreenFull a Source #
Instances
| LayoutModifier FullscreenFull Window Source # | |
Defined in XMonad.Layout.Fullscreen Methods modifyLayout :: LayoutClass l Window => FullscreenFull Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => FullscreenFull Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (FullscreenFull Window)) Source # handleMess :: FullscreenFull Window -> SomeMessage -> X (Maybe (FullscreenFull Window)) Source # handleMessOrMaybeModifyIt :: FullscreenFull Window -> SomeMessage -> X (Maybe (Either (FullscreenFull Window) SomeMessage)) Source # pureMess :: FullscreenFull Window -> SomeMessage -> Maybe (FullscreenFull Window) Source # redoLayout :: FullscreenFull Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (FullscreenFull Window)) Source # pureModifier :: FullscreenFull Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (FullscreenFull Window)) Source # hook :: FullscreenFull Window -> X () Source # unhook :: FullscreenFull Window -> X () Source # modifierDescription :: FullscreenFull Window -> String Source # modifyDescription :: LayoutClass l Window => FullscreenFull Window -> l Window -> String Source # | |
| Read a => Read (FullscreenFull a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods readsPrec :: Int -> ReadS (FullscreenFull a) readList :: ReadS [FullscreenFull a] readPrec :: ReadPrec (FullscreenFull a) readListPrec :: ReadPrec [FullscreenFull a] | |
| Show a => Show (FullscreenFull a) Source # | |
Defined in XMonad.Layout.Fullscreen Methods showsPrec :: Int -> FullscreenFull a -> ShowS show :: FullscreenFull a -> String showList :: [FullscreenFull a] -> ShowS | |