Cool! Have a look at the following issue for cleaner approaches, the problem is the same: https://github.com/qtile/qtile/issues/1915
Le ven. 18 déc. 2020 à 19:09, Justine Smithies <[email protected]> a écrit : > This works perfectly to allow matches with the Spotify client. Thanks to > Guillaumefor his help and thought I'd share as it might help someone else. > > # Work around for matching Spotify > import time > > @hook.subscribe.client_new > def slight_delay(window): > time.sleep(0.01) > > On Fri, 18 Dec 2020 at 15:54, Justine Smithies <[email protected]> > wrote: > >> I'll give that a try this evening. When you say it will block Qtile >> that's not permanently just for the split second you open a new application. >> >> On Fri, 18 Dec 2020, 15:14 Guillaume Gelin, <[email protected]> wrote: >> >>> I didn't do much, just something along these lines to debug Spotify: >>> https://gist.github.com/ramnes/2feecfa7aecf7260dd7b65f7cb995c31 >>> >>> Beware though, the sleep is going to block Qtile. But it should be >>> possible to do it asynchronously using Qtile's event loop. It would be even >>> better that we support async functions for hooks, but that's not the case >>> at the moment. >>> >>> Le ven. 18 déc. 2020 à 15:28, Justine Smithies <[email protected]> >>> a écrit : >>> >>>> Ok Guillaume could you help me out a little please ? Where did you put >>>> the sleep(0.03) command for the matches groups ?? Do you have an example. >>>> Once again thanks for your help. >>>> >>>> Justine >>>> >>>> On Fri, 18 Dec 2020, 00:31 Guillaume Gelin, <[email protected]> wrote: >>>> >>>>> Yeah, Spotify seems to be spawned without WM_CLASS nor WM_NAME, I'm >>>>> not sure why. It seems to be updated quite fast though, a sleep(0.01) is >>>>> enough on my machine to grab the name, and sleep(0.03) for the class. >>>>> >>>>> Le jeu. 17 déc. 2020 à 19:29, Justine Smithies <[email protected]> >>>>> a écrit : >>>>> >>>>>> Yeah on investigation it seems the official Spotify client gives >>>>>> other tiling WM's problems with the WM_CLASS . Oh well will just have to >>>>>> use Spitify-tui with Spotifyd . >>>>>> >>>>>> On Thu, 17 Dec 2020, 17:21 egemen şahin, <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> It is a common problem with spotify I guess. I experienced the same >>>>>>> with qtile and other window managers as well. >>>>>>> >>>>>>> On Thu, 17 Dec 2020, 20:19 Justine Smithies, <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> I have got my group matches working on everything else but I cannot >>>>>>>> get spotify to behave. I get no errors but Spotify always opens on the >>>>>>>> window that I'm currently working on not number 5. I'm using Arch and >>>>>>>> the >>>>>>>> master version of Qtile. Can someone take a look at my group code for >>>>>>>> my >>>>>>>> config.py and I'll post the xprop from Spotify too. >>>>>>>> >>>>>>>> [justine@justine-laptop ~]$ xprop >>>>>>>> _NET_WM_ICON(CARDINAL) = >>>>>>>> WM_CLASS(STRING) = "spotify", "Spotify" >>>>>>>> WM_NAME(STRING) = "Spotify Premium" >>>>>>>> _NET_WM_NAME(UTF8_STRING) = "Spotify Premium" >>>>>>>> _NET_WM_DESKTOP(CARDINAL) = 0 >>>>>>>> WM_STATE(WM_STATE): >>>>>>>> window state: Normal >>>>>>>> icon window: 0x0 >>>>>>>> XdndProxy(WINDOW): window id # 0x1600002 >>>>>>>> WM_NORMAL_HINTS(WM_SIZE_HINTS): >>>>>>>> program specified location: 0, 0 >>>>>>>> window gravity: Static >>>>>>>> _NET_WM_PID(CARDINAL) = 33081 >>>>>>>> WM_LOCALE_NAME(STRING) = "en_GB.UTF-8" >>>>>>>> WM_CLIENT_MACHINE(STRING) = "justine-laptop" >>>>>>>> WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING >>>>>>>> >>>>>>>> # Groups with matches >>>>>>>> >>>>>>>> workspaces = [ >>>>>>>> {"name": " Home", "key": "1", "matches": >>>>>>>> [Match(wm_class='firefox')]}, >>>>>>>> {"name": " Dev", "key": "2", "matches": >>>>>>>> [Match(wm_class='nemo')]}, >>>>>>>> {"name": " Chat", "key": "3", "matches": >>>>>>>> [Match(wm_class='telegram-desktop')]}, >>>>>>>> {"name": " GFX", "key": "4", "matches": >>>>>>>> [Match(wm_class='gimp')]}, >>>>>>>> {"name": "阮 Music", "key": "5", "matches": >>>>>>>> [Match(wm_class='Spotify')]}, >>>>>>>> ] >>>>>>>> >>>>>>>> groups = [] >>>>>>>> for workspace in workspaces: >>>>>>>> matches = workspace["matches"] if "matches" in workspace else >>>>>>>> None >>>>>>>> groups.append(Group(workspace["name"], matches=matches, >>>>>>>> layout="monadtall")) >>>>>>>> keys.append(Key([mod], workspace["key"], >>>>>>>> lazy.group[workspace["name"]].toscreen())) >>>>>>>> keys.append(Key([mod, "shift"], workspace["key"], >>>>>>>> lazy.window.togroup(workspace["name"]))) >>>>>>>> >>>>>>>> >>>>>>>> Thanks in advance >>>>>>>> Justine >>>>>>>> >>>>>>>> -- >>>>>>>> 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/CADrRWNbFLevObK%2B22xQ%3D%2B3K5wJRxrf29koDeh0cAPCBSRxpN%2BQ%40mail.gmail.com >>>>>>>> <https://groups.google.com/d/msgid/qtile-dev/CADrRWNbFLevObK%2B22xQ%3D%2B3K5wJRxrf29koDeh0cAPCBSRxpN%2BQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> -- >>>>>>> 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/CAG4pprO0mouhZfE5SsQ0hhMCGgaNkYXqaK2KwfOnFamQfX3CaQ%40mail.gmail.com >>>>>>> <https://groups.google.com/d/msgid/qtile-dev/CAG4pprO0mouhZfE5SsQ0hhMCGgaNkYXqaK2KwfOnFamQfX3CaQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> 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/CADrRWNYs8qHxsXDowHKV_dnu2%2BrB7P5x9D%2B55gMP_xx9ghQ9yQ%40mail.gmail.com >>>>>> <https://groups.google.com/d/msgid/qtile-dev/CADrRWNYs8qHxsXDowHKV_dnu2%2BrB7P5x9D%2B55gMP_xx9ghQ9yQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> >>>>> >>>>> -- >>>>> 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/CAPn4x%2Brnka_AYMwPeYCHMDGz5SYBTpQCwmfG02jFQvs-rOJqtQ%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/qtile-dev/CAPn4x%2Brnka_AYMwPeYCHMDGz5SYBTpQCwmfG02jFQvs-rOJqtQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> 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/CADrRWNZChfMSQOb5WXJpwPXOkUEWFEZY2%3Dcwr9M-Jec7uTL_qQ%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/qtile-dev/CADrRWNZChfMSQOb5WXJpwPXOkUEWFEZY2%3Dcwr9M-Jec7uTL_qQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> >>> >>> -- >>> 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/CAPn4x%2Br6n9nud%3Db%2BHNZe2_Se4x1eOH6vorrGNOXaYq06mPh2gA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/qtile-dev/CAPn4x%2Br6n9nud%3Db%2BHNZe2_Se4x1eOH6vorrGNOXaYq06mPh2gA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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/CADrRWNZTYw0De6Og%2Byj%3DYVuSCZxcTSR7uUE2fcG5E497hzj2%2BQ%40mail.gmail.com > <https://groups.google.com/d/msgid/qtile-dev/CADrRWNZTYw0De6Og%2Byj%3DYVuSCZxcTSR7uUE2fcG5E497hzj2%2BQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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/CAPn4x%2BqvPiq5ZGbcn%2B6ayEfib4dOAc2PPae8Uk%3DR%3DOiga_wbKQ%40mail.gmail.com.
