Я недавно использовал Fedora 18 и пытался заставить xmonad работать с gnome-panel. На моих установках Ubuntu и Kali это работает отлично, но в Fedora мне еще предстоит заставить gnome-panels отображаться правильно. Любая помощь относительно того, почему gnome-panels отображаются так, как они это делают, и как заставить их работать правильно, будет очень признательна. Вот скриншот. Обратите внимание на две черные панели справа. Я понял, что это должны быть верхнее и нижнее меню gnome-panel, но, очевидно, они пока не работают в 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-session
#/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-panel ignore в свою конфигурацию, но я не знаю наверняка, что он делает (я просто знаю, что он заставил работать другие мои системы после его добавления)
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
Мне придется исследовать еще кое-что, но теперь все работает с той же конфигурацией, которую я разместил выше. Единственное отличие теперь в том, что я использую новый файл xmonad.hs для fedora, но с тем же Gnome.Config. Вот скриншот. Я просто публикую его, чтобы помочь тем, кто ищет эти ответы.
решение2
Я использую xMonad и Gnome уже пару лет. F16, F17, а теперь F18. Но есть постоянная неприятная проблема с меню Gnome, которые не отображаются должным образом нигде, кроме первой страницы экранов пейджера. Об этом сообщалось в нескольких местах, но я пока не нашел решения.