Hi Viacheslav,

The cyclefocus.filters.common_tag filter is not what you're looking for. It
allows you to cycle through clients which have at least one common tag
associated. As explained in my previous mail, two tags with the same name
are not equals.


To achieve what you want, you have to write your own filter which must look
like something like this :

same_tag_name = function (c, source_c)
  for _, t in pairs(c:tags()) do
    for _, t2 in pairs(source_c:tags()) do
      if t.name == t2.name then -- check tag name, not full tag
        -- Find a better debug message
        cyclefocus.debug("Filter: " .. c.name .. " on tag '" .. t.name ..
"' (screen " .. awful.tag.getscreen(t) .. ") and " .. source_c.name .. " on
tag '" .. t2.name .. "' (screen " .. awful.tag.getscreen(t2) .. ")")
        return true
      end
    end
  end
  return false
end

Then you just initialize your cycle focus binding with:

cyclefocus.key({ "Mod1", }, "Tab", 1,
  { cycle_filters = { same_tag_name },
  keys = {'Tab', 'ISO_Left_Tab'} -- default, could be left out
}),

Hope it's helpful.
Regards,
Alexis.

Le mar. 16 févr. 2016 à 11:03, Viacheslav Mikerov <slavamike...@gmail.com>
a écrit :

Hi Alexis,

Yes, forgot to mention, I made it always to have the same tag on both
monitors. Mb you can look the code of cyclefocus
<https://github.com/blueyed/awesome-cyclefocus>, and tell me what is wrong
there. I used example 2 from the readme, but without
`cyclefocus.filters.same_screen` filter.


So it looked like this

cyclefocus.key({ "Mod1", }, "Tab", 1, { cycle_filters = {
cyclefocus.filters.common_tag }, keys = {'Tab', 'ISO_Left_Tab'} -- default,
could be left out }),


The problem with this code was, it cycles only through windows on one
monitor, one tag, I wanted all monitors, one tag.

Thank you.



Best,
Slava



On Tue, Feb 16, 2016 at 10:25 AM, Alexis BRENON @Awesome <
brenon.alexis+awes...@gmail.com> wrote:

Hi Viacheslav,


I don't work very often with multiple monitors but I'll try to help you.


What do you mean by 'on both monitors' ? If two tags are not on the same
monitors, so they are not the same (even if they have the same name). I
think you have to concatenate the list of clients of both tags and then
cycle through this new list of clients.


Regards,
Alexis


Le dim. 14 févr. 2016 à 23:17, Viacheslav Mikerov <slavamike...@gmail.com>
a écrit :

I have two monitors and try to cycle over all windows that have the same
tag, but on both monitors (like usual alt-tab cycling on many window
system).

I tried [cyclefocus][1], did not work, cycling only over windows on one
monitor. Tried [alttab][2], the same problem.


[1]: https://github.com/blueyed/awesome-cyclefocus
[2]: https://github.com/jorenheit/awesome_alttab

Reply via email to