Anton Harald
Anton Harald

Reputation: 5964

XMonad: Overview of All Currently Opened Windows

In XMonad is there any way to see an overview of all the currently used workspaces including their current windows at a time?

I think it's a very practical piece of software but I have not found any extension that does something like this. Unless you do remember on which workspace you put all your windows, you end up cycling through the workspaces in order to find one particular window.

I'm thinking for instance of one extra workspace (maybe accessed by MOD-0) which gives you the overview. It could maybe even include some thumbnails of the open workspaces. But for the start a text based summary of the window titles would be ok. Does anybody know if this is existing? Or - if not - could anybody give me a rough direction where to start developing an extension/module doing this, maybe another extension that could be used as a point of departure or so.

Upvotes: 2

Views: 2777

Answers (3)

Dmitry Tron
Dmitry Tron

Reputation: 11

You can use XMonad.Actions.GridSelect from xmonad-contrib. It will provide you with simple pop-up menu, similar to alt-tab menu in more 'traditional' GUI enviroinments. Just add that keybinding

((modm, xK_g), goToSelected defaultGSConfig)

as explained in the link above.

Also check out XMonad.Actions.TreeSelect, this might be closer to what you want.

Upvotes: 0

Chris Stryczynski
Chris Stryczynski

Reputation: 34091

XMonad is only a windows manager. You'll need something like xmobar/tint2/dzen to display the currently running applications.

An example of tint2: enter image description here

Upvotes: 1

GiftZwergrapper
GiftZwergrapper

Reputation: 2782

You could use xmobar for this purpose, if right configured, it shows your current workspace(s) and all workspaces that have open windows or programs in it.

Looks like this: xmobar example

And this is the config for it:

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

Upvotes: 1

Related Questions