So it turned out that you are absolutely right @tcld. Our code below
that worked in v0.14.2 and acted starngely in v0.15.1 needed
 "toggle=False" when calling cmd_toscreen(). I modified
 client.group.cmd_toscreen() to client.group.cmd_toscreen(toggle=Fasle)
and now it is working as expected. 
Thanks
On Mon, 2020-06-08 at 22:47 -0700, tcld wrote:
> This looks familiar, I think I started out with something similar and
> decided it didn't work. It might just be the "toggle=False" when
> calling cmd_toscreen() that causes things to not work as expected for
> you.
> Overall I agree that this should be easier to achieve; maybe setting
> focus_on_window_activation to "focus" is indeed bugged, as I would
> expect exactly this behaviour after reading the documentation. Might
> be worth opening an issue, if there isn't already one.
> 
> On Tuesday, 9 June 2020 03:00:19 UTC+2, Marco Obaid  wrote:
> > That did it !  I was hoping this would be natively supported, as it
> > makes lots of sense, when "Group Matches" feature is used. 
> > We had a custom hook written for our users (code below), but it
> > started behving strangely when we upgraded to v0.15.1. For example,
> > whenever a rule is matched, the focus shifts to the previously
> > focused screen. When we downgrade to v0.14.2, it works as expected.
> >  The example below does not use Qtile Group Matches. The rules are
> > defined in the funtion, obviously. If anyone can spot what causes
> > v0.15.1 to act differently than v0.14.2, it would be greatly
> > appreciated.
> > However, we will switch to your hook as it is clearner and Group
> > Matches is a native feature of Qtile.
> > @hook.subscribe.client_newdef apptogroup(client):    d =
> > {}    #########################################################    
> > ################ assgin apps to groups
> > ##################    #############################################
> > ############    d[group_names[0]] = ["vivaldi-stable", "vivaldi-
> > snapshot", "Navigator", ]    d[group_names[1]] = ["subl3", "atom",
> > ]    d[group_names[2]] = ["termite","urxvt", ]    d[group_names[3]]
> > = ["org.gnome.meld", ]    d[group_names[4]] = ["",
> > ]    d[group_names[5]] = ["", ]    d[group_names[6]] = ["VirtualBox
> > Manager", "VirtualBox Machine", ]    d[group_names[7]] = ["thunar",
> > "Thunar", ]    d[group_names[8]] = ["pragha",
> > ]    d[group_names[9]] = ["discord", "telegram-desktop",
> > ]    ##########################################################    
> > wm_class = client.window.get_wm_class()[0]
> >     for i in range(len(d)):         if wm_class in
> > list(d.values())[i]:            group =
> > list(d.keys())[i]            client.togroup(group)            clien
> > t.group.cmd_toscreen()
> > 
> > On Sun, 2020-06-07 at 22:29 -0700, tcld wrote:
> > > I am honestly not sure if there is an easier, cleaner way to
> > > achieve what you are after, but I am doing this manually using
> > > the following hook. "focus_on_window_activation" is set to
> > > "smart":
> > > @hook.subscribe.client_new
> > > def modify_window(client):
> > >     if (client.window.get_wm_transient_for() or
> > > client.window.get_wm_type() in floating_types):
> > >         client.floating = True
> > > 
> > >     for group in groups:  # follow on auto-move
> > >         match = next((m for m in group.matches if
> > > m.compare(client)), None)
> > >         if match:
> > >             targetgroup = client.qtile.groups_map[group.name]  #
> > > there can be multiple instances of a group
> > >             targetgroup.cmd_toscreen(toggle=False)
> > >             break
> > > 
> > > The first two lines in that function only serve to take care of
> > > floating windows, you might already have that taken care of
> > > somewhere. My groups are publicly available in a list.
> > > From my experience this works perfectly; you could even exempt
> > > certain groups (or windows, although that would be a little
> > > uglier) from moving focus to automatically.
> > > 
> > > 
> > > 
> > > On Monday, 8 June 2020 02:06:53 UTC+2, Marco Obaid  wrote:
> > > > Guillaume, do you or the DEV team have a suggestion on how to
> > > > overcome this problem? We release a Qtile ISO for our Arcolinux
> > > > users and our users have been asking for this functionality. 
> > > > Thanks
> > > > 
> > > > 
> > > > On Fri, May 29, 2020 at 1:43 PM Marco Obaid <[email protected]
> > > > > wrote:
> > > > > I tested this on 0.15.1 and 0.14.2 with the same result
> > > > > stated below.
> > > > > 
> > > > > On Fri, May 29, 2020 at 1:40 PM Guillaume Gelin <
> > > > > [email protected]> wrote:
> > > > > > What version / commit of Qtile are you using?
> > > > > > Le ven. 29 mai 2020 à 20:38, Marco Obaid <
> > > > > > [email protected]> a écrit :
> > > > > > > I am trying to assign specific applications to open only
> > > > > > > in specific groups. Reading the documentation, I came
> > > > > > > across "Group Matches". I defined it in my config.py as
> > > > > > > stated below. For the most part it is working well. The
> > > > > > > application defined in the example below do open only in
> > > > > > > their assigned group. The only issue that I am trying to
> > > > > > > overcome is that "focus" does not automatically shift to
> > > > > > > the targeted group when I launch an application that is
> > > > > > > defined in the Match list below. For example, if I am in
> > > > > > > group 1  and launch Termite, which is assigned group 3.
> > > > > > > Termite WILL open in group 3, however, I have to switch
> > > > > > > the group manually from 1 to 3 to start using Termite.
> > > > > > > The odd thing is that this is not happening to Sublime
> > > > > > > Text. If I am in any group, other than group 2 (defined
> > > > > > > for Sublime), two things will happen: 1) Sublime Text
> > > > > > > will open in group 2, AND, the focus is shifted to group
> > > > > > > 2 (which is the desired behavior). I have played around
> > > > > > > with "focus_on_window_activation" but it did not make a
> > > > > > > difference (value of "focus" seems to be the best
> > > > > > > settings). 
> > > > > > > 
> > > > > > > Any suggestion? Is this a possible bug?
> > > > > > > 
> > > > > > > group_matches = [
> > > > > > >     #Group 1
> > > > > > >     [Match(wm_class=["vivaldi-stable", "Vivaldi-stable",
> > > > > > > ])],
> > > > > > >     #Group 2
> > > > > > >     [Match(wm_class=["subl3", "Subl3", ])],
> > > > > > >     #Group 3
> > > > > > >     [Match(wm_class=["termite", "Termite", "urxvt",
> > > > > > > "URxvt", ])],
> > > > > > >     #Group 4
> > > > > > >     None, #[Match(wm_class=["Firefox", "firefox",
> > > > > > > "Navigator", ])],
> > > > > > >     #Group 5
> > > > > > >     None,
> > > > > > >     #Group 6
> > > > > > >     [Match(wm_class=["pragha", "Pragha", ])],
> > > > > > >     #Group 7
> > > > > > >     [Match(wm_class=["VirtualBox Manager", ])],
> > > > > > >     #Group 8 
> > > > > > >     [Match(wm_class=["thunar", "Thunar", ])],
> > > > > > >     #Group 9  
> > > > > > >     None,
> > > > > > >     #Group 0
> > > > > > >     [Match(wm_class=["discord", ])],
> > > > > > > ]
> > > > > > > 
> > > > > > > for i in range(len(group_names)):
> > > > > > >     groups.append(
> > > > > > >         Group(
> > > > > > >             name=group_names[i],
> > > > > > >             layout=group_layouts[i].lower(),
> > > > > > >             label=group_labels[i],
> > > > > > >             matches=group_matches[i],
> > > > > > >           exclusive=group_exclusives[i],
> > > > > > >             persist=group_persists[i],
> > > > > > >             init=group_inits[i],
> > > > > > >             #####spawn=group_spawns,
> > > > > > >         ))
> > > > > > > 
> > > > > > > .
> > > > > > > .
> > > > > > > .
> > > > > > > 
> > > > > > > focus_on_window_activation = "focus" # or smart
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > -- 
> > > > > > > 
> > > > > > > You received this message because you are subscribed to
> > > > > > > the Google Groups "qtile-dev" group.
> > > > > > > 
> > > > > > > To unsubscribe from this group and stop receiving emails
> > > > > > > from it, send an email to [email protected].
> > > > > > > 
> > > > > > > To view this discussion on the web visit 
> > > > > > > https://groups.google.com/d/msgid/qtile-dev/CABZGO-qhDX3O19J8fsTwX9mRgf64vLRW4DFx64caZxOBrabjcQ%40mail.gmail.com
> > > > > > > .
> > > > > > > 
> > > > > > 
> > > > > > -- 
> > > > > > Guillaume Gelin
> > > > > > 
> > > > > > 
> > > > > > 

-- 
You received this message because you are subscribed to the Google Groups 
"qtile-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qtile-dev/1df3194a5f1f0ec008aa5c4d99289ae68c604367.camel%40gmail.com.

Reply via email to