[xmonad] darcs patch: Make X an instance of Typeable

Don Stewart dons at galois.com
Sun Feb 1 13:30:38 EST 2009


V. cool. Applied.

asgaroth_:
> This patch lets X derive Typeable so that expressions that return an X
> action can be interpreted in a type-safe way using hint(to allow runtime
> evaluation of haskell expressions in the context of the running xmonad).

> Wed Jan 28 22:54:06 CET 2009  Daniel Schoepe <asgaroth_ at gmx.de>
>   * Make X an instance of Typeable
> 
> New patches:
> 
> [Make X an instance of Typeable
> Daniel Schoepe <asgaroth_ at gmx.de>**20090128215406
>  Ignore-this: bb155e62ea4e451460e3b94508dc49d2
> ] hunk ./XMonad/Core.hs 128
>  --
>  newtype X a = X (ReaderT XConf (StateT XState IO) a)
>  #ifndef __HADDOCK__
> -    deriving (Functor, Monad, MonadIO, MonadState XState, MonadReader XConf)
> +    deriving (Functor, Monad, MonadIO, MonadState XState, MonadReader XConf, Typeable)
>  #endif
>  
>  instance Applicative X where
> 
> Context:
> 
> [Add uninstallSignalHandlers, use in spawn
> Spencer Janssen <spencerjanssen at gmail.com>**20090122002643
>  Ignore-this: d91bde6f965341a2619fe2dde83cc099
> ] 
> [Create a new session for forked processes
> Spencer Janssen <spencerjanssen at gmail.com>**20090122000423
>  Ignore-this: f5d9cf254a0b07ddbf204457b7783880
> ] 
> [TAG 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090118083910] 
> [Close stdin in spawned processes
> Spencer Janssen <spencerjanssen at gmail.com>**20090117040024
>  Ignore-this: 2e372ed6215160adae8da1c44cdede3d
> ] 
> [Document spawnPID
> Spencer Janssen <spencerjanssen at gmail.com>**20090117035907
>  Ignore-this: 1641bdcf5055b2ec7b9455265f5b1d52
> ] 
> [Asynchronously recompile/restart xmonad on mod-q
> Spencer Janssen <spencerjanssen at gmail.com>**20090117035300
>  Ignore-this: 753d8746034f818b81df79003ae5ee0d
> ] 
> [Add --restart, a command line flag to cause a running xmonad process to restart
> Spencer Janssen <spencerjanssen at gmail.com>**20090117034959
>  Ignore-this: 45c8c8aba7cc7391b95c7e3fb01e5bf9
> ] 
> [Bump version to 0.8.1
> Spencer Janssen <spencerjanssen at gmail.com>**20090116223621
>  Ignore-this: 2e8e9dc7b6ca725542f4afe04253dc57
> ] 
> [Remove doubleFork, handle SIGCHLD
> Spencer Janssen <spencerjanssen at gmail.com>**20090116204742
>  Ignore-this: f9b1a65b4f0622922f80ad2ab6c5a52f
>  This is a rather big change.  Rather than make spawned processes become
>  children of init, we handle them in xmonad.  As a side effect of this change,
>  we never need to use waitForProcess in any contrib module -- in fact, doing so
>  will raise an exception.  The main benefit to handling SIGCHLD is that xmonad
>  can now be started with 'exec', and will correctly clean up after inherited
>  child processes.
> ] 
> [Main.hs: escape / in Haddocks
> gwern0 at gmail.com**20081207020915
>  Ignore-this: 2c4525280fbe73c46f3abd8fc13628e9
>  This lets haddocks for Main.hs, at least, to build with 2.3.0.
> ] 
> [More flexible userCode function
> Daniel Schoepe <asgaroth_ at gmx.de>**20090110221852] 
> [Call logHook as the very last action in windows
> Spencer Janssen <spencerjanssen at gmail.com>**20081209233700
>  Ignore-this: 4396ad891b607780f8e4b3b6bbce87e
> ] 
> [Accept inferior crossing events.  This patch enables fmouse-focus-follows-screen
> Spencer Janssen <spencerjanssen at gmail.com>**20081205045130
>  Ignore-this: 3ac329fb92839827aed0a4370784cabd
> ] 
> [Tile all windows at once
> Spencer Janssen <spencerjanssen at gmail.com>**20081118074447] 
> [Factor rational rect scaling into a separate function
> Spencer Janssen <spencerjanssen at gmail.com>**20081118072849] 
> [Change screen focus by clicking on the root window.
> Spencer Janssen <spencerjanssen at gmail.com>**20081106224031
>  This is a modification of a patch from Joachim Breitner.
> ] 
> [Fix #192.
> Spencer Janssen <spencerjanssen at gmail.com>**20081021220059] 
> [select base < 4 for building on ghc 6.10
> Adam Vogt <vogt.adam at gmail.com>**20081013214509] 
> [add killWindow function
> Joachim Breitner <mail at joachim-breitner.de>**20081005001804
>  This is required to kill anything that is not focused, without
>  having to focus it first.
> ] 
> [add'l documentation
> Devin Mullins <me at twifkak.com>**20080927234639] 
> [Regression: ungrab buttons on *non* root windows
> Spencer Janssen <spencerjanssen at gmail.com>**20081007214351] 
> [Partial fix for #40
> Spencer Janssen <spencerjanssen at gmail.com>**20081007212053
>  Improvements:
>   - clicking on the root will change focus to that screen
>   - moving the mouse from a window on a screen to an empty screen changes focus
>     to that screen
>  The only remaining issue is that moving the mouse between two empty screens
>  does not change focus.  In order to solve this, we'd have to select motion events
>  on the root window, which is potentially expensive.
> ] 
> [Track mouse position via events received
> Spencer Janssen <spencerjanssen at gmail.com>**20081007203953] 
> [Fix haddock
> Spencer Janssen <spencerjanssen at gmail.com>**20081007094641] 
> [Move screen locating code into pointScreen
> Spencer Janssen <spencerjanssen at gmail.com>**20081007094207] 
> [Make pointWithin a top-level binding
> Spencer Janssen <spencerjanssen at gmail.com>**20081007090229] 
> [sp README, CONFIG, STYLE, TODO
> gwern0 at gmail.com**20080913024457] 
> [Use the same X11 dependency as xmonad-contrib
> Spencer Janssen <spencerjanssen at gmail.com>**20080921061508] 
> [Export focusUp' and focusDown' -- work entirely on stacks
> Spencer Janssen <spencerjanssen at gmail.com>**20080911214803] 
> [add W.shiftMaster, fix float/tile-reordering bug
> Devin Mullins <me at twifkak.com>**20080911053909] 
> [TAG 0.8
> Spencer Janssen <spencerjanssen at gmail.com>**20080905195412] 
> Patch bundle hash:
> 0a0f2945747d8fa660487df2b4967f984faf54ad

> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad



More information about the xmonad mailing list