标签: xmonad

xmonad:设置屏幕和工作区

我无法按照我的预期让这个功能正常工作.

setScreenAndWorkspace i =
  windows (viewOnScreen screenId workspaceId)
  where
    screenId = ((i-1) `mod` numberOfScreens)
    -- workspaceId = show i -- doesn't work for some reason
    workspaceId =
      case i of
        1 -> "1"
        2 -> "2"
        3 -> "3"
        4 -> "4"
        5 -> "5"
        6 -> "6"
        7 -> "7"
        8 -> "8"
        9 -> "9"
Run Code Online (Sandbox Code Playgroud)

我正在调用这样的函数:

myKeys =
  [
    ("M-1"   , setScreenAndWorkspace 1),
    ("M-2"   , setScreenAndWorkspace 2),
    ("M-3"   , setScreenAndWorkspace 3),
    ("M-4"   , setScreenAndWorkspace 4),
    ("M-5"   , setScreenAndWorkspace …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad

5
推荐指数
1
解决办法
1450
查看次数

在Umonntu Unity的Xmonad中没有菜单栏

当我在ubuntu中使用xmonad时,我遵循Xmonad的教程,但是没有应用程序菜单栏.我怎么解决这个问题?

我的配置文件在这里:

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import XMonad.Util.EZConfig(additionalKeys)
import System.IO
--import XMonad.Config.Gnome
import XMonad.Layout.Gaps
myLayouts = gaps [(U, 24)] -- $ layoutHook gnomeConfig 


main = do
--  xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmobarrc"
xmonad $ defaultConfig
{manageHook = composeAll [
    -- other hooks,
    manageDocks
    , className =? "Unity-2d-panel"    --> doIgnore
    --, className =? "Unity-2d-launcher" --> doIgnore
      -- more hooks
    ]

    -- for gnome begin
    --manageDocks <+> manageHook defaultConfig
    -- for gnome end
, layoutHook = avoidStruts  $ …
Run Code Online (Sandbox Code Playgroud)

xmonad

5
推荐指数
1
解决办法
2525
查看次数

xmonad提示中的简单计算器

我有一个使用xmonad的XMonad.Prompt.Input的新想法.我认为这真的很酷,如果一个人可以制作一个简单的计算器来计算用户输入的内容并在下一个提示的文本中返回结果,当用户按下escape时结束......问题是,我没有非常知道如何处理类型......

到目前为止我有这个:

runAndGetOutput cmd = do
    (_, pout, _, phandle) <- runInteractiveCommand cmd
    waitForProcess phandle
    a <- hGetContents pout
    return a 

calcPrompt :: XPConfig -> String -> X () 
calcPrompt c ans =
    inputPrompt c ans ?+ \ next -> 
        calcPrompt c (runAndGetOutput ("calc" ++  next)) 
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.我明白了:

Couldn't match expected type `[Char]' with actual type `IO String'
Expected type: String
Actual type: IO String
In the return type of a call of `runAndGetOutput'
In the second argument of `calcPrompt', namely …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad

5
推荐指数
1
解决办法
978
查看次数

重启时XMonad确认

我是 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 …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad

5
推荐指数
1
解决办法
2466
查看次数

xmonad的logHook可以按设定的时间间隔运行而不是(仅仅)响应布局事件吗?

我使用的是dynamicLogWithPPXMonad.Hooks.DynamicLog与dzen2作为下xmonad状态栏在一起.我希望在栏中显示的其中一项内容是当前播放曲目的大胆时间(如果有的话).获取此信息很简单:

audStatus :: Player -> X (Maybe String)
audStatus p = do
  info <- liftIO $ tryS $ withPlayer p $ do
                ispaused <- paused
                md <- getMetadataString
                timeleftmillis <- (-) <$> (getCurrentTrack >>= songFrames) <*> time
                let artist = md ! "artist"
                    title = md ! "title"
                    timeleft = timeleftmillis `quot` 1000
                    (minutes, seconds) = timeleft `quotRem` 60
                    disp = artist ++ " - " ++ title ++ " (-"++(show minutes)++":"++(show seconds)++")" -- will be …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad statusbar

5
推荐指数
1
解决办法
1034
查看次数

Vim 背景不完整

坏边

您可以看到 Gnome 终端的默认紫色背景显示在终端的边缘。是否有已知的修复方法?我的窗口管理器是 Xmonad。

vim xmonad gnome-terminal

5
推荐指数
1
解决办法
1094
查看次数

XMonad 卷配置不起作用

我最近进入了 XMonad,不幸的是,我对 Haskell 知之甚少。我正在尝试配置我的 xmonad.hs 文件,以便我可以控制音量。然而,现在,即使我的 xmonad.hs 文件编译没有错误,我也无法控制音量。

我从这个链接得到了音量控制代码:http://dmwit.com/volume/

这是我的配置文件:

import XMonad
import XMonad.Util.Run(spawnPipe)
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Actions.Volume
import XMonad.Util.Dzen
import Data.Map (fromList)
import Data.Monoid (mappend)
import System.IO

alert = dzenConfig centered . show . round
centered =
        onCurr (center 150 66)
    >=> font "-*-helvetica-*-r-*-*-64-*-*-*-*-*-*-*"
    >=> addArgs ["-fg", "#80c0ff"]
    >=> addArgs ["-bg", "#000040"]

main = do 
        xmproc <- spawnPipe "xmobar /home/david/.xmobarrc"
        xmonad $ defaultConfig
                {
                        manageHook = manageDocks <+> manageHook defaultConfig
                        , layoutHook = avoidStruts  $  layoutHook …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad

5
推荐指数
1
解决办法
1608
查看次数

Nix上的XMonad-找不到xmonad-contrib

我正在XMonad作为窗口管理器,试图在ubuntu上使用nix。我可以在使用nixOS的一台主机上很好地工作,但是我还没有第二台设备可用于nixOS。在Ubuntu之上的nix在那里通常可以很好地工作,但是xmonad无法找到贡献性库。

相关软件包已安装:

$ nix-env -q | grep xmonad
xmonad-0.13
xmonad-contrib-0.13
xmonad-extras-0.12.1
Run Code Online (Sandbox Code Playgroud)

但是重新编译我的xmonad.hs,它找不到contrib库:

$ xmonad --recompile
Error detected while loading xmonad configuration file: /home/martyn/.xmonad/xmonad.hs

xmonad.hs:32:1: error:
Failed to load interface for ‘XMonad.Layout.NoBorders’
Use -v to see a list of the files searched for.

...

Please check the file for errors.
Run Code Online (Sandbox Code Playgroud)

相关文件已安装:

$ ls /nix/store/*xmonad-contrib*/lib/**/NoBorders*
/nix/store/4xrrwsm6362xkn9jn1b17kd891kv9z3a-xmonad-contrib-0.13/lib/ghc-8.0.2/xmonad-contrib-0.13/XMonad/Actions/NoBorders.dyn_hi
/nix/store/4xrrwsm6362xkn9jn1b17kd891kv9z3a-xmonad-contrib-0.13/lib/ghc-8.0.2/xmonad-contrib-0.13/XMonad/Actions/NoBorders.hi
/nix/store/4xrrwsm6362xkn9jn1b17kd891kv9z3a-xmonad-contrib-0.13/lib/ghc-8.0.2/xmonad-contrib-0.13/XMonad/Layout/NoBorders.dyn_hi
/nix/store/4xrrwsm6362xkn9jn1b17kd891kv9z3a-xmonad-contrib-0.13/lib/ghc-8.0.2/xmonad-contrib-0.13/XMonad/Layout/NoBorders.hi
Run Code Online (Sandbox Code Playgroud)

通过将xmonad-contrib添加到我的nixpkgs config.nix中,我将这些库添加到了ghc软件包注册表中:

$ cat ~/.config/nixpkgs/config.nix 
with (import <nixpkgs> {});
{
  packageOverrides = pkgs: with pkgs; {

    myHaskellEnv = pkgs.haskellPackages.ghcWithPackages (haskellPackages: with haskellPackages; [ …
Run Code Online (Sandbox Code Playgroud)

haskell xmonad ghc nix

5
推荐指数
1
解决办法
775
查看次数

xmonad:浮动窗口的默认大小

要将窗口一出现就放置在浮动层上,可以使用doFloat中的函数ManageHooks。此外,还有一些附加功能,doCenterFloat例如ManageHelpers.

但是有没有办法指定窗口的特定大小呢?

现在我有一个应用程序,它只占用整个窗口空间。我想指定一个更舒适的尺寸。

ManageHelpers确实有一个名为 的函数doRectFloat,它接受一个RationalRect. 在其描述doRectFloat中指出以下内容:

浮动窗口的矩形。0 到 1;x、y、w、h。

但我不知道如何使用这个。

haskell xmonad

5
推荐指数
1
解决办法
2608
查看次数

无法编译 xmonad.hs 文件

我在基于 arch 的系统上使用 xmonad。但升级后我无法通过编译我的 xmonad.hs 文件

\n\n

$ xmonad --recompile

\n\n

我似乎在 xmonad 的每个模块上都遇到错误,甚至 import XMonad 似乎也不起作用。\n如果有人以某种方式解决了这个问题,请告诉我。

\n\n

错误消息:

\n\n
Error detected while loading xmonad configuration file: \n/home/arya/.xmonad/xmonad.hs\n\nxmonad.hs:2:1: error:\n    Could not find module \xe2\x80\x98XMonad\xe2\x80\x99\n    Use -v to see a list of the files searched for.\n  |\n2 | import XMonad\n  | ^^^^^^^^^^^^^\n\nxmonad.hs:3:1: error:\n    Could not find module \xe2\x80\x98XMonad.Config.Mate\xe2\x80\x99\n    Use -v to see a list of the files searched for.\n  |\n3 | import XMonad.Config.Mate\n  | ^^^^^^^^^^^^^^^^^^^^^^^^^\n\nxmonad.hs:5:1: error:\n    Could not find module \xe2\x80\x98XMonad.StackSet\xe2\x80\x99\n …
Run Code Online (Sandbox Code Playgroud)

haskell window-managers xmonad archlinux

5
推荐指数
1
解决办法
4392
查看次数

标签 统计

xmonad ×10

haskell ×8

archlinux ×1

ghc ×1

gnome-terminal ×1

nix ×1

statusbar ×1

vim ×1

window-managers ×1