[xmonad] Feature request - two new mouse bindings functions needed

mjf at ligatura.org mjf at ligatura.org
Sun Mar 23 20:23:26 EDT 2008


Hello XMonad developers.

I would like to ask whether is it possible to add 2 new mouse bindings
functions I need. Let me explain shortly:

I need 2 functions to be binded to, say, Control-Left/Right-drag like
this:

  ---snip---
  ++
  [ ((controlMask, button1), \w -> focus w >> mouseLayoutMoveWindow   w)
  , ((controlMask, button3), \w -> focus w >> mouseLayoutResizeWindow w) ]
  ---snip---

I hope the names of the functions are self-explanatory, but for case
they are not let me express their expected behaviour:

The mouseLayoutMoveWindow function would act on whole window's rectangle
and while dragging it will move the window *inside* the layout (that
means *not* floating it). The mouseLayoutResizeWindow will resize the
window *inside* the layout while dragging on whole window's rectangle.
While not dragging it will just cause focus on the selected window,
which in fact means it will do nothing (because the "focus w >>" in the
mouse bindings as seen above).

These two functions are really needed. Not only there will be a
possibility of creating a floating layout that will not use some
"decorations" for window moving (in fact I somehow feel there is no
simpleFloat variant without decoration because of the fact) and only a
right-bottom corner for window resizing as it is when you use
mouseResize $ windowArrange layout modifiers, but it will also obsolete
both XMonad.Actions.MouseResize and XMonad.Layout.WindowArranger
contributed modules. For the latter case I would suggest giving people
also two more derivated functions:

  mouseLayoutMoveWindow'   <rectangle>
  mouseLayoutResizeWindow' <rectangle>

to manualy specify the rectangle relatively to the window's rectangle
where dragging would work in only. These two could be then used in the
simpleFloat instead of current implementation.

I hope somebody of you would be so nice and implement it. It will make
XMonad even more usable for some people (me included). I can not
implement it myself, because I just started with Haskell (few days
ago).

Thanks for you attention to my message and I wish you all happy hacking.

-- 
mjf



More information about the xmonad mailing list