haskell - XMonad:当前打开的所有窗口的概述

标签 haskell window-managers xmonad

在 XMonad 中,有什么方法可以一次查看所有当前使用的工作区(包括其当前窗口)的概述吗?

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

我正在考虑一个额外的工作空间(可能通过 MOD-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>"
        }

关于haskell - XMonad:当前打开的所有窗口的概述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41769170/

相关文章:

debian - 如何更改 XRDP 的默认窗口管理器

haskell - xmonad - 使用鼠标按钮 6 和 7 切换工作区

haskell - Haskell 中的 Bounded for Double 实例

haskell - 模式同义词不能统一类型级列表中的类型

haskell - SCons 和 Shake 的区别

screen - 在现代版本的 Windows 上最小化窗口是否仍将其移动到坐标 (-32000, -32000)?

c++ - 为什么很多窗口管理器不支持面向对象?

testing - Haskell IO 测试

haskell - 如何从 xmonad 默认配置中删除 "Full"布局中的边框?

Haskell 堆栈 : Missing C library Xft when using stack building X11-xft?