
Donald Bruce Stewart wrote:
So now I come to a question, I have a xinerama setup for my laptop that means I can plug into a monitor and have two screens. My usual usage involves me having to go hunting through workspaces to find where I left a particular client window open (a terminal, web browser window etc). What I'm finding at the moment is that as I move through the workspaces, at some point I select a workspace that's on the other screen to the one I'm working on, and by selecting that workspace I move to that other screen. Then as I continue looking through my workspaces, I pull them to that screen instead (I flick fast ;-) ).
So the question is, how do other people solve this problem (ie. how do you cycle workspaces to find something you want in xinerama without getting thrown around between screens) ?
And, is there a better way to find something on another workspace ?
I use the state logging facility, and xmonad-status.c to display a little status bar showing the current workspace, and those others with clients on them -- I'm actually addicted to this script now. It takes the logging output, and prints it as:
1 2 [3] 5 8
giving the indices of non-empty workspaces, and the focused one. Pipe that into dzen, and off you go. Examples in XMonadContrib/scripts/
I the darcs version, you enable this by setting logging = True, and having xmonad-status.c built and in your path.
We're just about to move this printing stuff into Config.hs too, so you can print your own formats to stdout.
-- Don
Hi Don, I recall the output feature not being in 0.2, at least definitely can't see any ouput flowing through the pipe that is setup on startup. So since I have a recollection of needing the latest src from the head, I tried to build the latest xmonad from darcs and hit this error, % runhaskell Setup.lhs configure Configuring xmonad-0.2... configure: Dependency base>=2.0: using base-2.0 configure: Dependency X11>=1.2.1: using X11-1.2.2 configure: Dependency X11-extras>=0.2: using X11-extras-0.2 configure: Dependency mtl>=1.0: using mtl-1.0 configure: Dependency unix>=1.0: using unix-1.0 configure: Using install prefix: /usr/local configure: Binaries installed in: /usr/local/bin configure: Libraries installed in: /usr/local/lib/xmonad-0.2/ghc-6.6 configure: Private binaries installed in: /usr/local/libexec configure: Data files installed in: /usr/local/share/xmonad-0.2 configure: Using compiler: /usr/bin/ghc configure: Compiler flavor: GHC configure: Compiler version: 6.6 configure: Using package tool: /usr/bin/ghc-pkg configure: Using ar found on system at: /usr/bin/ar configure: No haddock found configure: No pfesetup found configure: Using ranlib found on system at: /usr/bin/ranlib configure: Using runghc found on system at: /usr/bin/runghc configure: Using runhugs found on system at: /usr/bin/runhugs configure: No happy found configure: No alex found configure: Using hsc2hs: /usr/bin/hsc2hs configure: No c2hs found configure: No cpphs found configure: No greencard found alana% runhaskell Setup.lhs build *** Exception: dist/build/autogen/Paths_xmonad.hs: openFile: permission denied (Permission denied) alana% sudo runhaskell Setup.lhs build Preprocessing executables for xmonad-0.2... Building xmonad-0.2... [3 of 6] Compiling Config[boot] ( Config.hs-boot, nothing ) [4 of 6] Compiling Operations ( Operations.hs, dist/build/xmonad/xmonad-tmp/Operations.o ) Operations.hs:199:9: Not in scope: `changeProperty32' Operations.hs:205:12: Not in scope: `unmapWindow' Operations.hs:509:15: Not in scope: `getWMNormalHints' Operations.hs:523:18: Not in scope: type constructor or class `SizeHints' Operations.hs:525:51: Not in scope: `sh_max_size' Operations.hs:526:51: Not in scope: `sh_base_size' Operations.hs:527:51: Not in scope: `sh_resize_inc' Operations.hs:528:51: Not in scope: `sh_aspect' Operations.hs:529:51: Not in scope: `sh_base_size'