之前我寫過一篇部落格 openSUSE 下的 xmonad,講的是完整的 xmonad 環境,這篇講 KDE 下如何使用 xmonad,好處是 KDE 的許多功能都可以使用,只是視窗管理器換成 xmonad。
系統內容:openSUSE 13.2
安裝 Xmonad#
參照前一篇說明,使用 cabal 安裝 xmonad。
配置 xmonad.hs#
開啟 ~/.xmonad/xmonad.hs 檔案,將內容改為如下1:
| 代碼如下 |
複製代碼 |
|
import System.IO
import XMonad
import XMonad.Config.Kde
import XMonad.Hooks.SetWMName
import XMonad.Util.WindowProperties (getProp32s)
main = do
xmonad kde4Config {
terminal = "konsole"
, modMask = mod4Mask
, startupHook = setWMName "LG3D"
, manageHook = ((className =? "krunner") >>= return . not --> manageHook kde4Config)
<+> (kdeOverride --> doFloat)
}
kdeOverride :: Query Bool
kdeOverride = ask >>= \w -> liftX $ do
override <- getAtom "_KDE_NET_WM_WINDOW_TYPE_OVERRIDE"
wt <- getProp32s "_NET_WM_WINDOW_TYPE" w
return $ maybe False (elem $ fromIntegral override) wt |
設定視窗管理器#
先用 which 命令查看 xmonad 路徑:
| 代碼如下 |
複製代碼 |
sam@linux-qo4p:~|master⚡⇒ which xmonad
/home/sam/.cabal/bin/xmonad
在 ~/.kde4/env 目錄下建立 set_window_manager.sh 檔案,添加如下內容:
export KDEWM=/home/sam/.cabal/bin/xmonad
修改檔案許可權,允許檔案執行:
$ chmod 755 set_window_manager.sh |
登出 KDE 會話,然後再登入進去,KDE 的視窗管理器已經從 kwin 換成 Xmonad 了2,如下圖: