mirror of
https://github.com/xmonad/xmonad.git
synced 2025-08-01 12:41:53 -07:00
25
CHANGES.md
Normal file
25
CHANGES.md
Normal file
@@ -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
|
2
CONFIG
2
CONFIG
@@ -21,7 +21,7 @@ $HOME/.xmonad/xmonad.hs :
|
||||
|
||||
import XMonad
|
||||
|
||||
main = xmonad $ defaultConfig
|
||||
main = xmonad $ def
|
||||
{ borderWidth = 2
|
||||
, terminal = "urxvt"
|
||||
, normalBorderColor = "#cccccc"
|
||||
|
116
README
116
README
@@ -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
|
117
README.md
Normal file
117
README.md
Normal file
@@ -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:
|
||||
|
||||
- <https://github.com/xmonad/xmonad>
|
||||
|
||||
- <https://github.com/xmonad/xmonad-contrib>
|
||||
|
||||
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: <http://haskell.org/ghc/>
|
||||
|
||||
- Cabal: <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>
|
||||
|
||||
* Git version: <https://github.com/xmonad/xmonad-contrib>
|
||||
|
||||
## Other Useful Programs
|
||||
|
||||
A nicer xterm replacement, that supports resizing better:
|
||||
|
||||
* urxvt: <http://software.schmorp.de/pkg/rxvt-unicode.html>
|
||||
|
||||
For custom status bars:
|
||||
|
||||
* xmobar: <http://hackage.haskell.org/package/xmobar>
|
||||
|
||||
* taffybar: <https://github.com/travitch/taffybar>
|
||||
|
||||
* dzen: <http://gotmor.googlepages.com/dzen>
|
||||
|
||||
For a program dispatch menu:
|
||||
|
||||
* [XMonad.Prompt.Shell][xmc-prompt-shell]: (from [XMonadContrib][])
|
||||
|
||||
* dmenu: <http://www.suckless.org/download/>
|
||||
|
||||
* 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/
|
@@ -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+
|
||||
|
@@ -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)
|
||||
|
@@ -160,6 +160,6 @@
|
||||
function1 = error "function1: Not implemented yet!"</code></pre>
|
||||
<p>Your xmonad.hs may then import XMonad.Stack.MyAdditions as if that module was contained within xmonad or xmonad-contrib.</p>
|
||||
<h1 id="bugs">Bugs</h1>
|
||||
<p>Probably. If you find any, please report them to the <a href="http://code.google.com/p/xmonad/issues/list">bugtracker</a></p>
|
||||
<p>Probably. If you find any, please report them to the <a href="https://github.com/xmonad/xmonad/issues">bugtracker</a></p>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
25
xmonad.cabal
25
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
|
||||
|
Reference in New Issue
Block a user