diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..0bfa2d5 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,25 @@ +# Change Log / Release Notes + +## 0.12 (December 14, 2015) + + * Compiles with GHC 7.10.2, 7.8.4, and 7.6.3 + + * Use of [data-default][] allows using `def` where previously you + had to write `defaultConfig`, `defaultXPConfig`, etc. + + * The [setlocale][] package is now used instead of a binding shipped + with xmonad proper allowing the use of `Main.hs` instead of + `Main.hsc` + + * No longer encodes paths for `spawnPID` + + * The default `manageHook` no longer floats Gimp windows + + * Doesn't crash when there are fewer workspaces than screens + + * `Query` is now an instance of `Applicative` + + * Various improvements to the example configuration file + +[data-default]: http://hackage.haskell.org/package/data-default +[setlocale]: https://hackage.haskell.org/package/setlocale diff --git a/CONFIG b/CONFIG index ae49877..f83292b 100644 --- a/CONFIG +++ b/CONFIG @@ -21,7 +21,7 @@ $HOME/.xmonad/xmonad.hs : import XMonad - main = xmonad $ defaultConfig + main = xmonad $ def { borderWidth = 2 , terminal = "urxvt" , normalBorderColor = "#cccccc" diff --git a/README b/README deleted file mode 100644 index 445f0aa..0000000 --- a/README +++ /dev/null @@ -1,116 +0,0 @@ - xmonad : a tiling window manager - - http://xmonad.org - - xmonad is a tiling window manager for X. Windows are arranged - automatically to tile the screen without gaps or overlap, maximising - screen use. Window manager features are accessible from the - keyboard: a mouse is optional. xmonad is written, configured and - extensible in Haskell. Custom layout algorithms, key bindings and - other extensions may be written by the user in config files. Layouts - are applied dynamically, and different layouts may be used on each - workspace. Xinerama is fully supported, allowing windows to be tiled - on several physical screens. - -Quick start: - - From hackage: - - cabal update - cabal install xmonad xmonad-contrib - - Alternatively install development snapshots (from darcs): - - cabal install http://code.haskell.org/xmonad/xmonad.tar.gz \ - http://code.haskell.org/XMonadContrib/xmc.tar.gz - -For the full story, read on. - -Building: - - Building is quite straightforward, and requires a basic Haskell toolchain. - On many systems xmonad is available as a binary package in your - package system (e.g. on Debian or Gentoo). If at all possible, use this - in preference to a source build, as the dependency resolution will be - simpler. - - We'll now walk through the complete list of toolchain dependencies. - - * GHC: the Glasgow Haskell Compiler - - You first need a Haskell compiler. Your distribution's package - system will have binaries of GHC (the Glasgow Haskell Compiler), the - compiler we use, so install that first. If your operating system's - package system doesn't provide a binary version of GHC and the - cabal-install tool, you can find an installer for both here: - - http://haskell.org/platform/ - - It shouldn't be necessary to compile GHC from source -- every common - system has a pre-build binary version. - - Alternatively you can install from hackage - - http://haskell.org/ghc/ - http://haskell.org/cabal/download.html - - * X11 libraries: - - Since you're building an X application, you'll need the C X11 - library headers. On many platforms, these come pre-installed. For - others, such as Debian, you can get them from your package manager: - - apt-get install libx11-dev libxinerama-dev libxext-dev - ------------------------------------------------------------------------- - -Running xmonad: - - Add: - - exec $HOME/.cabal/bin/xmonad - - to the last line of your .xsession or .xinitrc file. - ------------------------------------------------------------------------- - -Configuring: - - See the CONFIG document - ------------------------------------------------------------------------- - -XMonadContrib - - There are many extensions to xmonad available in the XMonadContrib - (xmc) library. Examples include an ion3-like tabbed layout, a - prompt/program launcher, and various other useful modules. - XMonadContrib is available at: - - latest release: http://hackage.haskell.org/package/xmonad-contrib - - darcs version: darcs get http://code.haskell.org/XMonadContrib - ------------------------------------------------------------------------- - -Other useful programs: - - A nicer xterm replacement, that supports resizing better: - - urxvt http://software.schmorp.de/pkg/rxvt-unicode.html - - For custom status bars: - - dzen http://gotmor.googlepages.com/dzen - xmobar http://hackage.haskell.org/package/xmobar - - For a program dispatch menu: - - dmenu http://www.suckless.org/download/ - gmrun (in your package system) - -Authors: - - Spencer Janssen - Don Stewart - Jason Creighton diff --git a/README.md b/README.md new file mode 100644 index 0000000..0757fd5 --- /dev/null +++ b/README.md @@ -0,0 +1,117 @@ +# xmonad: A Tiling Window Manager + +[xmonad][] is a tiling window manager for X. Windows are arranged +automatically to tile the screen without gaps or overlap, maximising +screen use. Window manager features are accessible from the keyboard: +a mouse is optional. xmonad is written, configured and extensible in +Haskell. Custom layout algorithms, key bindings and other extensions +may be written by the user in config files. Layouts are applied +dynamically, and different layouts may be used on each +workspace. Xinerama is fully supported, allowing windows to be tiled +on several physical screens. + +## Quick Start + + * From hackage: + + cabal update + cabal install xmonad xmonad-contrib + + * Alternatively, build from source using the following repositories: + + - + + - + +For the full story, read on. + +## Building + +Building is quite straightforward, and requires a basic Haskell toolchain. +On many systems xmonad is available as a binary package in your +package system (e.g. on Debian or Gentoo). If at all possible, use this +in preference to a source build, as the dependency resolution will be +simpler. + +We'll now walk through the complete list of toolchain dependencies. + + * GHC: the Glasgow Haskell Compiler + + You first need a Haskell compiler. Your distribution's package + system will have binaries of GHC (the Glasgow Haskell Compiler), + the compiler we use, so install that first. If your operating + system's package system doesn't provide a binary version of GHC + and the `cabal-install` tool, you can install both using the + [Haskell Platform][platform]. + + It shouldn't be necessary to compile GHC from source -- every common + system has a pre-build binary version. However, if you want to + build from source, the following links will be helpful: + + - GHC: + + - Cabal: + + * X11 libraries: + + Since you're building an X application, you'll need the C X11 + library headers. On many platforms, these come pre-installed. For + others, such as Debian, you can get them from your package manager: + + $ apt-get install libx11-dev libxinerama-dev libxext-dev + +## Running xmonad + +Add: + + exec $HOME/.cabal/bin/xmonad + +to the last line of your `.xsession` or `.xinitrc` file. + +## Configuring + +See the `CONFIG` document. + +## XMonadContrib + +There are many extensions to xmonad available in the XMonadContrib +(xmc) library. Examples include an ion3-like tabbed layout, a +prompt/program launcher, and various other useful modules. +XMonadContrib is available at: + + * Latest release: + + * Git version: + +## Other Useful Programs + +A nicer xterm replacement, that supports resizing better: + + * urxvt: + +For custom status bars: + + * xmobar: + + * taffybar: + + * dzen: + +For a program dispatch menu: + + * [XMonad.Prompt.Shell][xmc-prompt-shell]: (from [XMonadContrib][]) + + * dmenu: + + * gmrun: (in your package system) + +## Authors + + * Spencer Janssen + * Don Stewart + * Jason Creighton + +[xmonad]: http://xmonad.org +[xmonadcontrib]: https://hackage.haskell.org/package/xmonad-contrib +[xmc-prompt-shell]: https://hackage.haskell.org/package/xmonad-contrib/docs/XMonad-Prompt-Shell.html +[platform]: http://haskell.org/platform/ diff --git a/man/HCAR.tex b/man/HCAR.tex index 338494a..68d6e6a 100644 --- a/man/HCAR.tex +++ b/man/HCAR.tex @@ -58,9 +58,9 @@ Binary packages of XMonad and XMonadContrib are available for all major Linux di \item Homepage: \url{http://xmonad.org/} -\item Darcs source: +\item Git source: - \texttt{darcs get} \url{http://code.haskell.org/xmonad} + \texttt{git clone} \url{https://github.com/xmonad/xmonad.git} \item IRC channel: \verb+#xmonad @@ irc.freenode.org+ diff --git a/man/xmonad.1 b/man/xmonad.1 index 0eaf383..a932b65 100644 --- a/man/xmonad.1 +++ b/man/xmonad.1 @@ -1,4 +1,7 @@ -.TH xmonad 1 "31 December 2012" xmonad-0.12 "xmonad manual".TH "" "" "" "" "" +.TH xmonad 1 "31 December 2012" xmonad-0.12 "xmonad manual".\" Automatically generated by Pandoc 1.15.1 +.\" +.hy +.TH "" "" "" "" "" .SH Name .PP xmonad \- a tiling window manager @@ -276,4 +279,4 @@ module was contained within xmonad or xmonad\-contrib. .PP Probably. If you find any, please report them to the -bugtracker (http://code.google.com/p/xmonad/issues/list) +bugtracker (https://github.com/xmonad/xmonad/issues) diff --git a/man/xmonad.1.html b/man/xmonad.1.html index ba59b35..2beffdb 100644 --- a/man/xmonad.1.html +++ b/man/xmonad.1.html @@ -160,6 +160,6 @@ function1 = error "function1: Not implemented yet!"

Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that module was contained within xmonad or xmonad-contrib.

Bugs

-

Probably. If you find any, please report them to the bugtracker

+

Probably. If you find any, please report them to the bugtracker

diff --git a/man/xmonad.1.markdown b/man/xmonad.1.markdown index fb30cfc..22564ab 100644 --- a/man/xmonad.1.markdown +++ b/man/xmonad.1.markdown @@ -101,4 +101,4 @@ module was contained within xmonad or xmonad-contrib. Probably. If you find any, please report them to the [bugtracker] [xmonad.org]: http://xmonad.org -[bugtracker]: http://code.google.com/p/xmonad/issues/list +[bugtracker]: https://github.com/xmonad/xmonad/issues diff --git a/util/GenerateManpage.hs b/util/GenerateManpage.hs index b9ac27a..e96d076 100644 --- a/util/GenerateManpage.hs +++ b/util/GenerateManpage.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE FlexibleContexts #-} -- Unlike the rest of xmonad, this file is copyright under the terms of the -- GPL. @@ -12,7 +13,7 @@ -- Format for the docstrings in Config.hs takes the following form: -- -- -- mod-x %! Frob the whatsit --- +-- -- "Frob the whatsit" will be used as the description for keybinding "mod-x" -- -- If the keybinding name is omitted, it will try to guess from the rest of the @@ -34,7 +35,7 @@ import Distribution.PackageDescription import Text.PrettyPrint.HughesPJ import Distribution.Text -import Text.Pandoc -- works with 1.12.4 +import Text.Pandoc -- works with 1.15.x releaseDate = "31 December 2012" @@ -69,7 +70,7 @@ main = do let manHeader = unwords [".TH xmonad 1","\""++releaseDate++"\"",releaseName,"\"xmonad manual\""] - parsed <- readMarkdown def + Right parsed <- readMarkdown def . unlines . replace "___KEYBINDINGS___" keybindings . lines diff --git a/xmonad.cabal b/xmonad.cabal index b45817d..0605532 100644 --- a/xmonad.cabal +++ b/xmonad.cabal @@ -17,7 +17,7 @@ license: BSD3 license-file: LICENSE author: Spencer Janssen maintainer: xmonad@haskell.org -extra-source-files: README TODO CONFIG STYLE +extra-source-files: README.md CHANGES.md TODO CONFIG STYLE tests/*.hs tests/Properties/*.hs tests/Properties/Layout/*.hs @@ -25,7 +25,7 @@ extra-source-files: README TODO CONFIG STYLE util/GenerateManpage.hs util/hpcReport.sh cabal-version: >= 1.8 -bug-reports: http://code.google.com/p/xmonad/issues/list +bug-reports: https://github.com/xmonad/xmonad/issues build-type: Simple tested-with: @@ -36,13 +36,18 @@ tested-with: data-files: man/xmonad.hs, man/xmonad.1, man/xmonad.1.html source-repository head - type: darcs - location: http://code.haskell.org/xmonad + type: git + location: https://github.com/xmonad/xmonad flag testing description: Testing mode, only build minimal components default: False +flag generatemanpage + description: Build the tool for generating the man page + default: False + manual: True + library hs-source-dirs: src exposed-modules: XMonad @@ -94,6 +99,18 @@ executable xmonad if impl(ghc >= 6.12.1) ghc-options: -Wall -fno-warn-unused-do-bind +executable generatemanpage + main-is: GenerateManpage.hs + hs-source-dirs: util + build-depends: base, + Cabal, + pandoc, + pretty, + regex-posix + + if !flag(generatemanpage) + buildable: False + -- note util/hpcReport.sh test-suite properties type: exitcode-stdio-1.0