

Xmonad 0.10 was released - vially
http://www.haskell.org/haskellwiki/Xmonad/Notable_changes_since_0.9

======
makmanalp
Installation: After you've gotten ghci and cabal from your favourite package
manager, just do:

> sudo cabal install xmonad xmonad-contrib

Then you can get dmenu or dzen for a small menu and trayer for a small system
tray.

Then use a premade config file from here:
<http://www.haskell.org/haskellwiki/Xmonad/Config_archive> and mess around
with it.

To learn the keybindings, print this out or make it your wallpaper:
<http://xmonad.wordpress.com/2009/01/19/xmonad-cheatsheet/>

For them ubuntu users, if oneiric broke a lot of things you can follow this:
<http://markhansen.co.nz/xmonad-ubuntu-oneiric/> That should allow you to
select an xmonad session as opposed to a unity one during login.

As a general rule you can simply use xmonad as your window manager and just
launch gnome-settings-daemon (or was it gnome-config-daemon?) to get all the
theming, font antialiasing, etc. If you run nm-applet manually, that should
launch the networking stuff (if it didn't already). I haven't tried using
xmonad with the ubuntu panel and stuff, so I don't know about that.

Edit: I use this one: <https://github.com/vicfryzel/xmonad-config>

It works great with multiple monitors, alt+w and alt+e move focus between
monitors, and then I can swap which workspace is in which monitor really
easily to move things around.

~~~
jamii
> I haven't tried using xmonad with the ubuntu panel and stuff, so I don't
> know about that.

Use XMonad.Config.Gnome.gnomeConfig as your base config. Log in with gnome as
normal and do:

    
    
        pkill metacity
        pkill compiz
        sleep 3
        xmonad &
    

Not the most elegant solution, but it works.

~~~
pyre
That worked with Gnome 2, but I'm not sure how well that will work with Gnome
3 and/or Unity. Unity is pretty tied to Compiz (some portion of it is
implemented as a Compiz plugin).

At this point, it's probably easier to either create your own session script
to start up the parts of Gnome that you want along with XMonad (e.g. gnome-
screensaver, gnome-power-manager, etc) or to see about using XMonad as the
window manager for XFCE.

Also, you used to be able to set the $WINDOW_MANAGER environment variable in
~/.gnomerc, to turn on XMonad as the window manager.

~~~
bct
> ...create your own session script to start up the parts of Gnome that you
> want along with XMonad...

On Ubuntu at least I've had success with <http://markhansen.co.nz/xmonad-
ubuntu-oneiric/>

(Having the launcher floating around is annoying though, and removing it from
the gnome-session file had some unpleasant side-effect that I don't remember.)

------
wunki
I'm also using XMonad on Arch Linux. I found it hard to setup correctly, but
once it is, it's a real productivity booster. Firing up another terminal
(Meta-Shift-Enter) and not worrying about it's position is a time saver.

If you want to try it out, I can help you by reducing the time needed to set
it up. My dotfiles are here: <https://github.com/wunki/wunki-dotfiles>

Best nuggets for your setup can be found in xmonad.hs, xinitrc and Xdefaults
files.

~~~
dons
The underlying design invariant was that you should always be able to predict
exactly what the screen would look like, before you perform an action. I'm
glad that's the result we've achieved.

------
raphinou
Is there an official announcement somewhere? The Xmonad blog seems dead, and
the twitter account is not in a better state. It's a pitty because it gives
the impression that the project is not actively developed.

~~~
dons
There will be shortly. Sorry about the lack of noise online -- I switched jobs
and cities, and haven't had time to do some of this kind of stuff. Adam Vogt
has taken over as maintainer, and will be following up with an announce.

------
axk
If you use Xmonad with GNOME 2/3 or Xfce, this panel applet/plugin can be
handy: <https://github.com/alexkay/xmonad-log-applet>

(disclaimer: I'm the current maintainer)

------
moe
I'm still sad that ion3 is getting so little love these days.

It's easily the most advanced of the tiling wm crop, and by a long shot. Just
some bullets:

\- Floating/tiled can co-exist on same workspace (just attach/detach as
needed), can also trivially set filters to have e.g. all dialogs and "all
gimp-windows" float automatically.

\- The tabbed frames metaphor is infinitely superior to the "one window per
frame" metaphor that everyone else is stuck with.

\- All configuration and extension is lua. It's an absolute joy to work with.

\- Mouse works as expected. Just drag frames to resize the grid, drag
titlebars to move windows into other frames, etc.

Up to this day I don't understand how people put up with the obscure
limitations of the other tiling wm's (foremost: the one window per frame
constraint, forced set of layouts that never work quite right, etc. etc.)...

~~~
dons
Most of the above list is actually supported by xmonad (and dwm, and awesome
and ...). The two things that are really the defining characteristic of ion3
is that it is a user-defined layout (not a "dynamic" layout, a la xmonad), and
that the clients are represented as a tree of windows, rather than e.g. a
zipper or list of windows (which is how the nesting works).

xmonad and its cohort basically make the proposition that user-defined layouts
are inefficient, and you can be more productive with predictable, automated
tiling. They directly opposed ion3 in that regard.

Mouse, configuration, floating etc is all fairly standard everywhere.

~~~
moe
_xmonad and its cohort basically make the proposition that user-defined
layouts are inefficient_

Well, having worked with both I strongly disagree with that assumption.

Of course it's all a matter of preference but I believe there's a lot of "you
don't know what you're missing when you never had it" going on. I've yet to
observe an awesome|wmii|xmonad user who doesn't constantly get into fights
with the WM because they can't just quickly resize or re-order a few frames in
a truly predictable way.

~~~
zargon
I used ion2 for a few years. Now I've been using awesome for a few years.
They're both nice. Overall, I think I prefer letting the wm arrange my
windows. There are a few times where I have considered writing my own layouts,
but that itch has never lasted long enough for me to scratch it.

It is too bad that ion is no longer maintained. Choice is good.

------
daleharvey
My macbook died recently and I switched back to ubuntu for the week, first
thing I did was install xmonad, its a really awesome environment to work
within.

I do wish it played nicer with other window environment, some applications
just dont work inside a modal interface and when they dont I just want my
normal windows with title bar and buttons back

I havent installed it on my mac now its repaired, the fact I dont be able to
use my normal mac apps kinda put me off, but I may give it another shot, if
there was a way to have xmonad like behaviour with mac applications while
preserving floating windows I would be in heaven (divvy etc most certainly do
not count)

Its probably worth mentioning that despite following several tutorials,
getting xmonad installed on 11.04 was a nightmare that left plain ubuntu
pretty broken, I would like to see that process improved as well

~~~
pyre

      >  just want my normal windows with title bar and
      > buttons back
    

There are contrib packages that allow you to add small title bars to the
windows. You could configure XMonad with a 'floating' workspace, and enable
title bars on all of the windows in that workspace. Then just setup rules to
automatically send all of the programs that have issues to that workspace.

~~~
phillmv
I love how a "customizable tiling window manager" somehow requires the user to
learn an unusual programming language and a dozen of inscrutable keyboard
shortcuts.

It made my 24inch screen at the time far more manageable but it was supremely
frustrating if I sometimes wanted a certain window to remain in a certain
position without being disturbed.

~~~
dons
> "customizable tiling window manager" somehow requires the user to learn an
> unusual programming language and a dozen of inscrutable keyboard shortcuts

Languages are our best tool for expressivity.

And a well-designed language is better than an ad hoc configuration language
any day of the week (see e.g. vimscript for how not to do configuration).

By choosing to use a full language for configuration, we have made possible an
enormous ecosystem of user-contributed components -- because the configuration
language was rich enough to support them.

~~~
phillmv
Horseshit! That's what APIs are for :P.

You could have accomplished all of this just fine but left the config in yaml
and I would have personally been a happier person for it.

~~~
gwern
A yaml config would still be weak (this has been discussed before:
[http://www.haskell.org/pipermail/xmonad/2009-February/007239...](http://www.haskell.org/pipermail/xmonad/2009-February/007239.html)
)

But the nice thing about starting with a full language using the normal API is
that you can always water it down to get something less powerful and easier to
use, and this has been done with Xmonad before, as 'xmonad-light'. See
[https://braincrater.wordpress.com/2008/08/28/announcing-
xmon...](https://braincrater.wordpress.com/2008/08/28/announcing-xmonad-
light/)
[http://www.haskell.org/pipermail/xmonad/2008-August/006211.h...](http://www.haskell.org/pipermail/xmonad/2008-August/006211.html)

xmonad-light has no users and may be bitrotten by now, which shows how much it
appealed to Xmonad users.

~~~
pyre
XMonad users by definition already know at least a minimal amount of how to
create their XMonad config file. That's like saying: "We created a Linux
distro for the masses and it didn't appeal to power users, therefore nobody
wants it."

You're also dismissing the possibility that is just sucked, and was not an
improvement in configuration interface.

------
LBarret
xmonad is uber-wonderful but a good beginner documentation would be really
awesome.

I would like to have, on the official site, a list of distro, and for each, a
tutorial that have been _tested and works_. Instead, one needs to hunt for
blog post that are either incomplete or not applicable.

The latest Ubuntu upgrade was really a nightmare in this respect. had to mix
xfce + xmonad but my setup is far from optimal...

~~~
exDM69
>> xmonad is uber-wonderful but a good beginner documentation would be really
awesome.

Why don't you write one? A lot of the xmonad (and other tiling wm) communities
are battle scarred veterans who have been using dwm (the ancestor of xmonad,
awesome et al) since day one and they don't need no stinking documentation :)
And besides, one of the core ideas of dwm and (some of) it's successors is
that the source code is the documentation.

So if you're a newb and would belong to the target group of the docs you're
requesting, you're the perfect individual to write them.

I'm sure all the old timers on the IRC channel will be glad to help you to get
started and will be even more delighted if you finish a doc.

~~~
aplusbi
Another one of the core ideas of dwm is "no noobs" which might explain the
lack of documentation.

~~~
wyclif
If true (and I'm not sure it is), that's a shame, because it essentially means
new adoption is discouraged, and that's death to a project.

~~~
qjz
_Our project focuses on advanced and experienced computer users. In contrast
with the usual proprietary software world or many mainstream open source
projects that focus more on average and non-technical end users, we think that
experienced users are mostly ignored._ \- from _Suck Less Philosophy_ at
<http://suckless.org/manifest/>.

I don't feel this translates to "no noobs" as much as it means "don't stop
with the noobs." I'm pretty sure inexperienced users are welcome, but there's
no interest in adding hand-holding features that conflict with the philosophy
of "keeping things simple, minimal and usable." I use dwm & dmenu all the
time, and have developed a real appreciation for the Suck Less approach (but
I'm not a newbie, so I guess I'm safely in their target audience).

~~~
aplusbi
dwm in particular mentions that it's elitist in order to prevent stupid
questions from novices:

 _Because dwm is customized through editing its source code, it’s pointless to
make binary packages of it. This keeps its userbase small and elitist. No
novices asking stupid questions. There are some distributions that provide
binary packages though._

Also anyone who has ever subscribed to the suckless mailing list can testify
to the elitist sentiment among many of its users.

------
jafour1
Scrotwm is a small dynamic tiling window manager for X11. It tries to stay out
of the way so that valuable screen real estate can be used for much more
important stuff. It has sane defaults and does not require one to learn a
language to do any configuration. It was written by hackers for hackers and it
strives to be small, compact and fast.

It was largely inspired by xmonad and dwm. Both are fine products but suffer
from things like: crazy-unportable-language-syndrome, silly defaults,
asymmetrical window layout, "how hard can it be?" and good old NIH.
Nevertheless dwm was a phenomenal resource and many good ideas and code was
borrowed from it. On the other hand xmonad has great defaults, key bindings
and xinerama support but is crippled by not being written in C.

------
burgerbrain
Is there a compelling reason for somebody already using Awesome WM to look
into Xmonad? Seems like I'm hearing about it more often these days.

~~~
daniel_solano
I am an Xmonad user that tried Awesome, and the main thing that didn't work
for me is that it seemed that Awesome workspaces (tags) were tied to
particular monitors. Perhaps I just didn't take the time to figure out how to
do it properly, but that was a deal-breaker for me.

In Xmonad, I have configured twenty different workspaces, and I can easily
swap them in and out of any given monitor. With a triple-monitor
configuration, this is quite handy.

~~~
dfc
That's what did it for me too. I'm sure there is a way in awesome to do it but
its not as easy as xmonad.

Xmonad seems to not get in the way as much as awesome. For my purposes xmonad
is just a lot simpler, but I am sure I am barely scratching the surface
feature wise.

A lot of the awesome docs/screenshots reminded me of enlightenment-porn back
when e17 seemed like vaporware. I don't need crazy graphs/apps/eye-candy just
help me arrange organize my windows and go away.

~~~
Symmetry
The crazy stuff doesn't come with a base awesome install, that's stuff people
added on their own. The base install looks like this:
<http://en.wikipedia.org/wiki/File:Awesome_screenshot.png>

XMonad _is_ simpler, since awesome comes with a taskbar, system tray, and
clock by default.

------
pilooch
been using xmonad for a couple of years. config is so minimal that it makes it
vey simple to replicate the exact same environment on all my machines (laptops
and desktops), with no ties to the underlying linux distribution.

------
wyclif
Anybody have a link to some good screenshots of Xmonad 0.10?

~~~
dhs
<http://www.haskell.org/haskellwiki/Xmonad/Screenshots>

------
postit
I wish I could replace my osx window manager by xmonad =_)

------
dextorious
I'll go tell my coworker. He's the _one industry programmer who gives a shit
about Haskell_.

~~~
dextorious
Looks like someone missed the reference:

[http://steve-yegge.blogspot.com/2010/12/haskell-
researchers-...](http://steve-yegge.blogspot.com/2010/12/haskell-researchers-
announce-discovery.html)

~~~
ottbot
Providing a reference for your joke doesn't really change much. I don't think
you were downvoted because anyone thought your comment need citations, or
because they weren't sure if it was actually supposed to be a joke.

Perhaps it was just a bit trite, and/or irrelevant.

~~~
dextorious
So would you say that the same goes for Steve's article --which makes exactly
the same point?

