Re: Tabs

ferkiwi gmail com (2009-03-04 at 1252.46 +0100):
> Anyway, in my opinion the current tab implementation should be
> rewritten. Because the code is quite hacky and it's not well
> integrated with the rest of sawfish functionalities (for example, you
> can't use outlines other than "solid" when moving a tabgroup).

I agree. And that is the reason I have been asking what is
needed. There are other things were it has issues (how to enable
matchers so windows can appear in tabs when launched, for example).

> But before that, I believe that the code should be refactorized a bit.
> Currently there are many things that could be better organized. For
> example, there's groups-related code spread through some non
> group-specific source files (x-cycle.jl raise-commands.jl smart.jl
> iconify.jl stacking.jl), and the group-specific files are spread in
> different folders, I believe it would be better to have a "wm/groups"
> directory to load it as a module, in the same spirit as the "wm/tabs"
> directory, with the cycling/stacking/placement functionalities loaded
> using specific files inside the module. And this should probably also
> be done with other things before adding more functionalities into the
> mess. I think that the tab code is somewhat related to groups, and
> maybe refactoring the code would show some light in this issue.

First, it was added as wm.tabs.tabs, but IMO it is an extension, so
should be wm.ext.tabs. Or maybe not, but as cleanup is needed, I
prefered to move when things are a bit more clear, instead of move
around every some weeks. I already moved marks.jl, in any case. So
please no assumptions about current tabs being right or wrong, or an
example to follow or avoid.

Second, if you look for workspaces, viewport or other things, you will
see they are involved in x-cycle.jl and others, just like groups (or
more). There is some price to pay for tight integration. For me, tabs
and groups are separate things though, even if sometimes they are not
(named/numbered groups thing is probably good, but then tabs require
resizing and hiding tricks that groups do not need or should never

Groups is just split in two, groups.jl and commands/groups.jl.


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