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].

Reply via email to