It's not that it needs to know about it. The preferences are mainly intended to be specified through Gtk+ widgets. And there is even explicit requirement to return a Gtk+ widget in prefs.js. But as far as I understand now, there is know other connection between the running extension and Gtk+ preferences dialog except for GSettings. Am I right?
Vadim. On 04/11/2013 07:42 AM, Jasper St. Pierre wrote: > GNOME Shell is not built with GTK+. Why does GNOME Shell need to know > about a GTK+ widget? > > > On Thu, Apr 11, 2013 at 1:41 AM, Vadim <va...@dbfin.com > <mailto:va...@dbfin.com>> wrote: > > Yes, I know about GSettings and use them a lot to store static > options. Thanks a lot in any case. > > Here I wanted to store a reference to a gtkWidget that is created > in the preferences dialog. > > The way I wanted to do is: gtkWidget is created in pref.js, a > global variable is used to reference the widget, and the extension > knows that the widget is created and directs some output there. > > One way I was thinking about before was to direct output to a > GSettings key and react on this change in prefs.js, but that is > not efficient. Another way was to direct output to a file, and > read the file in prefs.js. I do not like either solution. > > For me the best deal would be to share some variable space between > both extension and prefs.js, but as far as I know they are in > different processes. > > Any other ideas? > > Thanks again, > Vadim. > > > > On 04/10/2013 06:55 PM, Amy wrote: >> Hi Vadim, >> >> Could you just use gsettings (i.e. the same thing that you use >> with `prefs.js` to store extension settings) for this? >> >> In the `prefs.js` your widget does a: >> >> let settings = Convenience.getSettings(); >> settings.set_int('my-setting-name', 1); >> >> and in the extension you connect to the change: >> >> // in your init() say >> let settings = Convenience.getSettings(); >> // in your enable() say >> settings.connect('changed::my-setting-name', callback) >> >> So `callback` is called whenever a user changes the setting in >> the prefs widget. >> >> (Here Convenience.getSettings is the one from the official gnome >> shell extensions >> - >> https://git.gnome.org/browse/gnome-shell-extensions/tree/lib/convenience.js) >> >> >> On 11 April 2013 08:38, Vadim <va...@dbfin.com >> <mailto:va...@dbfin.com>> wrote: >> >> Hi everyone, >> >> I was wondering if there is a common way to share a variable >> between an >> extension and the preferences dialog. >> >> Let say, I want to set some "global".variable within the >> preferences >> dialog (temporary until it is closed), and the running >> extension should >> react on this, i.e. it should see that the variable was set. >> >> Thanks in advance, >> Vadim >> >> _______________________________________________ >> gnome-shell-list mailing list >> gnome-shell-list@gnome.org <mailto:gnome-shell-list@gnome.org> >> https://mail.gnome.org/mailman/listinfo/gnome-shell-list >> >> > > > _______________________________________________ > gnome-shell-list mailing list > gnome-shell-list@gnome.org <mailto:gnome-shell-list@gnome.org> > https://mail.gnome.org/mailman/listinfo/gnome-shell-list > > > > > -- > Jasper
_______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-shell-list