[xmonad] Manage hooks
adam vogt
vogt.adam at gmail.com
Tue Dec 20 20:47:51 CET 2011
On Mon, Dec 19, 2011 at 12:41 PM, Norbert Zeh <nzeh at cs.dal.ca> wrote:
> Hi folks,
>
> before I go and code this up myself, let me make sure it doesn't exist yet. I
> want two features of managehooks:
>
> - Display a certain type of window (say emacs) on a certain screen (screen, not
> workspace)
>
> - Toggle manage hooks (e.g., using a key binding). As an example, I normally
> want no special handling of emacs windows, but for certain tasks I want every
> emacs window to pop up on my left screen. Since I do not want to reconfigure
> and restart xmonad every time the context changes, I need to be able to
> activate/deactivate certain manage hooks.
>
> Ah, I actually just found X.H.DynamicHooks, which seems to go at least part of
> the way for the second bullet above. The first question remains.
>
> If the above functionality does not exist yet, I'd provide the first as a patch
> for X.H.ManageHelpers and the second either as a patch for X.H.DynamicHooks or
> as a separate module, depending on how incremental the change turns out to be.
> Does this sound reasonable?
Hi Norbert,
I'm not aware of anything in contrib addressing your first point. But
adding it should be fairly straightforward, considering you can
define:
doShiftScreen :: ScreenId -> ManageHook
doShiftScreen screenId = flip whenJust doShift =<< liftX
(screenWorkspace screenId) -- fairly sure this typechecks
And then use it exactly as you would use doShift.
This kind of thing might fit better in XMonad.Hooks.ManageHelpers than
in DynamicHooks.
--
Adam
More information about the xmonad
mailing list