Hi,

On 05.02.2012 22:30, Anurag Priyam wrote:
> This was discussed sometime back on the users list:
> http://comments.gmane.org/gmane.comp.window-managers.awesome/7290. I
> wonder if it would be of general interest.

He, almost a year old :-)

> diff --git a/lib/awful/client.lua.in b/lib/awful/client.lua.in
> index 2d5ec45..e0d6ded 100644
> --- a/lib/awful/client.lua.in
> +++ b/lib/awful/client.lua.in
> @@ -38,6 +38,7 @@ swap = {}
>  floating = {}
>  dockable = {}
>  property = {}
> +marked   = {}
> 
>  --- Get the first client that got the urgent hint.
>  -- @return The first urgent client.
> @@ -554,6 +555,23 @@ function getmarked()
>      return t
>  end
> 
> +do
> +    -- iteration state
> +    local i = 0

I don't think I like this. Couldn't you lookup client.focus in the list of
marked clients and cycle based on that?

> +    ---
> +    -- Cycle through marked clients.
> +    function marked.cycle()
> +        i = i + 1
> +
> +        local clients = data.marked
> +        local c = clients[util.cycle(#clients, i)]
> +
> +        tag.viewonly(c:tags()[1])
> +        capi.client.focus = c
> +    end
> +end
> +

This also raises the question of "what exactly is marking a client supposed to
do?". From the existing code it looks like one is supposed to mark a couple of
clients and then do something with all of them at once.

E.g. according to the git history, moving clients to another tag was once done
by first marking the affected clients and then moving all marked clients at
once. However, that seems to have been removed at some point in time.

Cycling through marked clients doesn't really fit into that use IMHO. This would
then just reimplement tags, wouldn't it?

Cheers,
Uli

-- 
A learning experience is one of those things that say,
'You know that thing you just did? Don't do that.'
                     -- Douglas Adams

-- 
To unsubscribe, send mail to awesome-devel-unsubscr...@naquadah.org.

Reply via email to