Hello, Tyrannical have an option to group transiant_for clients,
tyrannical.settings.group_children = true but it is not what you want. The second option is to match by PID <-> PPID and make an awful rule based around it. It also suck (and you may have to loop multiple parent-PID levels in blocking calls). What you are looking for maybe startup notification ID. If you spawn something such as urxvt / anything else supporting that, they will give you an ID you can then rely on in awesome. The current Awesome Git doesn't support full SN lifecycle. This can be fixed by fixing this patch https://github.com/Elv13/awesome/commit/95edd3c418cb3e7415174fcf34effa85ac3f817c(something I am too lazy to do, aka, add a "free()"). A fourth option, again using urxvt is using urxvtd to track muliple instances and use some perl foo to make it easy for awesome to add them to the right tag. Good luck On 28 January 2014 23:41, wu, sa <[email protected]> wrote: > Dear Uli i.a., > > On Tue, Jan 28, 2014 at 10:38:49PM +0100, Uli Schlachter wrote: > > Hi, > > > > On 28.01.2014 17:57, wu, sa wrote: > > > Is it possible to force windows spawned by > > > programs/processes/scripts, to stick to its parents workspace/tag? > > > > What exactly do you mean by programs/processes/scripts? Script sounds > like a > > shell script to me and shell scripts don't really have a tag. > > Im Speziellen gehts mir um ein python Skript, das einige Berechnungen > mit numpy durchführt und ab und zu mit matplotlib Ausgaben plottet, was > zu neuen Fenstern führt. > > In particular, I am interested in solutions for a python script, that > calculates stuff using numpy and occasionally plots results using > matplotlib. This leads to new windows being spawned. > > > I have some programs/scripts, which run for a while and at some point > > > spawn (and sometimes keep spawning) windows..., e.g. > > > plotting/rendering stuff that just takes time. > > > > > > Normally, these new windows just appear on the tag I currently work on, > > > which is really annoying... > > > > > > As far as I have experienced, the download dialogs of the chromium > > > browser already do what I want: automatically stick to the tag, where > > > chromium is running, regardless of where my focus currently resides. > > > > If you want me to guess: Chromium's download dialog have the > WM_TRANSIENT_FOR > > property set and pointing to chromium's main window. This tells awesome > that the > > dialog belongs to chromium and the following code from awful.tag then > does just > > what you want: > > > > capi.client.connect_signal("manage", function(c, startup) > > -- If we are not managing this application at startup, > > -- move it to the screen where the mouse is. > > -- We only do it for "normal" windows (i.e. no dock, etc). > > if not startup and c.type ~= "desktop" and c.type ~= "dock" then > > if c.transient_for then > > c.screen = c.transient_for.screen > > if not c.sticky then > > c:tags(c.transient_for:tags()) > > end > > [snip] > > > > (If a new client has transient_for set, move it to the screen and tag of > its > > transient_for) > > > > > Is there some way to configure awesome to do this for every new window? > > > > Nope, because awesome always does this. However, it seems like whatever > > programs/processes/scripts you are using don't set the WM_TRANSIENT_FOR > > property. If this is the case: > > How would awesome know that the clients belong together? > > Vielen Dank für die erleuchtende, fundierte Vermutung. > Thanks a lot for the educating educated guess. > > In diesem Falle hätte ich gerne erfragt, ob es möglich wäre, > WM_TRANSIENT_FOR über awesome oder sonstige exports oder was-auch-immer > zu setzen, so dass alles zusammen passt. =) > > In this case, I would very kindly ask, if it may be eventually possible, > to use awesome, or some modification of my way of calling python, to > force a manual setting of WM_TRANSIENT_FOR, such that awesomes default > behaviour does what I need it to do. =) > > > > > > And no, I don't want to force all windows of one particular program to > > > one predetermined tag. > > > > > > Thank you all and Best regards from Bonn, > > > Sa. > > > > Cheers from Oldenburg, > > Uli > > > > -- > > <alanc> I think someone had a Xprint version of glxgears at one point, > > but benchmarking how many GL pages you can print per second > > was deemed too silly to merge > > Vielen vielen Dank und Bitte um Nachsicht für möglicherweise unsinnige > oder anderwertig unbeantwortbare Fragen, > Thanks a lot and apologies for eventually senseless, or by other means > unanswerable, questions, > > Lieben Gruß aus Bonn, > Best regards from Bonn, > Sa. > > -- > Don't tell me that worry doesn't do any good. I know better. The things > I worry about don't happen. > -- Watchman Examiner > > -- > To unsubscribe, send mail to [email protected]. >
