2013年8月25日日曜日

xmonadとHaskell(その1)

インストールとか


・本体
archlinuxの場合、xmonadxmonad-contribパッケージをインストール。
haskell諸々は依存関係で勝手にインストールしてくれる。

・それ以外
xmonadそのものには、他のウインドマネージャで、画面の上や下にあるステータスバーとかパネルと呼ばれるものが無い。なので、別途、好みのものを用意する。

ツールバーそのものが、dzen2やxmobar。
そして、dzen2を選択すると、これはそれほど賢いものでは無くて、主な機能は、単に与えられたテキストを表示するだけのものなので、システムの情報を表示したい(CPU使用率、メモリ使用率、ネットワーク使用状況等)なら、自分で情報を得て、それをそのツールバーに渡すことになる。なので、この情報収集のためにconkyを使う。
また、プログラム呼び出し用のメニューがdmenu。

うちでは、xftフォントを使うために

dzen2-git(aur)
conky
dmenu-xft(aur)

辺りをインストール。

xmonadの導入解説にはどこもパネルの作成の紹介があるし、ここのカスタマイズで結構を頭を悩ませるのだけれど、これ自体はあんまりxmonadとは関係ない。そして、パネルについては他の選択肢として、xfce4-panel等、高機能なパネルだけ呼び出して使うとか、DEとの連携をしてパネルはそっちに任せることも出来るらしい。アプレット等が使える派手で高機能なのがお好みなら、dzenの設定をガリガリ書くよりも、あるものを使ったほうが良さげ(by 2ch タイル型WMスレ)

起動

.xinitrcとか起動スクリプトで

exec xmonad

する。
startxで直接、displayマネージャーでも、xdmやslimの場合は上記でOK。

kdmやgdmの場合のヒントは以下(セッション選択のファイルを作る)
2.3 How can I use xmonad with a display manager? (xdm, kdm, gdm)

うちの~/.xsession

#LANG
export LANG=ja_JP.UTF-8
xset +fp ~/.fonts
xset fp rehash
xmodmap -e 'keysym Muhenkan = Super_L'
#xrandr --output DVI-I-1 --primary --mode "1920x1080" \
# --output HDMI-1 --mode "1280x1024" --left-of DVI-I-1
#environment for input method
export GTK_IM_MODULE='uim'
export QT_IM_MODULE='uim'
uim-xim &
export XMODIFIERS=@im='uim'
#uim-toolbar-gtk3-systray &
#xsetroot -cursor_name left_ptr
compton -b
nitrogen --restore
#feh --bg-fill ~/image/wallpaper/test0003.png &
aplay ~/.mylib/wav/00_part1_entry-1.wav &
exec xmonad
view raw .xinitrc hosted with ❤ by GitHub


DEを使っていればいらないかもしれない、昔ながらの最低限の設定。
xmonad自体でカーソルを制御しないので、xsetrootで調節。
壁紙も設定。fehが定番っぽいけど、デュアルスクリーンでもうまく設定できるNitrogenが便利。

xmonadに関係ないけれど、コンポジット系統(ウインドウを透明にしたり、影つけたりできる)は、バグの少ないCompton(xcompmgrからの派生)が良いらしい。
また、xrandrのデュアルスクリーンもxmonadで使える。


そんな感じで、起動すると何にもなくて寂しいxmonadが立ち上がる。(もしかしたら、真っ暗で立ち上がってるのさえわからないかもしれない)

alt + Shift + Enter で、xtermが立ち上がる。

alt + Shift + q で、xmonad終了。

設定ファイル ~/.xmonad/xmonad.hs

というわけで、いよいよHaskellに対面!
xmonadの設定ファイルとして~/.xmonad/xmonad.hsを以下の内容で作ってみる。

import XMonad
main = xmonad defaultConfig
{ terminal = "urxvt"
, modMask = mod4Mask
, borderWidth = 3
}
view raw xmonad.hs hosted with ❤ by GitHub
これがxmonadの設定ファイルで、はじめてのHaskell
urxvtが3つ立ち上がってるところ。まだ、パネル等の飾りはありません。


<<追記>>
xmonadとHaskellについてのメモが長くなったので目次を追記

xmonadとHaskellのメモの目次



0 件のコメント:

コメントを投稿