Configuração Barebones XMonad para Ubuntu

http://www.kunday.com/post/35700432761/barebones-xmonad-config-for-ubuntu

Depois de incontáveis ​​horas brincando com o Xmonad, alguns bugs estranhos, fiz o Xmonad funcionar bem no Ubuntu 12.04 LTS. Se você não usou / ouviu falar do Xmonad antes, você deve verificar o Xmonad. É um gerenciador de blocos simples e bonito escrito em Haskell e configurado em Haskell. Espero que este post ajude alguém que tentou, mas apoiou devido a alguns dos problemas estranhos relacionados ao foco da janela em aplicativos Java.

Por quê

Suporte a vários monitores Kickass (xinerama) com áreas de trabalho por tela.
Simples, minimalista e rápido.
Layouts Kickass WM que você pode configurar usando Haskell.
Atalhos de teclado incríveis para realinhar janelas e navegar sem problemas.
Problemas Conhecidos

O Xmonad tem alguns problemas de foco de janela quando se trata de aplicativos Java (hack disponível que não funciona no JDK7)
Não funciona bem com o Unity 3d, então você pode ter que mudar para o Unity 2d. Alternativamente, se você estiver usando o gnome-shell clássico, ele deve funcionar bem.
Como conseguir isso

Se você é ubuntu, pode usar o gerenciador de pacotes tradicional, também conhecido como apt-get para instalar.

sudo apt-get install xmonad
Você também deve obter algum iniciador de aplicativo (o painel do Unity funciona, mas há alguns problemas de desempenho). Eu uso o dmenu, é simplista e funciona

sudo apt-get install dmenu
Gnome Session Config

A instalação padrão do Xmonad no Ubuntu 12.04 LTS adiciona a sessão necessária para que o Xmonad funcione com o Gnome, com exceção do gerenciador de janelas padrão e do painel DefaultProvider. Você pode adicioná-los editando o /usr/share/gnome-session/sessions/xmonad.session. Você os adiciona à configuração da sessão, que deve se parecer com isto.

[Sessão GNOME]
Nome = Xmonad Unity-2D Desktop
RequiredComponents = gnome-settings-daemon;
RequiredProviders = windowmanager; painel;
DefaultProvider-windowmanager = xmonad; #estaria ausente
DefaultProvider-panel = unity-2d-panel; # isso teria faltado
Problema com Intellij IDEA:

Há um problema conhecido com o XMonad não sendo capaz de interagir com os componentes da GUI quando executado em JAVA 7, então mais simples seria executar em JAVA 6 e usar ICCCMFocus # setWMName “LG3D” para garantir que o Idea ganhe foco e jogue bem com o Xmonad (Está incluído como parte da configuração xmonad minimalista.)

Configuração minimalista do Xmonad

import XMonad
import XMonad.Util.Run
import XMonad.Util.EZConfig (additionalKeys)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ICCCMFocus
import XMonad.Config.Gnome
import XMonad.Hooks.Acclls.Docks
import XMonad.Hooks.ICCCMFocus import XMonad.Config.Gnome import XMonad.Hooks.Acclls.DockSetWMNome
import myMynamicWooks. (
[className =? “Unity-2d-panel” -> doIgnore
, className =? “Unity-2d-launcher” -> doFloat
, className =? “gnome-do” -> doFloat
])
main =
xmonad $ gnomeConfig {modMask = mod4Mask
, startupHook = setWMName “LG3D”
, manageHook = manageDocks <+> myManageHook <+> manageHook gnomeConfig
, layoutHook = AvoidStruts $ layoutHook defaultConfig
, logHook = takeTopFocus
} additionalKeys[((mod4Mask, xK d), spawn “dmenu run -b”)
]
Folha de dicas do Keymap do XMonad

Uma folha de dicas do estilo vim para o Xmonad está disponível aqui.

Usando OSX? Brian McKenna (ex-Atlassian) parece ter corrigido o Xmonad para funcionar bem no OSX.