Re: patch: push window to frame
Jeff Abrahamson <[email protected]> Thu, 2 Oct 2014 18:49:09 +0200
| Newsgroups | gmane.comp.window-managers.ratpoison.devel |
|---|---|
| Message-ID | <CAM4Y7zz3a0n4SPrvtOR00S3SAM911B-f3v-KN8X1cW17XvB9XA@mail.gmail.com> |
Hi, Johannes. Thanks for the feedback. I'm glad to hear that you're using the code and that it's working well. I like the idea of a window swap. I agree it would be nice (and faster) as a separate feature, and I'm starting to get good at this. ;-) So I'll do it. My next rp project, though, is the very big frame affinity feature -- making windows want to reappear in the frame where they were last seen. This is one that is really annoying me now, so it will be good to get it done! It's interesting that a side-effect is how to handle undo. Currently undo acts only on frames, but because frames don't care much what windows they display, we don't need to remember anything about windows for undo. With frame affinity, however, removing a frame does something to the windows that were displayed in the frame. (Probably inserts them into the frame that absorbed the pixels.) So undo should probably move the windows back to the frame that was just undeleted. But then, suddenly, other window actions should be undoable. (Closing a window seems an exception, since it isn't very meaningful and could even be dangerous if the process actually did something serious.) Ratpoison might be the only window manager that supports undo well, so we might be in interesting creative territory. If anyone knows prior art, please let me know. Jeff Abrahamson +33 6 24 40 01 57 +44 7920 594 255 <-- only if I'm in the UK http://jeff.purple.com/ http://blog.purple.com/jeff/ On 2 October 2014 16:09, Johannes Altmanninger <[email protected]> wrote: > > Hi Jeff, > > The patches are working as expected for me. However, I sometimes find > myself wanting to swap windows but keep focus on the current frame, > something which neither swap nor pushwindow/pullwindow do. Turns out > this can be easily scripted with the --interactive flag: > > ratpoison --interactive -c swap -c focuslast > > As far as I tested "pushwindow" does the same thing with "other" added: > > ratpoison --interactive -c swap -c focuslast -c other > > In contrast, "pullwindow" can be implemented by calling "other" before > switching back to the original frame > > ratpoison --interactive -c swap -c other -c focuslast > > These can be turned into ratpoison commands with "alias pushwindow exec > ratpoison ..." > > Of course these aliases are not as nice as real commands, (e.g. they > behave oddly when targeting the current frame, they may also be slower) > but combining ratpoison commands is more flexible and can match > everyone's needs. Naturally there is a downside to implementing only > the basic commands, namely the user needs to know what's possible even > if it is not implemented by default. For example, I have been using > ratpoison for some time now but never realized I just could do that with > "--interactive". > > Regards, > > Johannes > _______________________________________________ Ratpoison-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/ratpoison-devel