问题描述
尝试学习 Haskell 并决定尝试使用 xmonad wm 作为一种学习方式,虽然我已经设法自己清除了大部分错误,但我似乎对最后两个错误感到困惑,这基本上是相同的错误.
如果有人能告诉我这是什么类型的错误,我将不胜感激, 我的猜测是它缺少导入但是如果是这种情况我似乎无法找到它
控制台错误
• Couldn't match type ‘GHC.Word.Word64’
with ‘ModifiedLayout
(Sublayout (ModifiedLayout SmartBorder Simplest)) l a’
arising from a functional dependency between:
constraint ‘XMonad.Layout.MultiToggle.Transformer
StdTransformers
(ModifiedLayout
(Sublayout (ModifiedLayout SmartBorder Simplest)) l a)’
arising from a use of ‘avoidStruts’
instance ‘XMonad.Layout.MultiToggle.Transformer
StdTransformers Window’
at <no location info>
• In the expression:
avoidStruts
$ mouseResize
$ windowArrange
$ T.toggleLayouts floats
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
In an equation for ‘myLayoutHook’:
myLayoutHook
= avoidStruts
$ mouseResize
$ windowArrange
$ T.toggleLayouts floats
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
where
myDefaultLayout
= tall ||| mstack ||| full ||| threeCol ||| threeRow ||| floats
• Relevant bindings include
myLayoutHook :: ModifiedLayout
XMonad.Hooks.ManageDocks.AvoidStruts
(ModifiedLayout
MouseResize
(ModifiedLayout
XMonad.Layout.WindowArranger.WindowArranger
(XMonad.Layout.ToggleLayouts.ToggleLayouts
(ModifiedLayout Rename ((->) (l a)))
(XMonad.Layout.MultiToggle.MultiToggle
(XMonad.Layout.MultiToggle.HCons
StdTransformers
(XMonad.Layout.MultiToggle.HCons StdTransformers EOT))
(Choose
(ModifiedLayout
Rename
(ModifiedLayout
(Sublayout (ModifiedLayout SmartBorder Simplest))
ResizableTall))
(Choose
(ModifiedLayout
Rename
(ModifiedLayout
(Sublayout (ModifiedLayout SmartBorder Simplest))
(Mirror ResizableTall)))
(Choose
(ModifiedLayout Rename ((->) (l a)))
(Choose
(ModifiedLayout
Rename
(ModifiedLayout
(Sublayout
(ModifiedLayout SmartBorder Simplest))
ThreeCol))
(Choose
(ModifiedLayout
Rename
(ModifiedLayout
(Sublayout
(ModifiedLayout SmartBorder Simplest))
(Mirror ThreeCol)))
(ModifiedLayout Rename ((->) (l a))))))))))))
(ModifiedLayout
(Sublayout (ModifiedLayout SmartBorder Simplest)) l a)
(bound at xmonad.hs:151:1)
|
151 | myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats
|
第二个错误基本相同但开始Could not match type ‘ModifiedLayout (Sublayout (ModifiedLayout SmartBorder Simplest)) l0 a0’ 使用“GHC.Word.Word64” 所以反过来 我将离开我的导入部分和错误中的代码部分
-- Impots
-- Base
import XMonad
import System.Exit
import System.IO
import qualified XMonad.StackSet as W
-- Actions
import XMonad.Actions.WithAll (sinkAll,killAll)
import XMonad.Actions.MouseResize
-- Data
import Data.Monoid
import Data.Maybe (fromJust)
import qualified Data.Map as M
-- Hooks
import XMonad.Hooks.DynamicLog (dynamicLogWithPP,wrap,xmobarPP,xmobarColor,shorten,PP(..))
import XMonad.Hooks.ManageDocks (avoidStruts,docksEventHook,manageDocks,ToggleStruts(..))
import XMonad.Hooks.ManageHelpers (isFullscreen,doFullFloat)
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.WorkspaceHistory
import XMonad.Hooks.FadeInactive
-- Utils
import XMonad.Util.Run
import XMonad.Util.EZConfig
-- Layouts
import XMonad.Layout.ThreeColumns
import XMonad.Layout.SimplestFloat
import XMonad.Layout.ResizableTile
-- Layouts Modifiers
import XMonad.Layout.LayoutModifier
import XMonad.Layout.NoBorders
import XMonad.Layout.Spacing
import XMonad.Layout.SubLayouts
import XMonad.Layout.WindowNavigation
import XMonad.Layout.WindowArranger (windowArrange,WindowArrangerMsg(..))
import XMonad.Layout.Simplest
import XMonad.Layout.Renamed
import XMonad.Layout.MultiToggle (mkToggle,single,EOT(EOT),(??))
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL,MIRROR,NOBORDERS))
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts,ToggleLayout(Toggle))
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
-- EndImpots
-- LayoutHook
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats <--- ERROR LINE
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
where
myDefaultLayout = tall
||| mstack
||| full
||| threeCol
||| threeRow
||| floats
-- EndLayouts
main :: IO ()
main = do
xmproc <- spawnPipe "xmobar /home/rodrigo/.config/xmobar/xmobar.config"
xmonad $ ewmh def
{ manageHook = (isFullscreen --> doFullFloat) <+> myManageHook <+> manageDocks,modMask = myModMask,terminal = myTerminal,focusFollowsMouse = myFocusFollowsMouse,clickJustFocuses = myClickJustFocuses,borderWidth = myBorderWidth,workspaces = myWorkspaces,normalBorderColor = mynormalBorderColor,focusedBorderColor = myFocusedBorderColor,mouseBindings = myMouseBindings,layoutHook = myLayoutHook <--- ERROR LINE,logHook = workspaceHistoryHook <+> myLogHook <+> dynamicLogWithPP xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc x,ppCurrent = xmobarColor "#0e7a0d" "",ppVisible = xmobarColor "#ffffff" "" .clickable,ppHidden = xmobarColor "#ffffff" "" .clickable,ppHiddenNowindows = xmobarColor "#ffffff" "" .clickable
}
} `additionalKeysP` myKeys
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)