Ah yes, now I remember considering that. kwargs seems like a reasonable compromise to avoid breaking configs when someone has a wild idea to add something to a hook. Would everything be in there or some parameters in base args?
On Tue, Sep 15, 2015 at 9:11 AM, Tycho Andersen <[email protected]> wrote: > On Tue, Sep 15, 2015 at 09:02:49AM -0700, Andy Skalet wrote: >> I needed to add the window argument to automatically focus a group >> when a window was added to it, have been meaning to submit a patch but >> wondered if there was a broader context that should also be handled: > > The only problem here is that it might break hooks that people already > have written that don't take the right number of arguments. It might > be ok to break them if we tell everyone that they should start writing > their hooks as > > def foo(*args, **kwargs). > > Another option would be to do some magic to figure out how many > arguments the hook took, but I like that less. > > [Or maybe we don't care at all, and we'll just tell everyone they need > to change; we've broken people's configs before, we could do it > again, but it would be nice to have a plan for people to future proof > them.] > > Tycho > >> diff --git a/libqtile/group.py b/libqtile/group.py >> index e99b38b..aebc4d9 100644 >> --- a/libqtile/group.py >> +++ b/libqtile/group.py >> @@ -247,7 +247,7 @@ class _Group(command.CommandObject): >> ) >> >> def add(self, win, focus=True): >> - hook.fire("group_window_add") >> + hook.fire("group_window_add", self, win) >> self.windows.add(win) >> win.group = self >> >> ... >> >> On Tue, Sep 15, 2015 at 8:51 AM, Roger Duran <[email protected]> wrote: >> > On Tue, Sep 15, 2015 at 7:58 AM, Alexander Koptelov >> > <[email protected]> wrote: >> >> Hi, >> >> >> >> As I see the subj hooks are mainly used for widgets so far and no-arg >> >> version works perfectly there. >> >> >> >> I'm trying to move a window to a particular group as its title gets >> >> changed >> >> instead of when it is created. And in this case I need a window object >> >> passed to hook function for window_name_change event. >> >> >> >> What if we add the window argument to firing this event? And maybe other >> >> window-related events? >> >> >> >> Also I was thinking about some additional hooking for Group configs, e.g. >> >> >> >> Group('name', matches=[Match(title='my title')], >> >> hooks=['window_name_change'], ...) >> > >> > mm.. what about something like: match_on=['created', 'updated'] or >> > match_on=When(created=True, updated=True) ? >> > >> >> >> >> so when a title is changed to some specific value, the window will be >> >> assigned to this group? >> >> >> >> Regards, >> >> Alex >> >> >> >> -- >> >> 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]. >> >> For more options, visit https://groups.google.com/d/optout. >> > >> > -- >> > 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]. >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> 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]. >> For more options, visit https://groups.google.com/d/optout. > > -- > 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]. > For more options, visit https://groups.google.com/d/optout. -- 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]. For more options, visit https://groups.google.com/d/optout.
