
On 07/09/2012 04:22 PM, Klaas van Schelven wrote:
Hi all,
"Park my current state to 'Project A'" set up new stuff to deal with the interruption park the new stuff in "Helping coworker" go back to "Project A"
I'd love to hear a solution for this, even if it's not exactly along the lines of what I just described.
My response to this turns your use-case on its head. For background, I have four screens, which I internally think of as "the communications screen" (extreme left), "the web screen" (extreme right) and "The project screens" (center two). myWorkspaces = ["p1","p2","p3","p4","p5","p6","p7","p8","p9","p0", "mail","web","chrome", "Sysedit","dir", "tsmmon","tsmshell","tsmsess", "osgadmin", "todo", "rdesk", "IM", "acroread", "doc1e","doc1d", "doc2e","doc2d", "doc3e","doc3d", "doc4e","doc4d", "doc5e","doc5d", "doc6e","doc6d", "doc7e","doc7d", "doc8e","doc8d", "doc9e","doc9d", "doc0e","doc0d", "dd1","dd2" ] So I've got a few named project configurations i.e. "Mess with TSM": mail : tsmmon : tsmsess : web which I access via: ((modm .|. shiftMask, xK_a ), do { windows (viewOnScreen 0 "tsmmon" ) >> windows (viewOnScreen 1 "tsmsess" ) >> windows (viewOnScreen 2 "mail" ) >> windows (viewOnScreen 3 "web" ) } ) and then I have "Mess with project N" [whatever] : doc[N]e : doc[N]d : [whatever] .. Note, that this just replaces the center two screens. ((modm .|. controlMask, xK_5 ), do { windows (viewOnScreen 0 "doc5e" ) >> windows (viewOnScreen 1 "doc5d" ) } ) and then I have ad-hoc numbered screens as usual -- mod-[1..9], Switch to workspace N -- mod-shift-[1..9], Move client to workspace N -- [((m .|. modm, k), windows $ f i) | (i, k) <- zip (XMonad.workspaces conf) ([xK_1 .. xK_9 ] ++ [xK_0]) , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] And then I have the ultimate ad-hockery: grid-select some workspace and put it 'here'. , ((modm, xK_s), gridselectWorkspace defaultGSConfig W.greedyView ) So: in your case, my development environment is tweaked in the 'project 1' space. Client calls, I bring up 'project 2', and set things up so I can answer them. Then I go back to 'project 1' later. .. You can go a long way towards this by just thinking to yourself: 'My dev environment consists of WS 8 on the left, ws 9 on the right'. Then once you've finished a distraction, put WS8 on the left, 9 on the right, and you're done. - Allen S. Rout