- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Haskell 初学者,我正在使用 xmonad。我试图让它在退出之前提示我,因为我偶尔会不小心点击 mod+q。我找到了两种方法来做到这一点,但我一定是做错了什么,因为它们都不适合我:
https://bbs.archlinux.org/viewtopic.php?id=120298
http://comments.gmane.org/gmane.comp.lang.haskell.xmonad/11699
这是我的 xmonad.hs:
import XMonad
import XMonad.Config.Gnome
import XMonad.Actions.Plane
import XMonad.Util.EZConfig
import XMonad.Util.Run(spawnPipe)
import qualified Data.Map as M
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.UrgencyHook
import System.IO(Handle, hPutStrLn)
import System.Exit
import Control.Monad
import XMonad
import XMonad.Util.EZConfig
import XMonad.Util.Dmenu
import XMonad.Util.Run
workspaces' = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
quit_confirm :: X ()
quit_confirm = do
let m = "confirm restart"
s <- dmenu [m]
when (m == s) (spawn "xmonad --restart")
conf_quit = do
response <- runProcessWithInput "dmenu" ["-p", "Quit?"] "yes\nno\n"
when (response == "yes") (spawn "xmonad --restart")
main = do
dzen2Pipe <- spawnPipe "dzen2 -w 1200 -xs 1 -ta l -fn '-*-terminus-*-*-*-*-16-*-*-*-*-*-*-*' -bg black -fg #d3d7cf "
dzen2Right <- spawnPipe "~/.xmonad/status-dzen.sh"
startupProgs <- spawnPipe "~/.xmonad/startups.sh"
xmonad $ defaultConfig
{
workspaces = workspaces'
, manageHook = manageHook' <+> manageHook defaultConfig
, modMask = mod4Mask
, terminal = "gnome-terminal"
, layoutHook = layoutHook'
, logHook = logHook' dzen2Pipe
}
`additionalKeysP`
[ -- Lock Screen
("M-S-l", spawn "gnome-screensaver-command -l")
-- Sleep
, ("M-S-;", spawn "gnome-screensaver-command -l; pmi action suspend")
-- wireless
, ("M-S-C-w", spawn "~/.xmonad/wireless.sh")
-- 1 screen reconf
, ("M-S-C-1", spawn "~/.xmonad/1-screen.sh")
-- 2 screen reconf
, ("M-S-C-2", spawn "~/.xmonad/2-screen.sh")
-- confirm for quit
, ("M-q", conf_quit)
]
`additionalKeys`
M.toList (planeKeys mod4Mask GConf Finite)
layoutHook' = avoidStruts $ layoutHook defaultConfig
logHook' = dynamicLogWithPP . dzenPP'
dzenPP' h = defaultPP
{
ppOutput = hPutStrLn h
}
manageHook' = composeAll
[ className =? "Pidgin" --> doShift "1" ,
className =? "Firefox" --> doShift "2" ,
className =? "Thunderbird" --> doShift "3" ,
className =? "OpenOffice.org 3.2" --> doShift "4",
manageDocks ]
最佳答案
其他人给出的答案错过了dmenu
似乎在它返回的字符串末尾添加了一个额外的空格。您只需要执行以下操作,它对我有用:
confirm :: String -> X () -> X ()
confirm m f = do
result <- dmenu [m]
when (init result == m) f
confirm "Restart" $ spawn "xmonad --recompile && xmonad --restart"
confirm "Exit" $ io (exitWith ExitSuccess)
关于haskell - 重启时XMonad确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9993966/
如何获取 xmonad 中可见工作空间(当前显示在显示器上的工作空间)的列表?目前,在我的 xmonad.hs 配置文件中,命令 (XMonad.workspaces conf) 为我提供了所有工作区
默认情况下,xmonad 处理 every display separately 。我可以切换到每个显示器并在其上放置一个工作区。这非常有效并且很有意义。 现在我遇到的问题是,通过 DisplayPo
每当 xmonad 启动、重新启动或重新编译时,我都会收到一条 xmessage: xmonad.hs:1:8: Could not find module `XMonad' Perhaps you
我知道 XMobar 支持位图图标,并且我能够配置它们。不过,我还想使用图标来指示当前的 XMonad 布局,但 XMobar 从 XMonad 的 stdin 上获取它。而且我无法找到一种方法来传递
我试图从 ~/.xmonad/Tree.hs 导入一个名为“Tree.hs”的自定义本地模块,但我得到: Error detected while loading xmonad configurati
嗨,直到几天前,我的 Xmonad 一直运行良好,然后我想我用 Synaptic 安装了一些东西,然后开始提示 Xmonad.Config.Gnome这是我的 xmonad.hs import XMo
编辑:原来我的问题只是 Xmobar 中的一个临时错误。请参阅已接受的答案。 谷歌上有很多解决方案,但几乎没有一个对我有用。我正在建立一个 Arch 系统,所以我的第一个倾向是使用 the confi
当我在 ubuntu 中使用 xmonad 时,我遵循了 Xmonad 的教程,但是没有应用程序菜单栏。 我怎么解决这个问题? 我的配置文件在这里: import XMonad import XMon
我正在尝试在 ubuntu 上使用 nix,并使用 XMonad 作为我的窗口管理器。我在一台使用 nixOS 的主机上运行良好,但我有第二台设备尚未准备好支持 nixOS。 Ubuntu 之上的 n
我正在尝试在haskell中设置一个用于代码开发的NixOS VM,并且在xmonad和emacs的基本安装方面遇到了麻烦。我的相关部分/etc/nixos/configuration.nix是 en
This answer描述了如何在 Xmonad 中创建组合键绑定(bind)。 使用 additionalKeys 我将我的键绑定(bind)作为列表添加到我的 XConfig 配置中: ... -
在使用 Alt-Tab 键切换事件窗口时,XMonad 是否可以像许多窗口管理器一样工作?经过一番寻找,我尝试过: ((mod1Mask, xK_Tab), cycleRecentWindows [x
正如标题所说,我需要在两个或更多屏幕上显示一个窗口。 我尝试了 XMonad.Actions.CopyWindow。但似乎虽然窗口被复制到正确的工作区,但它只显示在一个物理屏幕上。 最佳答案 据我了解
我对 xmonad 完全陌生,但我想开始使用它来提高我的工作效率。 这是我一直在使用的指南(我使用的是 Apple OS X Snow Leopard) http://xmonad.org/tour.
我正在尝试编写一个 xmonad.hs,它在启动时会在某些工作区上启动一些应用程序。其中几个应用程序(例如, atop )将在终端内运行( urxvt 是我的偏好)。 这已经被问过几次了,例如,her
我想在 xmonad 启动时在不同的工作区(这很重要)中启动一些应用程序。所以,我写了以下 startupHook : startupApps :: [String] startupApps = ["
我看到其他几个人也有同样的问题,但是没有一个解决方案对我有用。下面的命令+输出主要是我试过的。我发帖 1) 因为我一直坚持这个问题 2) 我想在另一篇文章中发表评论,但我没有声誉 :( 我已经重新安装
我想扩展我的 xmonad.hs,方法是通过 stack 将它移动到它自己的沙盒项目环境中。事实证明,通过将您的 xmonad main 函数嵌入到使用 xmonad-entryhelper 的父级
我正在尝试配置我的 xmonad.hs所以当我开始我的 session 时,我会在不同的工作区启动一系列不同的程序(比如 1 中的终端;2 中的 Firefox;3 中的 Pidgin)。 我已经查看
是否可以根据我显示的物理屏幕以某种方式更改工作区布局? 我想在左显示器的布局上使用 reflectHoriz(来自 XMonad.Layout.PerWorkspace),以便主 Pane 始终最靠近
我是一名优秀的程序员,十分优秀!