Re: [gnome-shell-ext] imports.misc.util throwing "Error: Requiring Shell, version none: Typelib file for namespace 'Meta', version '3.0' not found"



For future reference, my bug was marked as WONTFIX by a gnome maintainer. Here's his reason for it:

The reason for that particular error is that the extension-prefs tool doesn't include the (private) mutter typelibs in its search path. While we could add that, most gnome-shell code (and most definitively the code in the Meta namespace) is only useful when run in the compositor. So I don't see much of a point to make a handful of methods usable from external applications - if you want to use any of findUrls(), formatTime(), lowerBound() or insertSorted()(*) in a prefs dialog, you can just copy the code.

(*) those are the only functions in utils.js that look like they would work

Em 20-11-2016 18:55, Vitor Boufleur escreveu:
I reported the bug upstream. Here's the link: https://bugzilla.gnome.org/show_bug.cgi?id=774758

Em sex, 18 de nov de 2016 às 15:13, Vitor Araujo Boufleur <v boufleur gmail com> escreveu:
I made a fork of your extension and only added the 'const Util =
imports.misc.util;' line to the prefs.js file. The error happened there too.

Could you do me a favor and test it on your machine please? This is the
link to the fork: https://github.com/vboufleur/twitchlive-extension

I just tested this import on my extension, on a fresh copy of Fedora
Workstation booted on my pen drive, and the error happened anyway. I
think this is a bug for upstream.

If this import works on your machine, could you give me your shell
version please?

Em 18-11-2016 13:17, Mario Wenzel escreveu:
> The preferences dialogue has a different context even. It is run via
> the gnome-shell-extension-prefs tool.
>
> Here's an example on how to spawn the dialogue correctly:
> https://github.com/maweki/twitchlive-extension/blob/master/extension.js
> #L147-L152 (Lines 147-152) and the dialogue needs to be specifically in
> prefs.js and needs to be returned by the buildPrefsWidget function
> https://github.com/maweki/twitchlive-extension/blob/master/prefs.js
>
> And you don't really create the window, that is handled by the prefs
> tool. You just supply the inner container.
>
> I hope these examples help.
>
> Mario
>
>
> Am Freitag, den 18.11.2016, 12:59 -0200 schrieb Vitor Araujo Boufleur:
>> Well, if it's any help, this error happens only when I open my
>> extension preferences through the gnome-tweak-tool. This doesn't seem
>> to happen on the 'normal' extension context.
>> Does the preferences and extension have different contexts?
>> Em 18-11-2016 12:30, Mario Wenzel escreveu:
>>> If you can run `imports.misc.util` in lg, then it's run basically
>>> the same way as an extension. There shouldn't be any error in a way
>>> you're describing. You could put the current state of your code on
>>> github or somewhere where we can get a more complete picture in
>>> order to try and reproduce it.
>>>
>>> Shell debugging is quite a problem. I hope we will have better
>>> tools in the future.
>>>
>>> Mario
>>>
>>> Am Freitag, den 18.11.2016, 12:16 -0200 schrieb Vitor Araujo
>>> Boufleur:
>>>> Hi Mario, thanks for responding, I joined the mailing list.
>>>> Executing 'gnome-shell --version' gives me 'GNOME Shell 3.20.4'.
>>>> I'm running this command in the shell extension context, not
>>>> through user context.
>>>> I ran the command through LookingGlass in two ways:
>>>> 1
>>>>
>>>
>>> 2
>>>
>>> There doesn't seem to have any error. Do you know what may cause
>>> this bug?
>>>
>>> Em 18-11-2016 06:59, Mario Wenzel escreveu:
>>>> Hi Vitor,
>>>>
>>>> first of all, as an extension developer you might want to join
>>>> this
>>>> (rather new) mailing list. This is the way we (the GNOME people)
>>>> want
>>>> to keep touch with the extension developer community.
>>>>
>>>> Then please tell us which shell version you're running and in
>>>> which
>>>> context you're running this command. For example, if you're
>>>> creating a
>>>> shell extension, you can't run it with gjs, it has to be run from
>>>> the
>>>> shell context instead of the user context (which would be gjs).
>>>>
>>>> If you press alt+f2 and enter "lg", you get a js console in the
>>>> shell
>>>> context. Does the command work there?
>>>>
>>>> Mario
>>>>
>>>>
>>>> Am Donnerstag, den 17.11.2016, 16:41 -0200 schrieb Vitor Araujo
>>>> Boufleur:
>>>>> Hi all,
>>>>>
>>>>> This line "const Util = imports.misc.util;" is throwing this
>>>>> error
>>>>> "Error: Requiring Shell, version none: Typelib file for
>>>>> namespace
>>>>> 'Meta', version '3.0' not found".
>>>>>
>>>>> Stack trace:
>>>>>     @resource:///org/gnome/shell/misc/util.js:7
>>>>> @/home/CENSORED/.local/share/gnome-
>>>>> shell/extensions/CENSORED/lib/util.js:34
>>>>> @/home/CENSORED/.local/share/gnome-
>>>>> shell/extensions/CENSORED/prefs.js:7
>>>>> Application<._getExtensionPrefsModule@resource:///org/gnome/she
>>>>> ll/ext
>>>>> ensionPrefs/main.js:74
>>>>>     wrapper@resource:///org/gnome/gjs/modules/lang.js:178
>>>>> Application<._selectExtension@resource:///org/gnome/shell/exten
>>>>> sionPr
>>>>> efs/main.js:89
>>>>>     wrapper@resource:///org/gnome/gjs/modules/lang.js:178
>>>>> Application<._onCommandLine@resource:///org/gnome/shell/extensi
>>>>> onPref
>>>>> s/main.js:238
>>>>>     wrapper@resource:///org/gnome/gjs/modules/lang.js:178
>>>>>     main@resource:///org/gnome/shell/extensionPrefs/main.js:376
>>>>>     @<main>:1
>>>>>
>>>>> Does anyone know the cause of this?
>>>>>
>>>>> With regards,
>>>>> Vitor Araujo Boufleur
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gnome-shell-extensions-list mailing list
>>>>> gnome-shell-extensions-list gnome org
>>>>> https://mail.gnome.org/mailman/listinfo/gnome-shell-extensions-
>>>>> list
>>>
>>




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