On Thu, Apr 12, 2012 at 06:48:42PM +0200, Michael Großer wrote: > Thomas Adam wrote: > > On Thu, Apr 12, 2012 at 05:16:57PM +0200, JUNG, Christian wrote: > >> Hello, > >> > >> is it possible to limit the movement of a window to the area defined by > >> EWMHBaseStrut? > > > > The Move command honours the EWMH Working Area by default when used > > NON-interactively, but for interactive moves, no. You're free to move it > > anywhere. > > > > I toyed with the idea of having wall-boundaries where windows couldn't be > > moved, but due to the way one can configure their DesktopSize, and flip > > between pages when resizing/moving windows, etc., soon came to the > > realisation it becomes impossible to give a realistic configuration. > > > > Therefore, you won't ever get hard-walled areas honouring the EWMH Working > > Area for interactive window moves. > > > > As for your current problem, just use Layers, perhaps? > > > > -- Thomas Adam > > > > > > If I would have a requirement to forbid windows to be moved beyond > a thought border, I would try to write some code, which becomes > active as soon as the user stops manually moving the window. > This code would move the window back then. > > Sounds dirty, I know, but why not?
Then you can make use of blocking PipeRead to do things like: DestroyFunc foo AddToFunc foo + I PipeRead `echo Move` + I PipeReaad `[ $[w.x] -lt $SOME_VALUE ] && echo "Move somewhere else"` -- Thomas Adam