Búsqueda personalizada

viernes, 21 de agosto de 2009

Personalizar xmonad

Con la ayuda de amigo Carlos pude configurar mi xmonad de la siguiente manera,


Con la explicación que are a continuación uno podrá modificar a placer su xmonad.


Para ello hay que tener instalado xmonad . el siguiente paso es instalar xmobar lo puedes descargar de su pagina oficial o si tienes instalado darcs ejecuta el siguiente comando.
darcs get http://darcs.complete.org/xmobar
ahora hay que configurar ciertos archivos para poder agregar programas que se inicien por defecto, control de volumen, red , batería, etc.

Pasos:

1. crear el archivo .xmobarrc

touch ~/.xmobarrc
2. abrimos el archivo creado y copiamos los siguientes codigos

Config { font = "-*-Fixed-Bold-R-Normal-*-13-*-*-*-*-*-*-*"
, bgColor = "black"
, fgColor = "grey"
, position = TopW L 85
, lowerOnStart = True
, commands = [ Run Network "eth0" ["-L","0","-H","32","--normal","green","--high","red"] 10
, Run Network "wlan0" ["-L","0","-H","32","--normal","green","--high","red"] 10
, Run Weather "EGPF" ["-t"," F","-L","64","-H","77","--normal","green","--high","red","--low","lightblue"] 36000
, Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: %"] 10
, Run Swap [] 10
, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
, Run StdinReader
, Run Com "df" ["-h | grep /dev/sda2 | awk '{print $5}'"] "disk1" 60
, Run Com "df" ["-h | grep /dev/sda3 | awk '{print $5}'"] "disk2" 60
, Run Battery ["-L", "50", "-H", "75", "--high", "green", "--normal", "yellow", "--low", "red"] 10
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ %cpu% | %memory% %swap% | Battery: %battery% | HD1: %disk1% | HD2: %disk2% | %date%"
}

Todo este código es configurable de acuerdo a lo que quieres que aparezca en el xmobar para mayor información puedes ver la pagina oficial de xmobar.

3. hora nos creamos los siguientes archivos si es que no los tenemos creados

touch /usr/share/xsessions/xmonad.start

touch /usr/share/xsessions/xmonad.desktop

4. abrimos el archivo xmonad.start y copiamos el siguiente código

#!/bin/bash

xrdb -merge .Xresources

trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 15 --height 12 --transparent true --tint 0x000000 &

gnome-screensaver

gnome-settings-daemon

if [ -x /usr/bin/gnome-power-manager ] ; then
sleep 1
gnome-power-manager
fi

if [ -x /usr/bin/nm-applet ] ; then
nm-applet --sm-disable &
fi

kmix --keepvisibility

feh --bg-scale /home/usuario/Imágenes/geek.jpg &

exec xmonad

En este archivo lo que hacemos es poder colocar la imagen que queramos en el fondo de escritorio, también que estén activos el medidor de la batería, configuración de la red, control de volumen, también podemos agregar programas que queremos que se inicialices eso depende de cada uno.

Para que todo esto funcione tenemos que instalar los siguientes programas

sudo apt-get install feh kmix trayer

5. el siguiente paso es llamar a este archivo xmodan.start, para ello abrimos el archivo xmonad.desktop y copiamos las siguientes lineas

[Desktop Entry]
Encoding=UTF-8
Name=XMonadAntonio
Comment=Leightweight tiling window manager
Exec=/usr/share/xsessions/xmonad.start
Icon=xmonad.png
Type=XSession

6. por ultimo creamos el siguiente archivo xmonad.hs en caso que no exista dentro el directorio .xmonad

mkdir ~/.xmonad

cd .xmonad

touch xmonad.hs

7. abrimos el archivo xmonad.hs y copiamos el siguiente código haskell

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import System.IO

myManageHook = composeAll
[ className =? "Gimp" --> doFloat
, className =? "Vncviewer" --> doFloat
-- , className =? "Pidgin" --> doFloat
]

main = do
xmproc <- spawnPipe "xmobar /home/usurio/.xmobarrc" xmonad $ defaultConfig { manageHook = manageDocks <+> myManageHook
<+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP $ xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50
}
, modMask = mod4Mask -- Rebind Mod to the Windows key
} `additionalKeys`
[ ((controlMask, xK_Print), spawn "sleep 0.2; scrot -s")
, ((0, xK_Print), spawn "scrot")
]

Listo, no se olvide cambiar los directorios por la de usted para que funcione, ahora serramos sesión y escogemos la sesión XmonadAntonio y listo ya puedes disfrutar del xmonad :)