繁体   English   中英

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

[英]XMonad: Overview of All Currently Opened Windows

在 XMonad 中,有没有办法一次查看所有当前使用的工作区的概览,包括它们当前的窗口?

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

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

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

看起来像这样: xmobar 示例

这是它的配置:

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>"
        }

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

tint2 的示例: 在此处输入图片说明

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

((modm, xK_g), goToSelected defaultGSConfig)

如上面的链接所述。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM