我最近一直在使用 fedora 18 并尝试让 xmonad 与 gnome-panel 一起工作。在我的 ubuntu 和 kali 安装上,这工作得很好,但在 fedora 中,我还没有让 gnome 面板正确显示。非常感谢任何有关 gnome 面板为何以这种方式显示并使其正常工作的帮助。这是一个屏幕截图。注意右侧的 2 个黑色面板。我发现它们应该是 gnome 面板的上部和下部菜单,但显然它们还不能在 fedora 和 xmonad 中工作。
我有一个 xmonad 桌面文件
#/usr/share/applications/xmonad.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Xmonad
Exec=xmonad-start
NoDisplay=true
X-GNOME-WMName=Xmonad
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=false
我有一个 gnome 会话文件
#/usr/share/gnome-session/sessions/xmonad.session
[GNOME Session]
Name=Xmonad/GNOME
RequiredComponents=gnome-settings-daemon;gnome-panel;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=xmonad
DefaultProvider-notifications=notification-daemon
我有一个 xsessions 文件
#/usr/share/xsessions/xmonad.desktop
[Desktop Entry]
Encoding=UTF-8
Name=XMonad Gnome
Comment=Lightweight tiling window manager
TryExec=/usr/bin/gnome-session
Exec=gnome-session --session=xmonad
#Icon=xmonad.png
Type=XSession
这在我的其他系统中工作得很好,但在 Fedora 中,登录到 xmonad gnome-panel 后似乎打开了两个面板,这两个面板应该是顶部和底部的 gnome-panels,但它们是空白的。另外,您无法关闭它们或使用它们进行其他任何操作。
在我的 xmonad.hs 文件顶部,我导入了 GnomeConfig 模块和 ManageDocks 模块。
import XMonad.Config.Gnome
import XMonad.Hooks.ManageDocks
我还在我的配置中添加了 gnome-panelignore,但我完全不知道它的作用(我只知道添加它后它使我的其他系统可以工作)
myManageHook = composeAll
[ manageHook gnomeConfig
, className =? "File Operation Progress" --> doFloat
, className =? "google-chrome" --> doShift "4:chrome"
, resource =? "desktop_window" --> doIgnore
, resource =? "kdesktop" --> doIgnore
, resource =? "gnome-panel" --> doIgnore ]
我已将默认值更改为我在顶部导入的 GnomeConfig。
main = xmonad defaults
defaults = gnomeConfig {
-- simple stuff
terminal = myTerminal,
focusFollowsMouse = myFocusFollowsMouse,
borderWidth = myBorderWidth,
modMask = myModMask,
-- numlockMask deprecated in 0.9.1
-- numlockMask = myNumlockMask,
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,
-- key bindings
keys = myKeys,
mouseBindings = myMouseBindings,
-- hooks, layouts
layoutHook = myLayout,
manageHook = myManageHook,
handleEventHook = myEventHook,
logHook = myLogHook,
startupHook = myStartupHook
}
答案1
我将不得不进行更多调查,但现在一切都可以使用我上面发布的相同配置进行。现在唯一的区别是我正在为 fedora 使用新的 xmonad.hs 文件,但具有相同的 Gnome.Config 内容。这是一个屏幕截图,我只是发布此屏幕截图以帮助其他人搜索这些答案。
答案2
我使用 xMonad 和 Gnome 已经有几年了。 F16、F17,现在是 F18。但是,存在一个持续存在的令人讨厌的问题,即 Gnome 菜单无法在寻呼机屏幕第一页以外的任何内容上正确绘制。据报道,有几个地方,但到目前为止我还没有找到解决方案。