diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,5 @@
+# Revision history for wild-bind-task-x11
+
+## 0.1.0.1  -- 2016-09-22
+
+* First version. Released on an unsuspecting world.
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 2016, Toshio Ito
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Toshio Ito nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+# wild-bind-task-x11
+
+Bundle package for WildBind in X11 environments.
+
+See https://github.com/debug-ito/wild-bind for WildBind in general.
+
+## Author
+
+Toshio Ito <debug.ito@gmail.com>
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/src/WildBind/Task/X11.hs b/src/WildBind/Task/X11.hs
new file mode 100644
--- /dev/null
+++ b/src/WildBind/Task/X11.hs
@@ -0,0 +1,71 @@
+-- |
+-- Module: WildBind.Task.X11
+-- Description: Task to install and export everything you need to use WildBind in X11
+-- Maintainer: Toshio Ito <debug.ito@gmail.com>
+-- 
+-- This module exports everything you probably need to use WildBind in
+-- X11 environments.
+module WildBind.Task.X11
+       ( -- * Execution
+         wildNumPad,
+         wildNumPad',
+         -- * Re-exports
+         module WildBind.Binding,
+         module WildBind.Description,
+         module WildBind.Input.NumPad,
+         -- ** From basic modules
+         module Control.Monad.IO.Class,
+         module Control.Monad.Trans.State,
+         module Data.Monoid,
+         Text,
+         -- ** From "WindBind.X11"
+         Window, ActiveWindow, winInstance, winClass, winName,
+         -- ** From "WildBind.Indicator"
+         Indicator, NumPadPosition(..), updateDescription, getPresence, setPresence, togglePresence, quit
+       ) where
+
+import Control.Monad.IO.Class
+import Control.Monad.Trans.State
+import Data.Monoid
+import Data.Text (Text)
+
+import WildBind.Binding
+import WildBind.Description
+import WildBind.Input.NumPad
+import WildBind.X11
+  ( Window, ActiveWindow, winInstance, winClass, winName,
+    withFrontEnd
+  )
+import WildBind.Indicator
+  ( Indicator, NumPadPosition(..),
+    updateDescription, getPresence, setPresence, togglePresence, quit,
+    withNumPadIndicator, wildBindWithIndicator
+  )
+import WildBind.X11.Internal.Key (KeySymLike, ModifierLike)
+
+-- | A convenient function to create an executable action with X11
+-- 'FrontEnd' and 'Indicator' for a number pad.
+--
+-- > main :: IO ()
+-- > main = wildNumPad $ binds $ do
+-- >   on NumCenter `run` putStrLn "You pushed center."
+-- 
+-- Note that the executable must be compiled by ghc with
+-- __@-threaded@ option enabled.__
+--
+-- With this function, the @"/"@ (divide) key on the numpad is bound
+-- to toggling the 'Indicator', ignoring the binding you provide.
+--
+-- For the input type @i@, you can use 'NumPadUnlocked' or
+-- 'NumPadLocked'.
+wildNumPad :: (NumPadPosition i, KeySymLike i, ModifierLike i, Describable i, Ord i, Enum i, Bounded i)
+              => Binding ActiveWindow i -> IO ()
+wildNumPad orig_binding = wildNumPad' $ \ind -> orig_binding <> help_binds ind where
+  help_binds ind = binding $ map (\input -> (input, Action "Toggle description" $ togglePresence ind)) help_likes
+  help_likes = filter ((== NumLDivide) . toNumPad) $ enumFromTo minBound maxBound
+
+-- | A more flexible version of 'wildNumPad'. It passes you an
+-- 'Indicator', and uses the 'Binding' you return as-is.
+wildNumPad' :: (NumPadPosition i, KeySymLike i, ModifierLike i, Describable i, Ord i, Enum i, Bounded i)
+               => (Indicator ActiveWindow i -> Binding ActiveWindow i) -> IO ()
+wildNumPad' create_binding = withNumPadIndicator $ \ind -> withFrontEnd $ wildBindWithIndicator ind (create_binding ind)
diff --git a/test/ImportTest.hs b/test/ImportTest.hs
new file mode 100644
--- /dev/null
+++ b/test/ImportTest.hs
@@ -0,0 +1,20 @@
+module Main (main) where
+
+import WildBind.Task.X11
+  ( wildNumPad, wildNumPad',
+    Binding, Binding',
+    NumPadUnlocked(..), NumPadLocked(..),
+    ActiveWindow,
+    Indicator,
+    (<>)
+  )
+
+main :: IO ()
+main = putStrLn "If it compiles, it's ok."
+
+check_wildNumPad_unlocked :: Binding ActiveWindow NumPadUnlocked -> IO ()
+check_wildNumPad_unlocked = wildNumPad
+
+check_wildNumPad_locked :: Binding ActiveWindow NumPadLocked -> IO ()
+check_wildNumPad_locked = wildNumPad
+
diff --git a/wild-bind-task-x11.cabal b/wild-bind-task-x11.cabal
new file mode 100644
--- /dev/null
+++ b/wild-bind-task-x11.cabal
@@ -0,0 +1,51 @@
+name:                   wild-bind-task-x11
+version:                0.1.0.1
+author:                 Toshio Ito <debug.ito@gmail.com>
+maintainer:             Toshio Ito <debug.ito@gmail.com>
+license:                BSD3
+license-file:           LICENSE
+synopsis:               Task to install and export everything you need to use WildBind in X11
+description:            Task to install and export everything you need to use WildBind in X11. See <https://github.com/debug-ito/wild-bind>
+category:               UserInterface
+cabal-version:          >= 1.10
+build-type:             Simple
+extra-source-files:     README.md, ChangeLog.md
+homepage:               https://github.com/debug-ito/wild-bind
+bug-reports:            https://github.com/debug-ito/wild-bind/issues
+
+library
+  default-language:     Haskell2010
+  hs-source-dirs:       src
+  ghc-options:          -Wall -fno-warn-unused-imports
+  default-extensions:   OverloadedStrings
+  exposed-modules:      WildBind.Task.X11
+  -- other-modules:
+  build-depends:        base >=4.6 && <5.0,
+                        wild-bind >=0.1.0 && <0.2,
+                        wild-bind-x11 >=0.1.0 && <0.2,
+                        wild-bind-indicator >=0.1.0 && <0.2,
+                        text >=1.2.0 && <1.3,
+                        transformers >=0.3.0 && <0.6
+
+-- executable wild-bind-task-x11
+--   default-language:     Haskell2010
+--   hs-source-dirs:       app
+--   main-is:              Main.hs
+--   ghc-options:          -Wall -fno-warn-unused-imports
+--   -- other-modules:       
+--   -- other-extensions:    
+--   build-depends:        base
+
+test-suite import-test
+  type:                 exitcode-stdio-1.0
+  default-language:     Haskell2010
+  hs-source-dirs:       test
+  ghc-options:          -Wall -fno-warn-unused-imports -fno-warn-unused-binds
+  main-is:              ImportTest.hs
+  -- default-extensions:   
+  -- other-modules:        
+  build-depends:        base, wild-bind-task-x11
+
+source-repository head
+  type:                 git
+  location:             https://github.com/debug-ito/wild-bind.git
