[xmonad] ManageHook question regarding sending applications to certain workspaces.

Wirt Wolff wirtwolff at gmail.com
Mon Apr 12 20:30:20 EDT 2010


Excerpts from Mike Sampson's message of Sun Apr 11 01:06:00 -0600 2010:
> 
> since I have been using XMonad I have been using a manage hook to send
> epdfviewer (my pdf reader of choice) to a workspace "3:doc" using the
> usual:
> 
> [ className =? "Epdfview" --> doShift "3:doc"]
> 
> I would also like this workspace to be moved onto the second screen of
> my two screen xinerama setup. After looking through the config archive
> the closest I can find to this is:
> 
> doShiftAndGo = doF . liftM2 (.) W.greedyView W.shift
> 
> which brings the workspace the application is moved to, to the current
> screen. Is there a way to always bring the workspace to screen 2?
> 

I think what you're wanting is Actions.OnScreen rather than CycleWS.

-- import OnScreen module
-- screens are zero indexed so 1 is second one:

doIt = doF . liftM2 (.) (viewOnScreen 1) W.shift

This module has changed a few times and (I think) is only in darcs
xmonad-contrib. I believe the ff. documentation is up to date:

http://n-sch.de/hdocs/xmonad-contrib/XMonad-Actions-OnScreen.html

-- 
wmw


More information about the xmonad mailing list