XMonad:所有当前打开的Windows概述

时间:2017-01-20 17:23:14

标签: haskell window-managers xmonad

在XMonad中,有什么方法可以查看所有当前使用的工作空间的概览,包括一次当前的窗口?

我认为这是一个非常实用的软件,但我没有找到任何类似这样的扩展。除非您确实记得放置所有窗口的工作区,否则最终会在工作区中循环以找到一个特定的窗口。

我正在考虑一个额外的工作空间(可能由MOD-0访问),它为您提供了概述。它甚至可能包括开放工作区的一些缩略图。但是一开始,基于文本的窗口标题摘要就可以了。有人知道这是否存在?或者 - 如果没有 - 任何人都可以给我一个粗略的指示从哪里开始开发一个扩展/模块这样做,也许是另一个可以用作出发点的扩展。或者

3 个答案:

答案 0 :(得分:0)

您可以使用xmobar来实现此目的,如果配置正确,它会显示您当前的工作空间以及其中包含打开的窗口或程序的所有工作空间。

看起来像这样: xmobar example

这是它的配置:

xmonad.hs

 main = do
   xmproc <- spawnPipe "/usr/bin/xmobar /home/svoelkl/.xmobarrc"
   status <- spawnPipe myDzenStatus
   conky  <- spawnPipe myDzenConky
   xmonad $ defaultConfig
              { manageHook = manageSpawn <+> myManageHook <+> manageDocks,
                layoutHook = myLayout,
                logHook = dynamicLogWithPP xmobarPP {
                            ppOutput = hPutStrLn xmproc,
                            ppLayout = (\ x -> ""),
                            ppTitle = xmobarColor "#b2ed00" ""
                          } >> updatePointer (Relative 0.99 0.99),
                modMask = mod4Mask,
                borderWidth = 4,
                normalBorderColor = "#777777",
                focusedBorderColor = "#ccff00",
                workspaces = myWorkspaces,
                focusFollowsMouse = True,
                terminal = "x-terminal-emulator"
              }
              `removeKeys` myRemoveKeys
              `additionalKeys` myAdditionalKeys

.xmobarrc

 Config { position = TopSize L 90 24
        , lowerOnStart = True
        , bgColor = "black"
        , fgColor = "grey"
        , commands = [ Run Date "%a %_d %l:%M" "date" 10
                     , Run StdinReader
                     , Run BatteryP ["BAT0"]
                       ["-t", "<acstatus><watts> (<left>%)",
                        "-L", "10", "-H", "80", "-p", "3",
                        "--", "-O", "<fc=#b2ed00>On</fc> -", "-o", "",
                        "-L", "-15", "-H", "-5",
                        "-l", "red", "-m", "blue", "-h", "green"]
                        600
                     ]
        , template = "%StdinReader% }{ %battery% <fc=#ee9a00>%date%</fc>"
        }

答案 1 :(得分:0)

XMonad只是一个Windows管理器。你需要像xmobar / tint2 / dzen这样的东西来显示当前正在运行的应用程序。

tint2的一个例子: enter image description here

答案 2 :(得分:0)

您可以在xmonad-contrib中使用XMonad.Actions.GridSelect。它将为您提供简单的弹出菜单,类似于在更多“传统” GUI环境中的alt-tab菜单。 只需添加该键绑定

((modm, xK_g), goToSelected defaultGSConfig)

如上面的链接所述。

也请查看XMonad.Actions.TreeSelect,这可能更接近您想要的内容。