Getting Things Done by David Allen argues that controlling workflow is the best way to maintain control of our tasks.
My workflow is interrupt-driven, so it’s really a stack; you know, start one thing, get interrupted, do new task, finish new task, return to old task. So my FVWM config [TEXT] [TAR/GZ] uses the EdgeCommand instruction to allow me to pan right or left into other pages.
My workflow goes like, start new window, do work, get interrupted, move right into new space, open new window, do work, close window, pan left to old task. Occasionally, I need a window I left behind, so ALT-TAB will warp it to your current viewport.
If you know of a better way to do the panning, or the window warping (ideally I think it would be based on what percentage of the window was visible), I’d very much like the feedback as I’ve been working with this for a couple weeks now. ;)
Screenshots don’t show the workflow, so I created an animated GIF (1MB) showing FVWM in action. Regardless, here’s my screenshot:
You’ll see that I got rid of titlebars, everything I need to do is either mouse or key available, and I’d rather keep other things on my screen (FYI, I borrowed and edited the background, it’s originally from PLB’s Pixel Elegance).
The panning config is setup with the following:
EdgeResistance 0 0 EdgeThickness 2 EdgeCommand east FuncScrollMoveH 40p -5p EdgeCommand west FuncScrollMoveH -40p 5p EdgeCommand north FuncScrollMoveV -40p 5p EdgeCommand south FuncScrollMoveV 40p -5p DestroyFunc FuncScrollMoveV AddtoFunc FuncScrollMoveV + I Scroll 0 $0 + I CursorMove 0 $1 DestroyFunc FuncScrollMoveH AddtoFunc FuncScrollMoveH + I Scroll $0 0 + I CursorMove $1 0
and the off-screen window warping via:
DestroyFunc RootWindowListFunc AddtoFunc RootWindowListFunc + I Iconify false + I Focus NoWarp + I Raise + I PlaceAgain Anim DestroyFunc AltTabWindowListFunc AddtoFunc AltTabWindowListFunc + I Iconify false + I Focus NoWarp + I Raise + I Current (!Visible) PlaceAgain Anim