h&]       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Safe-Inferred (c) Don Stewart 2007BSD3-style (see LICENSE)dons@galois.com experimentalportable, Haskell 98 Safe-Inferred7A5 xmonadA stack is a cursor onto a window list. The data structure tracks focus by construction, and the master window is by convention the top-most item. Focus operations will not reorder the list that results from flattening the cursor. The structure can be envisaged as:  +-- master: < '7' > up | [ '2' ] +--------- [ '3' ] focus: < '4' > dn +----------- [ '8' ]A   can be viewed as a list with a hole punched in it to make the focused position. Under the zipper/calculus view of such structures, it is the differentiation of a [a], and integrating it back has a natural implementation used in  . xmonad!A structure for window geometries xmonad1A workspace is just a tag, a layout, and a stack. xmonad/Visible workspaces, and their Xinerama screens. xmonad-A cursor into a non-empty list of workspaces.We puncture the workspace list, producing a hole in the structure used to track the currently focused workspace. The two other lists that are produced are used to track those workspaces visible as Xinerama screens, and those workspaces not visible anywhere. xmonadcurrently focused workspace xmonad+non-focused workspaces, visible in xinerama xmonadworkspaces not visible anywhere xmonadfloating windows xmonad:this function indicates to catch that an error is expected xmonadO(n). Create a new stackset, of empty stacks, with given tags, with physical screens whose descriptions are given by m#. The number of physical screens (length m) should be less than or equal to the number of workspace tags. The first workspace in the list will be current.Xinerama: Virtual workspaces are assigned to physical screens, starting at 0. xmonadO(w). Set focus to the workspace with index 'i'. If the index is out of range, return the original  .Xinerama: If the workspace is not visible on any Xinerama screen, it becomes the current screen. If it is in the visible list, it becomes current. xmonadSet focus to the given workspace. If that workspace does not exist in the stackset, the original workspace is returned. If that workspace is  , then display that workspace on the current screen, and move the current workspace to  . If that workspace is   on another screen, the workspaces of the current screen and the other screen are swapped. xmonad9Find the tag of the workspace visible on Xinerama screen sc.   if screen is out of bounds. xmonadThe   function takes a default value, a function, and a StackSet. If the current stack is Nothing,   returns the default value. Otherwise, it applies the function to the stack, returning the result. It is like   for the focused workspace. xmonad*Apply a function, and a default value for  , to modify the current stack. xmonadApply a function to modify the current stack if it isn't empty, and we don't want to empty it. xmonadO(1)<. Extract the focused element of the current stack. Return   that element, or   for an empty stack. xmonadO(n) . Flatten a   into a list. xmonadO(n)-. Flatten a possibly empty stack into a list. xmonadO(n). Turn a list into a possibly empty stack (i.e., a zipper): the first element of the list is current, and the rest of the list is down. xmonadO(n)'. 'filter p s' returns the elements of s such that p evaluates to  8. Order is preserved, and focus moves as described for  . xmonadO(s). Extract the stack on the current workspace, as a list. The order of the stack is determined by the master window -- it will be the head of the list. The implementation is given by the natural integration of a one-hole list cursor, back to a list. xmonadO(1), O(w) on the wrapping case. Move the window focus up the stack, wrapping if we reach the end. The wrapping should model a cycle on the current stack. The master> window and window order are unaffected by movement of focus. xmonadO(1), O(w) on the wrapping case. Like  ,, but move the window focus down the stack. xmonadO(1), O(w) on the wrapping case. Swap the upwards (left) neighbour in the stack ordering, wrapping if we reach the end. Much like for   and  , the wrapping model should   on the current stack. xmonadO(1), O(w) on the wrapping case. Like  4, but for swapping the downwards (right) neighbour. xmonad A variant of  , with the same asymptotics that works on a   rather than an entire  . xmonad A variant of  , with the same asymptotics that works on a   rather than an entire  . xmonad A variant of spawUp, with the same asymptotics that works on a   rather than an entire  . xmonad5reverse a stack: up becomes down and down becomes up. xmonad'O(1) on current window, O(n) in general. Focus the window w$, and set its workspace as current. xmonad!Get a list of all screens in the  . xmonad$Get a list of all workspaces in the  . xmonad!Get a list of all windows in the   in no particular order xmonad/Get the tag of the currently focused workspace. xmonad Is the given tag present in the  ? xmonad%Rename a given tag if present in the  . xmonadEnsure that a given set of workspace tags is present by renaming existing workspaces and/or creating new hidden workspaces as necessary. xmonad,Map a function on all the workspaces in the  . xmonad)Map a function on all the layouts in the  . xmonadO(n). Is a window in the  ? xmonad'O(1) on current window, O(n) in general . Return  + the workspace tag of the given window, or   if the window is not in the  . xmonadO(n). (Complexity due to duplicate check). Insert a new element into the stack, above the currently focused element. The new element is given focus; the previously focused element is moved down.If the element is already in the stackset, the original stackset is returned unmodified.Semantics in Huet's paper is that insert doesn't move the cursor. However, we choose to insert above, and move the focus. xmonad'O(1) on current window, O(n) in general. Delete window w. if it exists. There are 4 cases to consider: delete on an   workspace leaves it Nothing(otherwise, try to move focus to the down&otherwise, try to move focus to the up2otherwise, you've got an empty workspace, becomes  %Behaviour with respect to the master:deleting the master window resets it to the newly focused window,otherwise, delete doesn't affect the master. xmonadOnly temporarily remove the window from the stack, thereby not destroying special information saved in the Stackset xmonadGiven a window, and its preferred rectangle, set it as floating A floating window should already be managed by the  . xmonad%Clear the floating status of a window xmonadO(s). Set the master window to the focused window. The old master window is swapped in the tiling order with the focused window. Focus stays with the item moved. xmonadO(s). Set the master window to the focused window. The other windows are kept in order and shifted down on the stack, as if you just hit mod-shift-k a bunch of times. Focus stays with the item moved. xmonadO(s)!. Set focus to the master window. xmonadO(w). shift. Move the focused element of the current stack to stack n, leaving it as the focused element on that stack. The item is inserted above the currently focused element on that workspace. The actual focused workspace doesn't change. If there is no element on the current stack, the original stackSet is returned. xmonadO(n).. shiftWin. Searches for the specified window w: on all workspaces of the stackSet and moves it to stack n, leaving it as the focused element on that stack. The item is inserted above the currently focused element on that workspace. The actual focused workspace doesn't change. If the window is not found in the stackSet, the original stackSet is returned. (c) Spencer Janssen 2007BSD3-style (see LICENSE)spencerjanssen@gmail.comunstable+not portable, uses cunning newtype deriving Safe-Inferred&789t xmonad,Compilation method for xmonad configuration. xmonadConvenient type alias for the most common case in which one might want to use the   type. xmonadAll the directories that xmonad will use. They will be used for the following purposes:dataDir: This directory is used by XMonad to store data files such as the run-time state file.cfgDir: This directory is where user configuration files are stored (e.g, the xmonad.hs file). You may also create a lib subdirectory in the configuration directory and the default recompile command will add it to the GHC include path.cacheDir: This directory is used to store temporary files that can easily be recreated such as the configuration binary and any intermediate object files generated by GHC. Also, the XPrompt history file goes here.*For how these directories are chosen, see  . xmonad-Existential type to store a config extension. xmonad,Existential type to store a state extension. xmonadNon-persistent state extension xmonadPersistent extension xmonadEvery module must make the data it wants to store an instance of this class.)Minimal complete definition: initialValue xmonad0Defines an initial value for the state extension xmonadSpecifies whether the state extension should be persistent. Setting this method to   will make the stored data survive restarts, but requires a to be an instance of Read and Show.It defaults to  , i.e. no persistence. xmonad  are core messages that all layouts (especially stateful layouts) should consider handling. xmonad&sent when a layout becomes non-visible xmonad)sent when xmonad is exiting or restarting xmonad$A wrapped value of some type in the   class. xmonadBased on ideas in /An Extensible Dynamically-Typed Hierarchy of Exceptions/, Simon Marlow, 2006. Use extensible messages to the   handler.8User-extensible messages must be a member of this class. xmonad$Every layout must be an instance of  , which defines the basic layout operations along with a sensible default for each.All of the methods have default implementations, so there is no minimal complete definition. They do, however, have a dependency structure by default; this is something to be aware of should you choose to implement one of these methods. Here is how a minimal complete definition would look like if we did not provide any default implementations:  || ((  ||  ) &&  )  ||   Note that any code which uses   methods should only ever call  ,  , and  &! In other words, the only calls to  ,  , and other such methods should be from the default implementations of  ,  , and so on. This ensures that the proper methods will be used, regardless of the particular methods that any   instance chooses to define. xmonad By default,   calls  1 if there are any windows to be laid out, and  " otherwise. Most instances of  & probably do not need to implement  ; it is only useful for layouts which wish to make use of more of the   information (for example, XMonad.Layout.PerWorkspace). xmonadGiven a & in which to place the windows, and a   of windows, return a list of windows and their corresponding Rectangles. If an element is not given a Rectangle by  , then it is not shown on screen. The order of windows in this list should be the desired stacking order.5Also possibly return a modified layout (by returning Just newLayout), if this layout needs to be modified (e.g. if it keeps track of some sort of state). Return Nothing- if the layout does not need to be modified.(Layouts which do not need access to the   monad ( , window manager state, or configuration) and do not keep track of their own state should implement   instead of  . xmonadThis is a pure version of  /, for cases where we don't need access to the   monad to determine how to lay out the windows, and we don't need to modify the layout itself. xmonad % is called when there are no windows. xmonad ! performs message handling. If   returns Nothing, then the layout did not respond to the message and the screen is not refreshed. Otherwise,  8 returns an updated layout and the screen is refreshed.(Layouts which do not need access to the  : monad to decide how to handle messages should implement   instead of   (this restricts the risk of error, and makes testing much easier). xmonadRespond to a message by (possibly) changing our layout, but taking no other action. If the layout changes, the screen will be refreshed. xmonadThis should be a human-readable string that is used when selecting layouts by name. The default implementation is  (, which is in some cases a poor default. xmonad8An existential type that can hold any object that is in   and  . xmonad The X monad,   and   transformers over   encapsulating the window manager configuration and state, respectively.)Dynamic components may be retrieved with  , static components with  . With newtype deriving we get readers and state monads instantiated on   and   automatically. xmonadThe  with screen dimensions xmonadPhysical screen indices xmonadVirtual workspace indices xmonad4Non focused windows border color. Default: "#dddddd" xmonad0Focused windows border color. Default: "#ff0000" xmonad4The preferred terminal application. Default: "xterm" xmonadThe available layouts xmonad-The action to run when a new window is opened xmonadHandle an X event, returns (All True) if the default handler should also be run afterwards. mappend should be used for combining event hooks in most cases. xmonadThe list of workspaces' names xmonadthe mod modifier xmonad3The key binding: a map from key presses and actions xmonadThe mouse bindings xmonadThe border width xmonad5The action to perform when the windows set is changed xmonad The action to perform on startup xmonad,Whether window entry events can change focus xmonadFalse to make a click which changes focus to be additionally passed to the window xmonad.The client events that xmonad is interested in xmonad,The root events that xmonad is interested in xmonadModify the configuration, complain about extra arguments etc. with arguments that are not handled by default xmonad!Stores custom config information. The module XMonad.Util.ExtensibleConf in xmonad-contrib provides additional information and a simple interface for using this. xmonad4XConf, the (read-only) window manager configuration. xmonadthe X11 display xmonadinitial user configuration xmonadthe root window xmonad!border color of unfocused windows xmonad"border color of the focused window xmonad#a mapping of key presses to actions xmonad&a mapping of button presses to actions xmonad#was refocus caused by mouse action? xmonadposition of the mouse according to the event currently being processed xmonadevent currently being processed xmonaddirectories to use xmonad+XState, the (mutable) window manager state. xmonadworkspace list xmonadthe Set of mapped windows xmonad"the number of expected UnmapEvents xmonadThe numlock modifier xmonad stores custom state information. The module XMonad.Util.ExtensibleState in xmonad-contrib provides additional information and a simple interface for using this. xmonadRun the   monad, given a chunk of   monad code, and an initial state Return the result, and final state xmonad Run in the   monad, and in case of exception, and catch it and log it to stderr, and run the error case. xmonadExecute the argument, catching all exceptions. Either this function or  9 should be used at all callsites of user customized code. xmonadSame as userCode but with a default argument to return instead of using Maybe, provided for convenience. xmonad4Run a monad action with the current display settings xmonad/Run a monadic action with the current stack set xmonad Safely access window attributes. xmonad+True if the given window is the root window xmonad.Wrapper for the common case of atom internment xmonadCommon non-predefined atoms xmonadCommon non-predefined atoms xmonadCommon non-predefined atoms xmonadCommon non-predefined atoms xmonad Using the  ; as a witness, parse existentially wrapped windows from a  . xmonad!And now, unwrap a given, unknown  8 type, performing a (dynamic) type check on the result. xmonadGeneral utilitiesLift an   action into the   monad xmonadLift an   action into the  % monad. If the action results in an   exception, log the exception to stderr and continue normal execution. xmonadspawn. Launch an external application. Specifically, it double-forks and runs the  " you pass as a command to /bin/sh.1Note this function assumes your locale uses utf8. xmonadLike  , but returns the   of the launched application xmonadA replacement for  & which resets default signal handlers. xmonadUse xmessage! to show information to the user. xmonad " -- don't show loaded module names > :m +XMonad.Core -- load the xmonad core > :m +XMonad.Layout.Grid -- load whatever module you want to use > description Grid -- find out what it's called "Grid"?As yet another (possibly easier) alternative, you can use the XMonad.Layout.Renamed module (also in xmonad-contrib7) to give custom names to your layouts, and use those.1For example, if you want to jump directly to the   layout you can do , ((modm .|. controlMask, xK_f), sendMessage $ JumpToLayout "Full") xmonad1Messages to change the current layout. Also see  . xmonad4Mirror a layout, compute its 90 degree rotated form. xmonad,The builtin tiling mode of xmonad. Supports  ,   and  . xmonad=The default number of windows in the master pane (default: 1) xmonadPercent of screen to increment by when resizing panes (default: 3/100) xmonadDefault proportion of screen occupied by master pane (default: 1/2) xmonad>Simple fullscreen mode. Renders the focused window fullscreen. xmonad2Increase the number of clients in the master pane. xmonad#Change the size of the master pane. xmonadCompute the positions for windows using the default two-pane tiling algorithm.The screen is divided into two panes. All clients are then partitioned between these two panes. One pane, the master, by convention has the least number of windows in it. xmonadMirror a rectangle. xmonadThe layout choice combinator xmonadA small wrapper around handleMessage, as it is tedious to write SomeMessage repeatedly. xmonadA smart constructor that takes some potential modifications, returns a new structure if any fields have changed, and performs any necessary cleanup on newly non-visible layouts. xmonadfrac<, what proportion of the screen to devote to the master areaxmonadr', the rectangle representing the screenxmonadnmaster*, the number of windows in the master panexmonadn%, the total number of windows to tile   5(c) Spencer Janssen 2007BSD3-style (see LICENSE)dons@cse.unsw.edu.auunstablenot portable, mtl, posix Safe-Inferred< xmonad#An alias for a (width, height) pair xmonad2A type to help serialize xmonad's state to a file. xmonadDetect whether a window has fixed size or is transient. This check can be used to determine whether the window should be floating or not xmonadAdd a new window to be managed in the current workspace. Bring it into focus.Whether the window is already managed, or not, it is mapped, has its border set, and its event mask set. xmonadA window no longer exists; remove it from the window list, on whatever workspace it is. xmonadKill the specified window. If we do kill it, we'll get a delete notify back from X.There are two ways to delete a window. Either just kill it, or if it supports the delete protocol, send a delete event (e.g. firefox) xmonad"Kill the currently focused client. xmonadModify the current window list with a pure function, and refresh xmonad Modify the  WindowSet# in state with no special handling. xmonad Perform an X action and check its return value against a predicate p. If p holds, unwind changes to the  WindowSet and replay them using windows. xmonad Perform an X action. If it returns Any True, unwind the changes to the  WindowSet and replay them using windows. This is a version of  windowBracket0 that discards the return value and handles an X. action that reports its need for refresh via Any. xmonadProduce the actual rectangle from a screen and a ratio on that screen. xmonad!Set a window's WM_STATE property. xmonadSet the border color using the window's color map, if possible; otherwise fall back to the color in Pixel. xmonad4Hide a window by unmapping it and setting Iconified. xmonadShow a window by mapping it and setting Normal. This is harmless if the window was already visible. xmonad?Set some properties when we initially gain control of a window. xmonad?Render the currently visible workspaces, as determined by the StackSet(. Also, set focus to the focused window. This is our view operation (MVC), in that it pretty prints our model with X calls. xmonad7Remove all events of a given type from the event queue. xmonadMove and resize w such that it fits inside the given rectangle, including its border. xmonadReturns   if the first rectangle is contained within, but not equal to the second. xmonadGiven a list of screens, remove all duplicated screens and screens that are entirely contained within another. xmonadClean the list of screens according to the rules documented for nubScreens. xmonadThe screen configuration may have changed (due to -- xrandr), update the state and refresh the screen, and reset the gap. xmonad9Tell whether or not to intercept clicks on a given window xmonad8Set the focus to the window on top of the stack, or root xmonadSet focus explicitly to window w if it is managed by us, or root. This happens if X notices we've moved the mouse (and perhaps moved the mouse to a new screen). xmonad)Call X to set the keyboard focus details. xmonad,Given a list of keybindings, turn the given  s into actual   s and prepare them for grabbing. xmonadThrow a message to the current   possibly modifying how we layout the windows, in which case changes are handled through a refresh. xmonad2Send a message to all layouts, without refreshing. xmonad/Send a message to a layout, without refreshing. xmonad'Update the layout field of a workspace. xmonad1Set the layout of the currently viewed workspace. xmonad#Return workspace visible on screen sc, or  . xmonad Apply an  < operation to the currently focused window, if there is one. xmonad Apply an   operation to all unfocused windows on the current workspace, if there are any. xmonad,Is the window is under management by xmonad? xmonadCombinations of extra modifier masks we need to grab keys/buttons for. (numlock and capslock) xmonad#Strip numlock/capslock from a mask. xmonadSet the  alpha value to 255. xmonadGet the  value for a named color. xmonadWrite the current window state (and extensible state) to a file so that xmonad can resume with that state intact. xmonadRead the state of a previous xmonad instance from a file and return that state. The state file is removed after reading it. xmonadrestart name resume6 attempts to restart xmonad by executing the program name. If resume is  , restart with the current window state. When executing another window manager, resume should be  . xmonadGiven a window, find the screen it is located on, and compute the geometry of that window WRT that screen. xmonad>Given a point, determine the screen (if any) that contains it. xmonadpointWithin x y r returns   if the (x, y) co-ordinate is within r. xmonad;Make a tiled window floating, using its suggested rectangle xmonadAccumulate mouse motion events xmonadLike  9, but with the ability to specify a custom cursor shape. xmonadDrag the window under the cursor with the mouse while it is dragged. xmonadResize the window under the cursor with the mouse while it is dragged. xmonadGiven a window, build an adjuster function that will reduce the given dimensions according to the window's border width and size hints. xmonadReduce the dimensions if needed to comply to the given SizeHints, taking window borders into account. xmonadReduce the dimensions if needed to comply to the given SizeHints. xmonad1Use X11 size hints to scale a pair of dimensions. xmonadReduce the dimensions so their aspect ratio falls between the two given aspect ratios. xmonadReduce the dimensions so they are a multiple of the size increments. xmonadReduce the dimensions if they exceed the given maximum dimensions.> > (c) Spencer Janssen 2007BSD3-style (see LICENSE)spencerjanssen@gmail.comunstable Safe-InferredH xmonadLift an   action to a  . xmonad7The identity hook that returns the WindowSet unchanged. xmonadInfix  . Compose two   from right to left. xmonadCompose the list of  s. xmonadp --> x. If p returns  , execute the  . (-->) :: Monoid m => Query Bool -> Query m -> Query m -- a simpler type xmonadq =? x. if the result of q equals x , return  . xmonad  lifted to a  . xmonad  lifted to a  . xmonadIf-then-else lifted to a  . xmonadReturn the window title. xmonad'Return the application name; i.e., the first string returned by WM_CLASS. xmonadBackwards compatible alias for  . xmonad%Return the resource class; i.e., the second string returned by WM_CLASS. xmonad8A query that can return an arbitrary X property of type  , identified by name. xmonad:Return whether the window will be a floating window or not xmonad Modify the   with a pure function. xmonad&Move the window to the floating layer. xmonad&Map the window and remove it from the  . xmonad$Move the window to a given workspace   0 3 3(c) Spencer Janssen 2007BSD3-style (see LICENSE)dons@galois.comstableportable Safe-Inferred xmonadThe default number of workspaces (virtual screens) and their names. By default we use numeric strings, but any string may be used as a workspace name. The number of workspaces is determined by the length of this list.A tagging example: 7workspaces = ["web", "irc", "code" ] ++ map show [4..9] xmonadmodMask lets you specify which modkey you want to use. The default is mod1Mask ("left alt"). You may also consider using mod3Mask ("right alt"), which does not conflict with emacs keybindings. The "windows key" is usually mod4Mask. xmonad%Width of the window border in pixels. xmonad>Border colors for unfocused and focused windows, respectively. xmonad>Border colors for unfocused and focused windows, respectively. xmonadExecute arbitrary actions and WindowSet manipulations when managing a new window. You can use this to, for example, always float a particular program, or have a client always appear on a particular workspace.To find the property name associated with a program, use xprop | grep WM_CLASS and click on the client you're interested in. xmonadPerform an arbitrary action on each internal state change or X event. Examples include: do nothinglog the state to stdoutSee the  DynamicLog extension for examples. xmonadDefines a custom handler function for X Events. The function should return (All True) if the default handler is to be run afterwards. To combine event hooks, use mappend or mconcat from Data.Monoid. xmonad.Perform an arbitrary action at xmonad startup. xmonadThe available layouts. Note that each layout is separated by |||, which denotes layout choice. xmonad.The client events that xmonad is interested in xmonad,The root events that xmonad is interested in xmonadThe preferred terminal program, which is used in a binding below and by certain contrib modules. xmonad(Whether focus follows the mouse pointer. xmonadWhether a mouse click select the focus or is just passed to the window xmonadThe xmonad key bindings. Add, modify or remove key bindings here.(The comment formatting character is used when generating the manpage) xmonad5Mouse bindings: default actions bound to mouse events xmonad.The default set of configuration values itself xmonadFinally, a copy of the default bindings in simple textual tabular format.  (c) Spencer Janssen 2007BSD3-style (see LICENSE)spencerjanssen@gmail.comunstable"not portable, uses mtl, X11, posix Safe-Inferred: xmonad| The entry point into xmonad. Attempts to compile any custom main for xmonad, and if it doesn't find one, just launches the default. xmonadBuild the xmonad configuration file with ghc, then execute it. If there are no errors, this function does not return. An exception is raised in any of these cases: ghc missing6both the configuration file and executable are missingxmonad.hs fails to compile&* wrong ghc in path (fails to compile)* type error, syntax error, ..7Missing XMonad/XMonadContrib modules due to ghc upgrade xmonada wrapper for  xmonad*Entry point into xmonad for custom builds.This function isn't meant to be called by the typical xmonad user because it:,Does not process any command line arguments.7Therefore doesn't know how to restart a running xmonad.Does not compile your configuration file since it assumes it's actually running from within your compiled configuration.Unless you know what you are doing, you should probably be using the   function instead.However, if you are using a custom build environment (such as stack, cabal, make, etc.) you will likely want to call this function instead of  8. You probably also want to have a key binding to the   function that restarts your custom binary with the resume flag set to True. xmonadRuns handleEventHook from the configuration and runs the default handler function if it returned True. xmonadEvent handler. Map X events onto calls into Operations.hs, which modify our internal model of the window manager state.!Events dwm handles that we don't:  ButtonPress= buttonpress,Expose = expose,PropertyNotify= propertynotify, xmonadscan for any new windows to manage. If they're already managed, this should be idempotent. xmonadGrab the keys back xmonadGrab the buttons xmonadreplace. to signals compliant window managers to exit.  (c) Don StewartBSD3Don Stewart  provisional Safe-Inferred   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                     ! " # $ % & ' ( ) * + , - . /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /: /; /< /= /> /? /@ /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /[ /\ /] /^ /_ /` /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /{ /| /} /~ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               xmonad-0.17.2-inplace XMonad.CoreXMonad XMonad.ConfigXMonad.StackSet XMonad.LayoutXMonad.OperationsXMonad.ManageHook XMonad.Main Paths_xmonadbaseData.Typeable.InternalTypeableX11-1.10.3-84acc0cd41b7cd61fcf4e6bea26322700fda25d9c38aabbbeb6f57977f18b7baGraphics.X11.Xlib.WindowrestackWindowswithdrawWindow iconifyWindowtranslateCoordinates storeNamecreateSimpleWindow createWindowmoveResizeWindow resizeWindow moveWindowreparentWindow mapSubwindowsunmapSubwindows mapWindow lowerWindow raiseWindowcirculateSubwindowsDowncirculateSubwindowsUpcirculateSubwindows destroyWindowdestroySubwindowssetWindowBordersetWindowBorderPixmapsetWindowBorderWidthsetWindowBackgroundsetWindowBackgroundPixmapsetWindowColormap addToSaveSetremoveFromSaveSet changeSaveSet clearWindow clearAreaGraphics.X11.Xlib.MiscsetTextProperty rotateBuffers fetchBytes fetchBuffer storeBytes storeBufferdrawImageString drawStringfillArcs fillPolygonfillRectanglesdrawArcsdrawRectangles drawSegments drawLines drawPoints set_cursor set_colormapset_override_redirectset_do_not_propagate_maskset_event_maskset_save_underset_backing_pixelset_backing_planesset_backing_storeset_win_gravityset_bit_gravityset_border_pixelset_border_pixmapset_background_pixelset_background_pixmapallocaSetWindowAttributessetWMProtocols recolorCursorcreateGlyphCursorcreatePixmapCursor setIconName getIconName lookupStringnoSymbolstringToKeysymkeysymToStringdisplayKeycodesreadBitmapFilematchVisualInfo getVisualInfo visualAllMaskvisualBitsPerRGBMaskvisualColormapSizeMaskvisualBlueMaskMaskvisualGreenMaskMaskvisualRedMaskMaskvisualClassMaskvisualDepthMaskvisualScreenMask visualIDMask visualNoMaskgetPointerControlgetScreenSaverscreenSaverResetscreenSaverActivedefaultBlankingpreferBlankingdontPreferBlankingdefaultExposuresallowExposuresdontAllowExposuressetLocaleModifiers getGeometrygeometrysetDefaultErrorHandler displayName queryPointer queryBestSizequeryBestCursorqueryBestStipple queryBestTile getInputFocus rmInitialize autoRepeatOff autoRepeatOnbellsetCloseDownModelastKnownRequestProcessed setInputFocus grabButton ungrabButton grabPointer ungrabPointergrabKey ungrabKey grabKeyboardungrabKeyboard grabServer ungrabServersupportsLocalesetScreenSaveractivateScreenSaverresetScreenSaverforceScreenSaver warpPointervisualIDFromVisual initThreads lockDisplay unlockDisplay createPixmap freePixmapbitmapBitOrder bitmapUnit bitmapPad lookupKeysymkeycodeToKeysymkeysymToKeycode defineCursorundefineCursorcreateFontCursor freeCursor drawPointdrawLine drawRectangledrawArc fillRectanglefillArccopyArea copyPlaneAllowExposuresModePreferBlankingModeScreenSaverModeVisualInfoMaskGraphics.X11.Xlib.AtomlAST_PREDEFINEDwM_TRANSIENT_FORwM_CLASS cAP_HEIGHT fULL_NAME fAMILY_NAME fONT_NAMEnOTICE cOPYRIGHT rESOLUTION pOINT_SIZEwEIGHT qUAD_WIDTHx_HEIGHT iTALIC_ANGLEsTRIKEOUT_DESCENTsTRIKEOUT_ASCENTuNDERLINE_THICKNESSuNDERLINE_POSITION sUBSCRIPT_Y sUBSCRIPT_X sUPERSCRIPT_Y sUPERSCRIPT_X eND_SPACE mAX_SPACE nORM_SPACE mIN_SPACE wM_ZOOM_HINTS wM_SIZE_HINTSwM_NORMAL_HINTSwM_NAME wM_ICON_SIZE wM_ICON_NAMEwM_CLIENT_MACHINEwM_HINTS wM_COMMANDwINDOWvISUALIDsTRING rGB_RED_MAP rGB_GREEN_MAP rGB_GRAY_MAPrGB_DEFAULT_MAP rGB_BLUE_MAP rGB_BEST_MAP rGB_COLOR_MAPrESOURCE_MANAGER rECTANGLEpOINTpIXMAPiNTEGERfONTdRAWABLE cUT_BUFFER7 cUT_BUFFER6 cUT_BUFFER5 cUT_BUFFER4 cUT_BUFFER3 cUT_BUFFER2 cUT_BUFFER1 cUT_BUFFER0cURSORcOLORMAPcARDINALbITMAPaTOMaRC sECONDARYpRIMARY getAtomNames getAtomName internAtomGraphics.X11.Xlib.Color queryColors queryColor storeColor freeColors parseColor allocColorallocNamedColor lookupColorinstallColormapuninstallColormapcopyColormapAndFreecreateColormap freeColormapGraphics.X11.Xlib.ContextcreateGC setDashes setArcMode setBackground setForeground setFunctionsetGraphicsExposures setClipMask setClipOrigin setFillRule setFillStylesetFontsetLineAttributes setPlaneMasksetState setStipplesetSubwindowMode setTSOriginsetTilegContextFromGCfreeGCflushGCcopyGCGraphics.X11.Xlib.Event sendEventgettimeofday_in_milliseconds waitForEventget_ConfigureEventget_ExposeEventget_MotionEventget_ButtonEvent asKeyEvent get_KeyEvent get_Window get_EventType allocaXEventqueuedAfterReadingqueuedAfterFlush queuedAlreadyflushsyncpending eventsQueued nextEvent allowEvents selectInput windowEventcheckWindowEvent maskEventcheckMaskEventcheckTypedEventcheckTypedWindowEvent putBackEvent peekEvent QueuedModeXEvent XEventPtr XKeyEvent XKeyEventPtr XButtonEvent XMotionEvent XExposeEvent XMappingEventXConfigureEventGraphics.X11.Xlib.Display openDisplay serverVendor displayStringscreenResourceStringresourceManagerString allPlanes_aux blackPixel whitePixelconnectionNumberdefaultColormap defaultGC defaultDepth defaultScreendefaultScreenOfDisplay displayHeightdisplayHeightMM displayWidthdisplayWidthMMmaxRequestSizedisplayMotionBufferSizeimageByteOrderprotocolRevisionprotocolVersion screenCount defaultVisual displayCells displayPlanesscreenOfDisplaydefaultRootWindow rootWindowqLengthnoOp closeDisplayGraphics.X11.Xlib.CursorxC_xtermxC_watch xC_ur_angle xC_umbrella xC_ul_anglexC_trek xC_top_tee xC_top_sidexC_top_right_cornerxC_top_left_cornerxC_top_left_arrow xC_tcross xC_targetxC_star xC_spraycan xC_spider xC_sizing xC_shuttlexC_sb_v_double_arrowxC_sb_up_arrowxC_sb_right_arrowxC_sb_left_arrowxC_sb_h_double_arrowxC_sb_down_arrow xC_sailboat xC_rtl_logoxC_rightbutton xC_right_tee xC_right_side xC_right_ptrxC_question_arrowxC_plus xC_pirate xC_pencilxC_mousexC_man xC_lr_angle xC_ll_angle xC_leftbutton xC_left_tee xC_left_side xC_left_ptr xC_iron_crossxC_iconxC_heartxC_hand2xC_hand1xC_gumby xC_gobblerxC_fleur xC_exchange xC_draped_boxxC_draft_smallxC_draft_largexC_double_arrow xC_dotboxxC_dotxC_diamond_cross xC_crosshairxC_cross_reversexC_cross xC_coffee_mugxC_clock xC_circle xC_center_ptr xC_box_spiral xC_bottom_teexC_bottom_sidexC_bottom_right_cornerxC_bottom_left_corner xC_bogosityxC_boatxC_based_arrow_upxC_based_arrow_downxC_arrow xC_X_cursorGraphics.X11.Xlib.Font textWidth textExtentsdescentFromFontStructascentFromFontStructfontFromFontStruct loadQueryFont fontFromGC queryFontfreeFontGlyph FontStruct CharStructGraphics.X11.Xlib.ImagegetPixelgetImage createImageputImage destroyImage xGetPixelGraphics.X11.Xlib.Region setRegion shrinkRegion offsetRegionclipBox rectInRegion pointInRegion equalRegion emptyRegion xorRegion unionRegionunionRectWithRegionsubtractRegionintersectRegion polygonRegion createRegion rectanglePart rectangleIn rectangleOutRegionRectInRegionResultGraphics.X11.Xlib.ScreenblackPixelOfScreenwhitePixelOfScreen cellsOfScreendefaultColormapOfScreendefaultDepthOfScreendefaultGCOfScreendefaultVisualOfScreendoesBackingStoredoesSaveUndersdisplayOfScreeneventMaskOfScreenminCmapsOfScreenmaxCmapsOfScreenrootWindowOfScreen widthOfScreenwidthMMOfScreenheightOfScreenheightMMOfScreenplanesOfScreenscreenNumberOfScreenGraphics.X11.Xlib.TypesDisplayScreenVisualGCSetWindowAttributesvisualInfo_bitsPerRGBvisualInfo_colormapSizevisualInfo_blueMaskvisualInfo_greenMaskvisualInfo_redMaskvisualInfo_classvisualInfo_depthvisualInfo_screenvisualInfo_visualIDvisualInfo_visual VisualInfoImagePixelPosition DimensionAngle ScreenNumberBufferpt_ypt_xPoint rect_height rect_widthrect_yrect_x Rectangle arc_angle2 arc_angle1 arc_height arc_widtharc_yarc_xArcseg_y2seg_x2seg_y1seg_x1Segment color_flags color_blue color_green color_red color_pixelColorGraphics.X11.TypesxRR_UnknownConnectionxRR_Disconnected xRR_Connected xRR_Reflect_Y xRR_Reflect_XxRR_Rotate_270xRR_Rotate_180 xRR_Rotate_90 xRR_Rotate_0zPixmapxyPixmapxyBitmapfontRightToLeftfontLeftToRightdoBluedoGreendoRedalways whenMapped notUseful unmapGravity staticGravitysouthEastGravity southGravitysouthWestGravity eastGravity centerGravity westGravitynorthEastGravity northGravitynorthWestGravity forgetGravity setModeDelete setModeInsertmappingPointermappingKeyboardmappingModifierallocAll allocNonemSBFirstlSBFirst lowerHighest raiseLowest gCLastBit gCArcMode gCDashList gCDashOffset gCClipMask gCClipYOrigin gCClipXOrigingCGraphicsExposuresgCSubwindowModegCFontgCTileStipYOrigingCTileStipXOrigin gCStipplegCTile gCFillRule gCFillStyle gCJoinStyle gCCapStyle gCLineStyle gCLineWidth gCBackground gCForeground gCPlaneMask gCFunction arcPieSlicearcChordconvex nonconvexcomplexcoordModePreviouscoordModeOriginincludeInferiorsclipByChildren windingRule evenOddRulefillOpaqueStippled fillStippled fillTiled fillSolid joinBevel joinRound joinMiter capProjectingcapRoundcapButt capNotLastlineDoubleDash lineOnOffDash lineSolidgXsetgXnand gXorInvertedgXcopyInverted gXorReversegXinvertgXequivgXnorgXorgXxorgXnoop gXandInvertedgXcopy gXandReversegXandgXclear stippleShape tileShape cursorShaperetainTemporaryretainPermanent destroyAllcWHeightcWWidthcWYcWXcWCursor cWColormapcWDontPropagate cWEventMask cWSaveUndercWOverrideRedirectcWBackingPixelcWBackingPlanescWBackingStore cWWinGravity cWBitGravity cWBorderPixelcWBorderPixmap cWBackPixel cWBackPixmap inputOnly inputOutputcopyFromParent throwIfZerolastExtensionErrorfirstExtensionErrorbadImplementation badLengthbadName badIDChoicebadGCbadColorbadAlloc badAccess badDrawablebadMatchbadFont badCursorbadAtom badPixmap badWindowbadValue badRequestsuccessrevertToParentrevertToPointerRoot revertToNonesyncBoth asyncBothreplayKeyboard syncKeyboard asyncKeyboard replayPointer syncPointer asyncPointer grabFrozengrabNotViewablegrabInvalidTimealreadyGrabbed grabSuccess grabModeAsync grabModeSynccolormapInstalledcolormapUninstalledpropertyDeletepropertyNewValue familyChaos familyDECnetfamilyInternet placeOnBottom placeOnTopvisibilityFullyObscuredvisibilityPartiallyObscuredvisibilityUnobscurednotifyDetailNonenotifyPointerRoot notifyPointernotifyNonlinearVirtualnotifyNonlinearnotifyInferior notifyVirtualnotifyAncestor notifyHintnotifyWhileGrabbed notifyUngrab notifyGrab notifyNormalbutton5button4button3button2button1 button5Mask button4Mask button3Mask button2Mask button1Maskmod5Maskmod4Maskmod3Maskmod2Maskmod1Mask controlMasklockMask shiftMask noModMask anyModifier mod5MapIndex mod4MapIndex mod3MapIndex mod2MapIndex mod1MapIndexcontrolMapIndex lockMapIndex shiftMapIndexscreenSaverNotify lASTEventrrNotifyOutputPropertyrrNotifyOutputChangerrNotifyCrtcChangerrNotifyrrScreenChangeNotify mappingNotify clientMessagecolormapNotifyselectionNotifyselectionRequestselectionClearpropertyNotifycirculateRequestcirculateNotify resizeRequest gravityNotifyconfigureRequestconfigureNotifyreparentNotify mapRequest mapNotify unmapNotify destroyNotify createNotifyvisibilityNotifynoExposegraphicsExposeexpose keymapNotifyfocusOutfocusIn leaveNotify enterNotify motionNotify buttonRelease buttonPress keyReleasekeyPressscreenSaverNotifyMaskscreenSaverCycleMaskrrOutputPropertyNotifyMaskrrOutputChangeNotifyMaskrrCrtcChangeNotifyMaskrrScreenChangeNotifyMaskownerGrabButtonMaskcolormapChangeMaskpropertyChangeMaskfocusChangeMasksubstructureRedirectMasksubstructureNotifyMaskresizeRedirectMaskstructureNotifyMaskvisibilityChangeMask exposureMaskkeymapStateMaskbuttonMotionMaskbutton5MotionMaskbutton4MotionMaskbutton3MotionMaskbutton2MotionMaskbutton1MotionMaskpointerMotionHintMaskpointerMotionMaskleaveWindowMaskenterWindowMaskbuttonReleaseMaskbuttonPressMaskkeyReleaseMask keyPressMask noEventMask xK_ydiaeresisxK_thorn xK_yacute xK_udiaeresisxK_ucircumflex xK_uacute xK_ugrave xK_oslash xK_division xK_odiaeresis xK_otildexK_ocircumflex xK_oacute xK_ograve xK_ntildexK_eth xK_idiaeresisxK_icircumflex xK_iacute xK_igrave xK_ediaeresisxK_ecircumflex xK_eacute xK_egrave xK_ccedillaxK_aexK_aring xK_adiaeresis xK_atildexK_acircumflex xK_aacute xK_agrave xK_ssharpxK_ThornxK_THORN xK_Yacute xK_UdiaeresisxK_Ucircumflex xK_Uacute xK_Ugrave xK_Ooblique xK_multiply xK_Odiaeresis xK_OtildexK_Ocircumflex xK_Oacute xK_Ograve xK_NtildexK_EthxK_ETH xK_IdiaeresisxK_Icircumflex xK_Iacute xK_Igrave xK_EdiaeresisxK_Ecircumflex xK_Eacute xK_Egrave xK_CcedillaxK_AExK_Aring xK_Adiaeresis xK_AtildexK_Acircumflex xK_Aacute xK_AgravexK_questiondownxK_threequarters xK_onehalf xK_onequarterxK_guillemotright xK_masculinexK_onesuperior xK_cedillaxK_periodcentered xK_paragraphxK_muxK_acutexK_threesuperiorxK_twosuperior xK_plusminus xK_degree xK_macron xK_registered xK_hyphen xK_notsignxK_guillemotleftxK_ordfeminine xK_copyright xK_diaeresis xK_section xK_brokenbarxK_yen xK_currency xK_sterlingxK_cent xK_exclamdownxK_nobreakspace xK_asciitilde xK_bracerightxK_bar xK_braceleftxK_zxK_yxK_xxK_wxK_vxK_uxK_txK_sxK_rxK_qxK_pxK_oxK_nxK_mxK_lxK_kxK_jxK_ixK_hxK_gxK_fxK_exK_dxK_cxK_bxK_a xK_quoteleftxK_grave xK_underscorexK_asciicircumxK_bracketright xK_backslashxK_bracketleftxK_ZxK_YxK_XxK_WxK_VxK_UxK_TxK_SxK_RxK_QxK_PxK_OxK_NxK_MxK_LxK_KxK_JxK_IxK_HxK_GxK_FxK_ExK_DxK_CxK_BxK_AxK_at xK_question xK_greaterxK_equalxK_less xK_semicolonxK_colonxK_9xK_8xK_7xK_6xK_5xK_4xK_3xK_2xK_1xK_0xK_slash xK_periodxK_minusxK_commaxK_plus xK_asterisk xK_parenright xK_parenleft xK_quoteright xK_apostrophe xK_ampersand xK_percent xK_dollar xK_numbersign xK_quotedbl xK_exclamxK_space xK_Hyper_R xK_Hyper_L xK_Super_R xK_Super_LxK_Alt_RxK_Alt_L xK_Meta_R xK_Meta_L xK_Shift_Lock xK_Caps_Lock xK_Control_R xK_Control_L xK_Shift_R xK_Shift_LxK_R15xK_F35xK_R14xK_F34xK_R13xK_F33xK_R12xK_F32xK_R11xK_F31xK_R10xK_F30xK_R9xK_F29xK_R8xK_F28xK_R7xK_F27xK_R6xK_F26xK_R5xK_F25xK_R4xK_F24xK_R3xK_F23xK_R2xK_F22xK_R1xK_F21xK_L10xK_F20xK_L9xK_F19xK_L8xK_F18xK_L7xK_F17xK_L6xK_F16xK_L5xK_F15xK_L4xK_F14xK_L3xK_F13xK_L2xK_F12xK_L1xK_F11xK_F10xK_F9xK_F8xK_F7xK_F6xK_F5xK_F4xK_F3xK_F2xK_F1xK_KP_9xK_KP_8xK_KP_7xK_KP_6xK_KP_5xK_KP_4xK_KP_3xK_KP_2xK_KP_1xK_KP_0 xK_KP_Divide xK_KP_DecimalxK_KP_SubtractxK_KP_Separator xK_KP_AddxK_KP_Multiply xK_KP_Equal xK_KP_Delete xK_KP_Insert xK_KP_Begin xK_KP_EndxK_KP_Page_Down xK_KP_Next xK_KP_Page_Up xK_KP_Prior xK_KP_Down xK_KP_RightxK_KP_Up xK_KP_Left xK_KP_HomexK_KP_F4xK_KP_F3xK_KP_F2xK_KP_F1 xK_KP_Enter xK_KP_Tab xK_KP_Space xK_Num_LockxK_script_switchxK_Mode_switchxK_BreakxK_Help xK_CancelxK_FindxK_MenuxK_RedoxK_Undo xK_Insert xK_ExecutexK_Print xK_SelectxK_BeginxK_End xK_Page_DownxK_Next xK_Page_UpxK_PriorxK_DownxK_RightxK_UpxK_LeftxK_HomexK_PreviousCandidatexK_MultipleCandidatexK_SingleCandidate xK_Codeinput xK_Multi_key xK_Delete xK_Escape xK_Sys_ReqxK_Scroll_LockxK_Pause xK_ReturnxK_Clear xK_LinefeedxK_Tab xK_BackSpace xK_VoidSymbolXIDMaskAtomVisualIDTimeWindowDrawableFontPixmapCursorColormapGContextKeyCodeKeySym EventMask EventTypeModifierKeyMask ButtonMaskButton NotifyMode NotifyDetail VisibilityPlaceProtocolPropertyNotificationColormapNotificationGrabMode GrabStatus AllowEvents FocusMode ErrorCodeStatus WindowClass AttributeMask CloseDownModeQueryBestSizeClass GXFunction LineStyleCapStyle JoinStyle FillStyleFillRule SubWindowModeCoordinateMode PolygonShapeArcModeGCMaskCirculationDirection ByteOrder ColormapAllocMappingRequestChangeSaveSetMode BitGravity WindowGravity BackingStore FontDirection ImageFormatRotation ReflectionSizeID SubpixelOrder ConnectionRROutputRRCrtcRRMode XRRModeFlagsControl.Monad.IO.ClassliftIOMonadIO Data.Bits.|.data-default-class-0.1.2.0-eb57af0cb579f2b2153fc94360bba6cbfd0c0ee18e6fa3d5867df224bf058e89Data.Default.ClassdefDefault mtl-2.2.2Control.Monad.State.Classstateputget MonadStatemodifygetsControl.Monad.Reader.Classreaderlocalask MonadReaderasksStackfocusupdown RationalRect Workspacetaglayoutstack workspacescreen screenDetailStackSetcurrentvisiblehiddenfloatingabortnewview greedyViewlookupWorkspacemodify'peek integrate integrate' differentiatefilterindexfocusUp focusDownswapUpswapDownfocusUp' focusDown' focusWindowscreens workspaces allWindows currentTag tagMember renameTag ensureTags mapWorkspace mapLayoutmemberfindTaginsertUpdeletedelete'floatsink swapMaster shiftMaster focusMastershiftshiftWin$fTraversableStack$fFoldableStack$fShowStackSet$fReadStackSet $fEqStackSet $fShowScreen $fReadScreen $fEqScreen$fShowWorkspace$fReadWorkspace $fEqWorkspace $fShowStack $fReadStack $fEqStack$fFunctorStack$fShowRationalRect$fReadRationalRect$fEqRationalRect Directories Directories'dataDircfgDircacheDir ConfExtensionStateExtensionPersistentExtensionExtensionClass initialValue extensionTypeLayoutMessagesHideReleaseResources SomeMessageMessage LayoutClass runLayoutdoLayout pureLayout emptyLayout handleMessage pureMessage descriptionLayoutQuery ManageHookX ScreenDetailSD screenRectScreenIdS WorkspaceId WindowSpace WindowSetXConfignormalBorderColorfocusedBorderColorterminal layoutHook manageHookhandleEventHookmodMaskkeys mouseBindings borderWidthlogHook startupHookfocusFollowsMouseclickJustFocuses clientMaskrootMaskhandleExtraArgsextensibleConfXConfdisplayconfigtheRoot normalBorder focusedBorder keyActions buttonActions mouseFocused mousePosition currentEvent directoriesXState windowsetmapped waitingUnmapdraggingnumberlockMaskextensibleStaterunQueryrunXcatchXuserCode userCodeDef withDisplay withWindowSetwithWindowAttributesisRootgetAtomatom_WM_PROTOCOLSatom_WM_DELETE_WINDOW atom_WM_STATEatom_WM_TAKE_FOCUS readsLayout fromMessageiocatchIOspawnspawnPIDxforkxmessagerunOnWorkspacesgetDirectories getXMonadDirgetXMonadCacheDirgetXMonadDataDir binFileName stateFileName recompilewhenJustwhenXtraceinstallSignalHandlersuninstallSignalHandlers$fMessageEvent$fMessageLayoutMessages $fShowLayout$fLayoutClassLayoutWord64$fDefaultQuery $fMonoidQuery$fSemigroupQuery $fDefaultX $fMonoidX $fSemigroupX $fShowCompile $fFunctorX$fApplicativeX$fMonadX $fMonadFailX $fMonadIOX$fMonadStateXStateX$fMonadReaderXConfX$fFunctorQuery$fApplicativeQuery $fMonadQuery$fMonadReaderWord64Query$fMonadIOQuery$fShowDirectories'$fFunctorDirectories'$fFoldableDirectories'$fTraversableDirectories'$fEqLayoutMessages$fEqScreenDetail$fShowScreenDetail$fReadScreenDetail $fEqScreenId $fOrdScreenId$fShowScreenId$fReadScreenId$fEnumScreenId $fNumScreenId$fIntegralScreenId$fRealScreenIdCLRCLCRChoose JumpToLayout ChangeLayout FirstLayout NextLayoutMirrorTall tallNMastertallRatioIncrement tallRatioFull IncMasterNResizeShrinkExpandtilesplitVerticallysplitHorizontallysplitHorizontallyBysplitVerticallyBy mirrorRect|||$fMessageResize$fMessageIncMasterN$fLayoutClassFulla$fLayoutClassTalla$fLayoutClassMirrora$fMessageChangeLayout$fMessageJumpToLayout$fLayoutClassChoosea$fMessageNextNoWrap$fEqNextNoWrap$fShowNextNoWrap $fReadChoose $fShowChoose $fReadCLR $fShowCLR$fEqCLR$fEqChangeLayout$fShowChangeLayout $fShowMirror $fReadMirror $fShowTall $fReadTall $fShowFull $fReadFullD StateFilesfWinssfExtisFixedSizeOrTransientmanageunmanage killWindowkillwindowsmodifyWindowSet windowBracketwindowBracket_scaleRationalRect setWMStatesetWindowBorderWithFallbackhiderevealsetInitialPropertiesrefresh clearEvents tileWindow containedIn nubScreensgetCleanedScreenInforescreen setButtonGrab setTopFocus setFocusXcacheNumlockMaskmkGrabs sendMessagebroadcastMessagesendMessageWithNoRefresh updateLayout setLayoutscreenWorkspace withFocused withUnfocusedisClientextraModifiers cleanMask initColorwriteStateToFile readStateFilerestart floatLocation pointScreen pointWithin mouseDragmouseMoveWindowmouseResizeWindowmkAdjustapplySizeHintsapplySizeHintsContentsapplySizeHints'applyAspectHintapplyResizeIncHintapplyMaxSizeHint$fShowStateFile$fReadStateFileliftXidHook<+> composeAll-->=?<&&><||>ifMtitleappNameresource classNamestringPropertygetStringProperty willFloatdoFdoFloatdoIgnoredoShift defaultConfig$fDefaultXConfigxmonadlaunchversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir GHC.MaybeNothingwith Data.MaybemaybeJustghc-prim GHC.TypesTrueGHC.ListcycleswapUp' reverseStackCompileIOGHC.ShowshowGHC.ReadReadtransformers-0.5.6.2Control.Monad.Trans.ReaderReaderTControl.Monad.Trans.State.LazyStateTGHC.BaseStringSystem.Posix.Types ProcessID unix-2.7.2.2System.Posix.Process.Common forkProcess detectCompile shouldCompilecompilecheckCompileWarnings compileFailedFalsehandlechoose setPixelSolidmouseDragCursormappend GHC.Classes&&Monad||defaultModMaskhelp buildLaunch sendReplacereplacehandleWithHookscangrabKeys grabButtonsGraphics.X11.Xlib.ExtrasgetModifierMapping getCommand getErrorEventsetErrorHandler setWMHints getWMHintsallHintsBitmaskurgencyHintBitwindowGroupHintBiticonMaskHintBiticonPositionHintBiticonWindowHintBiticonPixmapHintBit stateHintBit inputHintBit iconicState normalStatewithdrawnState setClassHint getClassHintsetWMNormalHintsgetWMNormalHintspWinGravityBit pBaseSizeBit pAspectBit pResizeIncBit pMaxSizeBit pMinSizeBit unmapWindowdeletePropertypropModeAppendpropModePrependpropModeReplacechangeProperty32changeProperty16changeProperty8getWindowProperty32getWindowProperty16getWindowProperty8rawGetWindowPropertyanyPropertyTyperefreshKeyboardMapping setKeyEventsetConfigureEventsetClientMessageEvent'setClientMessageEventsetSelectionNotify setEventTypegetWMProtocolsgetTransientForHint fetchNamewcTextEscapementwcDrawImageString wcDrawString wcTextExtents createFontSetwcTextPropertyToTextListgetTextProperty withServergetWindowAttributes waIsViewablewaIsUnviewable waIsUnmapped queryTreeconfigureWindow currentTimeanyKey anyButtonnonegetEvent eventName eventTablexConfigureWindow killClient xQueryTreexGetWindowAttributeschangeWindowAttributesxGetTextPropertyxwcTextPropertyToTextListwcFreeStringListxCreateFontSetfreeStringList freeFontSetxwcTextExtents xwcDrawStringxwcDrawImageStringxwcTextEscapement xFetchNamexGetTransientForHintxGetWMProtocolsxSetErrorHandlerxRefreshKeyboardMappingxChangePropertyxDeletePropertyxGetWindowProperty xUnmapWindowxGetWMNormalHintsxAllocSizeHintsxSetWMNormalHints xGetClassHint xSetClassHint xGetWMHints xAllocWMHints xSetWMHints isCursorKey isFunctionKey isKeypadKeyisMiscFunctionKey isModifierKeyisPFKeyisPrivateKeypadKeyxSetSelectionOwnerxGetSelectionOwnerxConvertSelectionmkXErrorHandlergetXErrorHandler_xSetErrorHandler mapRaised xGetCommandxGetModifierMappingxFreeModifiermapEventScreenSaverNotifyEventRROutputPropertyNotifyEventRROutputChangeNotifyEventRRCrtcChangeNotifyEvent RRNotifyEventRRScreenChangeNotifyEventClientMessageEventFocusChangeEvent ExposeEvent PropertyEventSelectionClearSelectionRequest CrossingEventMappingNotifyEventMapNotifyEvent UnmapEventDestroyWindowEvent MotionEvent ButtonEventKeyEventMapRequestEventConfigureEventAnyEventConfigureRequestEvent ev_forced ev_ss_kind ev_ss_state ev_rr_state ev_connection ev_output ev_rr_height ev_rr_width ev_rr_modeev_crtc ev_subtype ev_mheight ev_mwidth ev_rotationev_subpixel_order ev_size_indexev_config_timestamp ev_timestampev_dataev_message_type ev_propstateev_atom ev_property ev_target ev_selection ev_requestorev_ownerev_focusev_modeev_countev_first_keycode ev_requestev_from_configure ev_buttonev_same_screen ev_keycodeev_state ev_y_root ev_x_rootev_time ev_subwindowev_rootev_override_redirectev_event ev_value_mask ev_detailev_aboveev_border_width ev_heightev_widthev_yev_x ev_parent ev_windowev_event_display ev_send_event ev_event_type ev_serial WindowChanges wc_stack_mode wc_siblingwc_border_width wc_heightwc_widthwc_xwc_yWindowAttributeswa_override_redirectwa_do_not_propagate_maskwa_your_event_maskwa_all_event_masks wa_map_statewa_map_installed wa_colormapwa_border_width wa_heightwa_widthwa_xwa_y TextProperty tp_nitems tp_formattp_value tp_encodingFontSet SizeHintssh_win_gravity sh_base_size sh_aspect sh_resize_inc sh_min_size sh_max_size ClassHintresNameresClassWMHintswmh_window_group wmh_icon_mask wmh_icon_y wmh_icon_xwmh_icon_windowwmh_icon_pixmapwmh_initial_state wmh_flags wmh_inputXErrorEventPtrCXErrorHandler XErrorHandler ErrorEvent ev_resourceid ev_minor_codeev_request_code ev_error_code ev_serialnumev_type ev_displayGraphics.X11.Xlib.InternalxFree