Extension porting to 3.12



Hi,

I looked over the changes in mutter / gnome-shell / gjs that might
affect existing extensions and made a (not guaranteed to be complete)
summary of the changes that should help you get your extensions
running with GNOME 3.12:

0) If you don't have a gnome 3.12 setup you can try using the current
gnome-continuous image in a VM, you can grab them here:
http://build.gnome.org/continuous/buildmaster/images/z/current/

More infos at: https://wiki.gnome.org/Projects/GnomeContinuous

If you are running Fedora 20 using Richards COPR Repository might be
an option as well:
https://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/

1) E4X removal:

gjs no longer supports E4X so use strings for XML instead.
Example:

const fooInterface = <interface ...

should be

const fooInterface = '<interface ...

2) Mutter API changes

MetaWindowActor no longer emits position-changed and size-changed signals.
They have been moved to MetaWindow where they better fit concptionally.
So instead of:

window_actor.connect('size-changed', ...

you should do

window_actor.meta_window.connect('size-changed', ...

(same for position-changed)

--

MetaWindowActor.get_workspace() got removed. You can use
MetaWindow.get_workspace() instead, but note that it returns
a MetaWorkspace object rather then an index, which means if you have code like:

let index = window_actor.get_workspace();

You should know use

let index = window_actor.meta_window.get_workspace().index();

--

MetaWindowActor.is_override_redirect() and and
MetaWindowActor.showing_on_its_workspace() got removed as well.
Use the equivalent methods from MetaWindow instead.

3) NotificationDaemon split

The NotifctaionDaemon implementation now got split into a
GtkNotifcationDaemon and a FdoNotifcationDaemon
classes. See https://git.gnome.org/browse/gnome-shell/commit/?id=e0b87f1e1
for details.

----

Other then that there might be some minor change that affect a
specific extension but this list should have the most common changes
covered.


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