The object will see a g_object_unref right after the signal, that's why you
can't do most calls on it.
On May 13, 2014 1:13 AM, "Diego Fernandez" <aiguo.fernan...@gmail.com>
wrote:

> Ok.. it seems easier to just connect to all windows and keep track of
> those (since in my opinion the window should still stay in the same
> workspace even if it gets moved while in a single monitor setup).  Do I
> have to explicitly disconnect from the window after it gets the 'unmanaged'
> signal, or will the object get deleted?
>
>
> On Mon, May 12, 2014 at 5:23 PM, Giovanni Campagna <
> scampa.giova...@gmail.com> wrote:
>
>> 2014-05-12 23:00 GMT+02:00 Diego Fernandez <aiguo.fernan...@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.giova...@gmail.com> wrote:
>> >>
>> >> 2014-05-12 22:42 GMT+02:00 Diego Fernandez <aiguo.fernan...@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 - 爱国
>>
>
>
>
> --
> Diego Fernandez - 爱国
>
_______________________________________________
gnome-shell-list mailing list
gnome-shell-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-shell-list

Reply via email to