ratpoison-devel
[Top][All Lists]
Advanced

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

[RP] Allow windows in multiple groups


From: Nick Guenther
Subject: [RP] Allow windows in multiple groups
Date: Sat, 5 Aug 2006 18:42:16 +0000

Hello mouse murderers,

This is a feature idea. The idea is to allow windows to exist in
multiple groups at once. Right now every window has exactly one group.
Being able to share groups can improve the efficiency of ratpoison.

Yes I stole this idea from dwm [1]. But it's a good idea, and I don't
want to use dwm because it has a floating-window mode (ick), doesn't
have a C-t ! (which is the most useful piece of ratpoison, IMHO),
doesn't have a built in cheat-card, and has strange interactions with
my monitor.

Let me quote from dwm's author, who makes a more persausive argument
than I could [2]:
:Some will argue that you should setup a different static workspace for
:each of the tasks you perform (one for web browsing, one for email
:reading, one for coding, etc.), but that is just a workaround for the
:limitations of static window management, and it doesn't account for
:the many sub-usage patterns each main task has. For example: the
:layout you use during debugging would probably be quite different to
:the one used during refactoring, you might want to have a patch
:someone emailed you in view while you look at some code, or edit a
:configuration file while you look at a man page or website.

Allowing windows to exist in multiple groups lets the user tag them
with the different possible things they could be used for without
straining the brain with artificialness (if you can understand groups
already then you can understand tags/labels).

I realise some of what I want can be achieved by using groups
alongside each other but that is awkward, slow, and most importantly:
it doesn't do what I really mean. Putting two windows in a group
together means they go together, and without "tagging" there is no way
to have A~B and B~C but not A~C, even though this situation occurs
often enough (maybe A is "email" and B is "web browser doing scholarly
research" and C is "programming"; email can go with both B and C but
B!~C).

This has been mentioned before on the list:
http://lists.gnu.org/archive/html/ratpoison-devel/2005-03/msg00004.html
but nothing seems to have come out of that. Was there any decision made on this?
Note: I don't think the complexity the original poster in that thread
wanted is warranted.

Here is how I see it working:
There is the root group, group 0 or whatever you want to call it,
which contains all windows all time time.

gnew - new group as before
groups - as before
group /name/ - displays the list of windows in the same way as window,
but only those that are in the given group. "C-t :group 0" is the same
as "C-t :windows"
gput /name/ - add the current window to the given group (perhaps this
should be 'dadd'?)
gselect /name/ - as before
gmerge /name/ - adds all windows in the given group to the current
group but *does not empty it*
gdelete /name/ - delete a group. Does not matter if the group is empty
or not, because the worst that can happen is that the windows that
were not in any other group are stuck into group 0. Of course, it is
an error to :gdelete 0

I would patch it myself but I'd have to figure out how to compile the
latest version first (I'm running OpenBSD; the most recent port is
1.3.0) and then learn all the internal data structures and see what I
would need to do.

So, what do you all think?

Thank you for your time
-Nick

[1] I'm sure you all know it already, but for the record: http://10kloc.org/dwm/
[2] http://wmii.de/taggi.php?page=dynamic

p.s. ratpoison is fun, and contrary to the FAQ my first thought was
"wow gimp would work really well with this", because I can have one
window for working on the picture and control the other windows as
needed.




reply via email to

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