Re: 'window-closed' signal?



2014-05-12 23:00 GMT+02:00 Diego Fernandez <aiguo fernandez gmail com>:
Hmm, so I'd have to listen for the 'unmanaged' signal for every single
window and keep track of that? seems like it'll add a bit of complexity but
I guess I can manage.

For the 'window-added' and 'window-removed' signals in MetaWorkspace, do
those behave like 'window-left-monitor' and 'window-entered-monitor' in
MetaScreen? i.e. if a window leaves one workspace and goes to another will
that be a 'window-removed' and a 'window-added' event?

Yes, but you also need to keep the list of workspaces as they're added
and removed.
You can check the code in js/ui/workspace.js or
js/ui/workspaceThumbnails.js that deals with window-added/removed on a
single workspace, and js/ui/workspacesView.js for keeping the
workspace list up to date.

Giovanni


On Mon, May 12, 2014 at 4:47 PM, Giovanni Campagna
<scampa giovanni gmail com> wrote:

2014-05-12 22:42 GMT+02:00 Diego Fernandez <aiguo fernandez gmail com>:
Hey all, I'm currently messing around with making my first extension
https://github.com/aiguofer/return-to-monitor.  The idea is to be able
to
return windows to their original monitor if you plug a monitor back in.

Right now I have the extension mostly working.  I keep track of all open
windows and update the list only when more than one montior exists and
on
any 'window-left-monitor' and 'window-created' events.

The problem I'm having is the case when a saved window gets closed while
in
a single monitor setup.  If that happens, shell breaks when I try to
return
the windows after plugging a monitor back in.  I need to be able to
listen
for any window-close event to remove the window from the list... is
there an
easy way of doing this?

I noticed that 'window-left-monitor' catches windows closing, but it
seems
hard to check what caused the signal.

You can use the 'unmanaged' signal on the window, if you're careful
and not call anything at that point - only the identity of the object
is valid.
Alternatively, MetaWorkspace has window-added and window-removed signals.

Giovanni




--
Diego Fernandez - 爱国


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]