今まで、ArchLinux を利用していたのだけれども、壊れたので、Ubuntu に乗り換えた。

タイル型ウィンドウマネージャーの魅力に取り付かれたので、Ubuntu でも xmonad を導入してみた。

設定ファイルは以前 ArchLinux で利用していたものがそのまま使えた。

誰かの役に立つとは思えないけれども、再度自分で設定するときのために書きました。

Environment

  • Ubuntu 16.04 LTS
  • Let’s Note

xmonad の導入

まずは、xmonad のインストールから。

sudo apt-get install xmonad

これで、ログイン時に xmonad でログインするか選択できるようになる。

xmonad.hs の設定

.xmonad/xmonad.hs を作成。ターミナルは urxvt を利用。

現在の設定は以下。

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

import XMonad.Actions.WindowGo

import XMonad.Layout.MultiToggle
import XMonad.Layout.MultiToggle.Instances
import XMonad.Config.Desktop (desktopLayoutModifiers)
import XMonad.Layout.Named

-- for keyboard shortcut mod4 is windows ShortcutKey
modm = mod4Mask

tall = Tall 1 (3/100) (1/2)

main = do
        xmproc <- spawnPipe "/usr/bin/xmobar /home/tsu-nera/.xmobarrc"
        xmonad $ defaultConfig
        { manageHook = manageDocks <+> manageHook defaultConfig
        --, layoutHook = avoidStruts  $  layoutHook defaultConfig
    , layoutHook = mkToggle1 FULL $ desktopLayoutModifiers (named "V" tall ||| (named "H" $ Mirror tall))

      -- sometimes, xmonad freese,comment out these lines 
          -- , logHook = dynamicLogWithPP $ xmobarPP
          -- { ppOutput = hPutStrLn xmproc
          --    , ppTitle = xmobarColor "green" "" . shorten 50
          -- }

          -- Border settings
      , borderWidth = 2
          , normalBorderColor  = "#99ccff"
          , focusedBorderColor = "#0033dd" -- blue

          -- Rebind Mod to the Hiragana_Katakana 
      , modMask = mod3Mask
      -- , modMask = mod1Mask        

          -- use rxvt-unicode 
      , terminal = "urxvt" 
          }
          -- windows キーでショートカット
          `additionalKeys`
          [
            ((modm, xK_l), spawn "gnome-screensaver-command -l")
          , ((modm, xK_t), runOrRaise "urxvt" (className =? "URxvt"))
          , ((modm, xK_k), runOrRaise "conkeror" (className =? "conkeror"))
      , ((modm, xK_f), sendMessage (Toggle FULL))
          , ((modm, xK_q), spawn "xinput --set-prop \"SynPS/2 Synaptics TouchPad\" \"Device Enabled\" 0")
          , ((modm, xK_w), spawn "xinput --set-prop \"SynPS/2 Synaptics TouchPad\" \"Device Enabled\" 1")
          ]

Let’s Note を利用しているので、mod キーをウィンドウズキーに設定。 いろいろと、ショートカットを設定。

xmobar の設定

xmobar は xmonad と相性のよいステータスバー。

sudo apt-get install xmobar

設定は以下のとおり。工夫私大でいろいろできる。

Config { font = "-misc-fixed-*-*-*-*-10-*-*-*-*-*-*-*"
       , borderColor = "black"
       , border = TopB
       , bgColor = "black"
       , fgColor = "grey"
       , position = TopW L 90
       , lowerOnStart = True
       , persistent = False
       , commands = [ Run Cpu ["-L","3","-H","50","--normal","green","--high","red"] 10
                    , Run Memory ["-t","Mem: <usedratio>%"] 10
            -- , Run Swap [] 10
                    , Run Battery ["Bat0"] 600
                    , Run Com "xmobar-clock-monitor.sh" [] "orgClock" 10
                    , Run Com "sh" ["-c", "cat ~/tmp/clocking"] "orgShow" 10
                , Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
            ]   
       , sepChar = "%"
       , alignSep = "}{"
--       , template = "%cpu% | %memory% | %battery% }{ <fc=#ee9a00>%date%</fc> %orgClock%clock</fc> %orgShow%"
       , template = "%cpu% | %memory% | %battery% }{ <fc=#ee9a00>%date%</fc> "
             }

dmenu

コマンドランチャー。mod+p に割り当てている。すごく便利。

sudo apt-get install dmenu

PATH が通ったところにあるコマンドを実行できる。時々おかしくなる。 そのような時は、~/.xmonad/dmenu_run を削除する。

タスクトレイの設定

trayer というタスクトレイツールを使っている。

sudo apt-get install tarayer

ここにいろいろなアプリを表示する。.profile に登録しておく。

# trayer タスクトレイ
trayer --edge top --align right --SetDockType true --SetPartialStrut false --expand true --width 10 --transparent true --tint 0x000000 --height 14 &

# ネットワーク
nm-applet &

# サウンド
volumeicon &

# バッテリ
cbatticon &

# Dropbox
~/.dropbox-dist/dropboxd &~/.dropbox-dist/dropboxd &

# TouchPad Default Off
xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

# wall paper
feh --bg-scale ~/Dropbox/Photos/ubuntu.jpg &

# クリップポードマネージャー
copyq &

以上、自分のための簡単な備忘録でした。便利なツールがあれば、教えてください。

参考リンク