我听说过xmonad的优秀报道,但它对于日常使用和开发有多好?由于各种原因,我不使用vim/emacs(虽然我不会受到终端恐惧症的影响!).我见过的所有截图/视频都显示xmonad主要用于终端应用程序.是否值得从KDE 4.2切换?
我正在使用这个配置文件https://github.com/artificialbeing/xmonad-conf/blob/master/xmonad.hs
我通过执行 xmonad --recompile 重新编译了 haskell
然后我做了 Mq(其中 M 是 ALT)来重新启动 xmonad。
没有错误,我很确定配置已设置。但是,ALT 似乎不再是 mod 键了。当我按 ALT+SHIFT+RETURN 时,我没有看到新的终端屏幕。
有人可以帮我弄清楚哪个键是mod吗?
我希望每个窗口都是透明的,我正在使用xmonad和X11.我对Haskell,xmonad或X11中的任何一个都不是很熟悉.
我该怎么配置xmonad呢?我甚至不知道如何开始.
今天我已经开始使用Xmonad并且无法在布局上看到Xmobar在我身上.xmobarrc我有这些代码:
...
, position = TopW L 100
, lowerOnStart = True
, hideOnStart = False
, allDesktops = True
, overrideRedirect = True
, pickBroadest = False
, persistent = True
...
Run Code Online (Sandbox Code Playgroud)
这是我的xmonad.hs:
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import System.IO
main = do
xmproc <- spawnPipe "xmobar"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = …Run Code Online (Sandbox Code Playgroud) 嗨,我的Xmonad一直工作到几天前,然后我想我用Synaptic安装了一些东西然后开始抱怨Xmonad.Config.Gnome这里是我的xmonad.hs
import XMonad
import XMonad.Config.Gnome
myManageHook = composeAll [
(className =? "Pidgin" <&&> title =? "Buddy List") --> doFloat
, (className =? "Gnome-panel" <&&> title =? "Run Application") --> doFloat
-- , (className =? "XEyes") --> doShift "7"
]
main = xmonad $ gnomeConfig {
modMask = mod4Mask
, manageHook = myManageHook <+> manageHook gnomeConfig
}
Run Code Online (Sandbox Code Playgroud)
当我编译时,我得到这个:
ghc --make "xmonad.hs" (nella cartella: /home/giuseppe/.xmonad)
xmonad.hs:2:7:
Could not find module `XMonad.Config.Gnome':
Use -v to see a list of the files searched for. …Run Code Online (Sandbox Code Playgroud) 我使用XMonad + gnome作为窗口管理器.我有一个问题,当我运行Java Web Start应用程序时,它会显示一个空窗口,如屏幕:

有什么我可以做的来解决它吗?
更新:
我尝试了JWS示例中的简单程序,它是正常的.所以它应该是应用程序的问题.
失败的应用程序是Blast2Go.
我正在尝试从〜/ .xmonad / Tree.hs导入一个名为'Tree.hs'的自定义本地模块,但是我得到了:
Error detected while loading xmonad configuration file: /home/shahn/.xmonad/xmonad.hs
xmonad.hs:55:8:
Could not find module ‘Tree’
Use -v to see a list of the files searched for.
Please check the file for errors.
Run Code Online (Sandbox Code Playgroud)
ghc似乎没有在〜/ .xmonad中搜索模块。是否有实现此目标的好方法?
有没有一种方法,使同时按键成键绑定,例如用于键w,e,f,当0.05秒彼此的内按下,触发命令?
更具体:
如果w,e,f被0.05秒彼此的内压,则在按下的最后一个,XMonad应该触发所述命令.XMonad也应截获三个键,以便它们不会被多余地发送到聚焦窗口.
否则(如果在0.05秒的时间内没有按下其中一个)XMonad应像往常一样将密钥发送到聚焦窗口.
我在这个目标是用w,e,f"逃"到一个VIM般的"正常模式",一个XMonad.Actions.Submap(子图).
使用失败的方法更新,以防任何人都可以看到修复它的方法:
我尝试使用子图实现这一点,所以,例如,如果你按下了,w你最终会进入chord_mode_w,如果你e从那里按下,你最终会进入chord_mode_we,如果你f从那里按下,你最终会最终进入normal_mode,例如.实现非常混乱:我在主要的键绑定中包括:
("w", spawn "xdotool key <chord_mode_w_keybinding> ; sleep 0.05 ; xdotool key <abort_keybinding>")
(chord_mode_w_keybinding, chord_mode_w)
Run Code Online (Sandbox Code Playgroud)
用于检测w(其余部分类似),以及(不完整的)子图,例如:
chord_mode_w = submap . mkKeymap c $
[
("e", chord_mode_we )
, ("f", chord_mode_wf )
, (abort_keybinding, pasteString "w")
-- in order for the …Run Code Online (Sandbox Code Playgroud) 简而言之:当我切换到工作区X时,我希望某些程序能够自动启动,但前提是它们尚未启动。
这与在不同工作空间上启动XMonad不同,因为我不想将窗口移至特定工作空间(例如始终将xterm移至工作空间2)。
这对我也不起作用:xmonad在不同工作空间中启动时生成。我不希望所有应用程序在登录时立即启动,如果我关闭它并再次切换到工作区2,它也不会自动启动,例如xterm。
什么不工作不够,这里是什么做的工作:
(几乎)
在我的工作空间列表中,我保存了带有工作空间名称的touples,并在切换到那里时启动了一个列表程序:
myWorkspaces = [ ("VIM", ["gvim"]), ("TERM",[myTerminal ++ " -e tmux"]) ]
-- In my keybindings:
[ ((mod4Mask, key), loadWorkspace workspace cmd)
| (key, (workspace, cmd)) <- zip [xK_1..] myWorkspaces
]
Run Code Online (Sandbox Code Playgroud)
我定义了一个函数以切换到工作区并生成给定程序:
loadWorkspace :: String -> [String] -> X()
loadWorkspace workspace commands =
do windows $ W.greedyView workspace
mapM_ spawn filtered_commands
where filtered_commands :: X [String]
filtered_commands = filterM isNotOpen commands
isNotOpen :: String -> X Bool …Run Code Online (Sandbox Code Playgroud) 我想在 Xmonad 的工作区中使用Nerd Fonts 中的Unicode 字符。
myWorkspaces = ["1:?", "2:?", "3:?", "4:?", "5:?", "6:?", "7:?", "8:?", "9:?"]
Run Code Online (Sandbox Code Playgroud)
以供参考:
但是,我在编译时收到以下错误:
xmonad.hs:191:13: error:
lexical error in string/character literal at character '\62057'
|
191 | ["1:?", "2:?", "3:?", "4:?", "5:?", "6:?", "7:?", "8:?", "9:?"]
| ^
Please check the file for errors.
Warning: Missing charsets in String to FontSet conversion
Run Code Online (Sandbox Code Playgroud)
有没有机会使用一整套书呆子字体 unicode 字符?我已经看到其他人在他们的 config 中使用了 unicode 的子集。