[xmonad] Delays in focus update...
Allen S. Rout
asr at ufl.edu
Tue Feb 7 19:23:54 CET 2012
On 02/06/2012 05:21 PM, Philipp Haselwarter wrote:
> completely skipping on your question, but you just got me curious --
> what kind of task do you work on that allows/requires you to use four
> monitors?
Heh! Well, I'm GLAD YOU ASKED. :)
Gives me an opportunity to expound on my WM history and thinking.
--- What I'm doing now.
All my screens are set up portrait. My leftmost screen usually holds
email or IM panels. My rightmost screen usually holds a web browser.
My two center screens hold whatever project I'm working on, and I tend
to think of the project screens in pairs.
So right this instant, my left-center screen is an org-mode emacs
buffer with a data-collection status report I just updated. I've also
got two shells in it, mostly squooshed to the bottom, with an R session
that helps me develop the analytics that go in the report, and a random
shell in that report directory so I can e.g. run data-collection sripts.
The right-center is full-screen of an evince window, which is displaying
the output of the most recent build of the report.
Here's a picture, if anyone cares.
http://muntok.routhouse.org/pictures/misc/
These days I'm optimizing by identifying visual work patterns, and
making it easier to set them up quickly. So I've got a keystroke bound
to "basic TSM monitoring" (I manage some backup infrastructure) and one
to "Document project 1", etc.
, ((modm .|. shiftMask, xK_s ), do { windows (viewOnScreen 0 "tsmmon" )
>> windows (viewOnScreen 1 "tsmsess" ) } )
, ((modm .|. controlMask, xK_1 ), do { windows (viewOnScreen 0 "doc1e" )
>> windows (viewOnScreen 1 "doc1d" ) } )
and 25 workspaces at the moment. Added four last week. :)
My eventual goal is to roll up the variety of display patterns I've
defined, and express them in a data structure. Once that's done, I can
gridSelect any of them, and reserve the keystrokes for the really common
ones.
--- History
I've been fiddling with X since the late 80s, and have messed with a
variety of virtual-desktop memes; I used twm, vtwm, tvtwm and
eventually settled on ctwm. Before ctwm, all of the virtual desktop
schemes had some or another geometric idiom behind them. Windows were
placed either according to a big root desktop you scrolled around on, or
relative to your viewport.
CTWM, on the other hand had 'workspaces', which are mostly analogous to
xmonad workspaces, though different in detail and implementation. You
named a family of workspaces, and then had 'occupation' directives which
told you which X clients would be mapped when which workspaces were active.
For years, I was happy with three X screens (e.g. .0, .1, .2). The one
on the left was my 'commo' screen, and had (on different workspaces)
various mail interfaces and IM clients. The one on the right was my
'web' screen, and had a variety of browsers (on different workspaces).
In the center I had two TwinView-joined screens, as .0, and that was
where my projects lived. I had 20 workspaces defined at the time I left
that config.
I actually peaked at 6 displays: I put our monitoring system on one of
them, but couldn't figure out a rational use for screen 6. A co-worker
suggested that, since it occluded my window, I could put a webcam out
the window and display that as screen 6. :P If I were doing it again,
screen 6 would be for my 'remote desktop' uses.
- Allen S. Rout
More information about the xmonad
mailing list