xmonad - FreeBSD 11.4 RELEASE - 設定ファイル

クラウディア 
1. 概要
2. ~/.xsession
3. ~/.xmonad/scripts/autostart.sh
4. ~/.xmonad/config.hs

1. 概要

 設定ファイル関係は、途中でいろいろといじったので、最終的な形態を掲載しておきます。

2. ~/.xsession


~/.xsession
 は、下記の内容になりました。
#!/bin/sh
# set locale
export LC_ALL=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
#
setxkbmap -layout jp
numlockx &
xsetroot -cursor_name left_ptr
#
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=xim
export XMODIFIERS=@im=fcitx
#
/usr/local/bin/mozc start
fcitx -r -d

3. ~/.xmonad/scripts/autostart.sh


~/.xmonad/scripts/autostart.sh
 は、下記の内容になりました。
#!/usr/local/bin/bash

function run {
  if ! pgrep -lfa  ;
  then
    $@&
  fi
}

run /usr/local/bin/VBoxClient-all
run xmobar &
/bin/sh -c "sleep 3 && conky &"

4. ~/.xmonad/config.hs

 「xmonad」では、一番肝心なファイルになります。

~/.xmonad/config.hs
 は、下記の内容になりました。
import XMonad
import Data.Monoid
import System.Exit

import qualified XMonad.StackSet as W
import qualified Data.Map        as M

import XMonad.Hooks.ManageHelpers(doFullFloat, doCenterFloat, isFullscreen, isDialog)
import XMonad.ManageHook
import XMonad.Util.NamedScratchpad

myTerminal      = "xterm"

myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
    [
      ((modm , xK_Return), spawn $ XMonad.terminal conf)   --	端末を開く
    , ((modm,  xK_c     ), kill)                           --	閉じる
    , ((modm , xK_m     ), spawn $ "xfce4-appfinder")      --	メニュー
    , ((modm , xK_n     ), windows W.focusDown)            --	フォーカス切り替え
    , ((modm , xK_j     ), windows W.swapMaster)           --	フォーカスを最前面
    , ((modm , xK_r     ), spawn $ "xmonad --recompile; xmonad --restart")  --	再設定
    , ((0,     xK_Print ), spawn $ "mate-screenshot")      --	画面キャプチャ
    , ((modm , xK_q     ), io (exitWith ExitSuccess))      --	ログアウト
    , ((modm , xK_b     ), spawn "sudo reboot")            --	再起動
    , ((modm , xK_s     ), spawn "sudo poweroff")          --	シャットダウン
    ]

myModMask       = mod4Mask

myXfce4Float = customFloating $ W.RationalRect (40/1366) (40/786) (400/1366) (500/786)
myFcitxFloat = customFloating $ W.RationalRect (50/1366) (50/786) (700/1366) (500/786)

myManageHook = composeAll
    [ className =? "MPlayer"            --> doFloat
    , className =? "Atril"              --> doFloat
    , className =? "Clamtk"             --> doFloat
    , className =? "Claws-mail"         --> doFloat
    , className =? "Eclipse"            --> doFloat
    , className =? "octopkg"            --> doFloat
    , className =? "Gimp"               --> doFloat
    , className =? "smplayer"           --> doFloat
    , className =? "XTerm"              --> doFloat
    , className =? "Conky"              --> doFloat
    , className =? "Xfce4-appfinder"    --> myXfce4Float
    , className =? "Fcitx-config-gtk"   --> myFcitxFloat
    , resource  =? "desktop_window"     --> doIgnore
    , resource  =? "kdesktop"           --> doIgnore ]

myStartupHook = do
    spawn "$HOME/.xmonad/scripts/autostart.sh"

main = xmonad defaults

defaults = def {
        terminal           = myTerminal
       ,modMask            = myModMask
       ,keys               = myKeys
       ,manageHook         = myManageHook
       ,startupHook        = myStartupHook
       }



ハイスピードプラン