A special 'normal' WM-ish virtual desktop

What would be the easiest way to setup having a specific virtual desktop act more like a traditional WM? Most of the time I want tiling, but occasionally a coworker will want to show me something in a multi-windowed app and be at a loss as to how to move things around, resize, etc. It'd be nice to just be able to switch over to a desktop that acts like a regular window manager and have them use that. Alternatively, if there's a way to setup a key combo to switch between tiled mode and normal-WM mode, that might even be better. I'm sure this is possible since bluetile does it, but I'm not sure how to put it together.

Hi Joseph! On Thu, Nov 04, 2010 at 12:26:20PM -0500, Joseph Garvin wrote:
What would be the easiest way to setup having a specific virtual desktop act more like a traditional WM? Most of the time I want tiling, but occasionally a coworker will want to show me something in a multi-windowed app and be at a loss as to how to move things around, resize, etc. It'd be nice to just be able to switch over to a desktop that acts like a regular window manager and have them use that. Alternatively, if there's a way to setup a key combo to switch between tiled mode and normal-WM mode, that might even be better. I'm sure this is possible since bluetile does it, but I'm not sure how to put it together.
Bluetile uses the layout PositionStoreFloat for its stacking mode. You can use it like any other layout and by activating it for a workspace you will put that workspace in stacking mode. You need: - X.L.PositionStoreFloat the layout - X.H.PositionStoreHooks an Event- and ManageHook to deal with how windows look in stacked mode - X.L.NoFrillsDecoration a decoration to allow windows to be moved around - X.L.BorderResize a layout modifier to allow windows to be resized with the mouse If you have a dual-head setup, you might also want to look at X.H.CurrentWorkspaceOnTop which is a workaround to make dragging windows from one screen to another work better. The documentation for all those modules should explain how to integrate them into an exisiting configuration. But you can also look at X.C.Bluetile (especially at the line where positionStoreFloat is used) on how it all fits together. Hope that helps! Best regards, Jan PS: An entirely different approach would be to run something like Xnest (or xserver-xephyr is what is used for this today?) on one of your workspaces and run a traditional window manager inside of that. I used to do that for a while, but the biggest disadvantage is, that your clipboard isn't shared with Xnest so copy & paste doesn't work as one would like.

Joseph Garvin
What would be the easiest way to setup having a specific virtual desktop act more like a traditional WM? Most of the time I want tiling, but occasionally a coworker will want to show me something in a multi-windowed app and be at a loss as to how to move things around, resize, etc. It'd be nice to just be able to switch over to a desktop that acts like a regular window manager and have them use that. Alternatively, if there's a way to setup a key combo to switch between tiled mode and normal-WM mode, that might even be better. I'm sure this is possible since bluetile does it, but I'm not sure how to put it together.
I have a patch[1] to add a module which allows you to toggle manageHooks. Search my xmonad.hs[2] for 'hookFloat' to see how I configure it. Allows me to tell XMonad to float the next window or all new windows and toggle it at runtime. As long as the other user knows about mod+click/drag to resize or move windows (and that's configured), most everything should be fine. Window stack order might get confusing. Hope this helps. --Ben [1]http://www.haskell.org/pipermail/xmonad/2010-June/010358.html [2]http://git.benboeckel.net/?p=dotfiles.git;a=blob;f=generic/home/xmonad/xmona...
participants (3)
-
Ben Boeckel
-
Jan Vornberger
-
Joseph Garvin