ratpoison-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RP] patch: push window to frame


From: Jeff Abrahamson
Subject: Re: [RP] patch: push window to frame
Date: Thu, 2 Oct 2014 18:49:09 +0200

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 <address@hidden> 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]