mirror of
https://github.com/xmonad/xmonad.git
synced 2025-08-03 21:51: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
|
import XMonad
|
||||||
|
|
||||||
main = xmonad $ defaultConfig
|
main = xmonad $ def
|
||||||
{ borderWidth = 2
|
{ borderWidth = 2
|
||||||
, terminal = "urxvt"
|
, terminal = "urxvt"
|
||||||
, normalBorderColor = "#cccccc"
|
, 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:
|
\item Homepage:
|
||||||
\url{http://xmonad.org/}
|
\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:
|
\item IRC channel:
|
||||||
\verb+#xmonad @@ irc.freenode.org+
|
\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
|
.SH Name
|
||||||
.PP
|
.PP
|
||||||
xmonad \- a tiling window manager
|
xmonad \- a tiling window manager
|
||||||
@@ -276,4 +279,4 @@ module was contained within xmonad or xmonad\-contrib.
|
|||||||
.PP
|
.PP
|
||||||
Probably.
|
Probably.
|
||||||
If you find any, please report them to the
|
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>
|
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>
|
<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>
|
<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>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -101,4 +101,4 @@ module was contained within xmonad or xmonad-contrib.
|
|||||||
Probably. If you find any, please report them to the [bugtracker]
|
Probably. If you find any, please report them to the [bugtracker]
|
||||||
|
|
||||||
[xmonad.org]: http://xmonad.org
|
[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
|
-- Unlike the rest of xmonad, this file is copyright under the terms of the
|
||||||
-- GPL.
|
-- GPL.
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ import Distribution.PackageDescription
|
|||||||
import Text.PrettyPrint.HughesPJ
|
import Text.PrettyPrint.HughesPJ
|
||||||
import Distribution.Text
|
import Distribution.Text
|
||||||
|
|
||||||
import Text.Pandoc -- works with 1.12.4
|
import Text.Pandoc -- works with 1.15.x
|
||||||
|
|
||||||
releaseDate = "31 December 2012"
|
releaseDate = "31 December 2012"
|
||||||
|
|
||||||
@@ -69,7 +70,7 @@ main = do
|
|||||||
|
|
||||||
let manHeader = unwords [".TH xmonad 1","\""++releaseDate++"\"",releaseName,"\"xmonad manual\""]
|
let manHeader = unwords [".TH xmonad 1","\""++releaseDate++"\"",releaseName,"\"xmonad manual\""]
|
||||||
|
|
||||||
parsed <- readMarkdown def
|
Right parsed <- readMarkdown def
|
||||||
. unlines
|
. unlines
|
||||||
. replace "___KEYBINDINGS___" keybindings
|
. replace "___KEYBINDINGS___" keybindings
|
||||||
. lines
|
. lines
|
||||||
|
25
xmonad.cabal
25
xmonad.cabal
@@ -17,7 +17,7 @@ license: BSD3
|
|||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Spencer Janssen
|
author: Spencer Janssen
|
||||||
maintainer: xmonad@haskell.org
|
maintainer: xmonad@haskell.org
|
||||||
extra-source-files: README TODO CONFIG STYLE
|
extra-source-files: README.md CHANGES.md TODO CONFIG STYLE
|
||||||
tests/*.hs
|
tests/*.hs
|
||||||
tests/Properties/*.hs
|
tests/Properties/*.hs
|
||||||
tests/Properties/Layout/*.hs
|
tests/Properties/Layout/*.hs
|
||||||
@@ -25,7 +25,7 @@ extra-source-files: README TODO CONFIG STYLE
|
|||||||
util/GenerateManpage.hs
|
util/GenerateManpage.hs
|
||||||
util/hpcReport.sh
|
util/hpcReport.sh
|
||||||
cabal-version: >= 1.8
|
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
|
build-type: Simple
|
||||||
|
|
||||||
tested-with:
|
tested-with:
|
||||||
@@ -36,13 +36,18 @@ tested-with:
|
|||||||
data-files: man/xmonad.hs, man/xmonad.1, man/xmonad.1.html
|
data-files: man/xmonad.hs, man/xmonad.1, man/xmonad.1.html
|
||||||
|
|
||||||
source-repository head
|
source-repository head
|
||||||
type: darcs
|
type: git
|
||||||
location: http://code.haskell.org/xmonad
|
location: https://github.com/xmonad/xmonad
|
||||||
|
|
||||||
flag testing
|
flag testing
|
||||||
description: Testing mode, only build minimal components
|
description: Testing mode, only build minimal components
|
||||||
default: False
|
default: False
|
||||||
|
|
||||||
|
flag generatemanpage
|
||||||
|
description: Build the tool for generating the man page
|
||||||
|
default: False
|
||||||
|
manual: True
|
||||||
|
|
||||||
library
|
library
|
||||||
hs-source-dirs: src
|
hs-source-dirs: src
|
||||||
exposed-modules: XMonad
|
exposed-modules: XMonad
|
||||||
@@ -94,6 +99,18 @@ executable xmonad
|
|||||||
if impl(ghc >= 6.12.1)
|
if impl(ghc >= 6.12.1)
|
||||||
ghc-options: -Wall -fno-warn-unused-do-bind
|
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
|
-- note util/hpcReport.sh
|
||||||
test-suite properties
|
test-suite properties
|
||||||
type: exitcode-stdio-1.0
|
type: exitcode-stdio-1.0
|
||||||
|
Reference in New Issue
Block a user