Re: extension info's



You need to make the actor reactive and connect to the signal in
enable, and then make it unreactive and disconnect from the signal in
disable.

On Mon, Jun 25, 2012 at 11:43 AM, johnny cravatta
<sitiwebxtutti gmail com> wrote:
> mmm...i'm to much impatience...
> in the last code i have pasted the function enable and disable,
> don't work well because my extension if stopped remain in the panel..
> sorry... i try to adjust...
>
>
> 2012/6/25 johnny cravatta <sitiwebxtutti gmail com>
>>
>> Thank jasper now i have writed this code and work properly..no error in
>> console...
>>
>>
>>> const St = imports.gi.St;
>>> const Main = imports.ui.main;
>>> const Tweener = imports.ui.tweener;
>>>
>>> let text;
>>>
>>> function _hideHello() {
>>>     Main.uiGroup.remove_actor(text);
>>>     text = null;
>>> }
>>>
>>> function _showHello() {
>>>     if (!text) {
>>>
>>>         text = new St.Label({ style_class: 'helloworld-label', text:
>>> "Hello, world!" });
>>>         Main.uiGroup.add_actor(text);
>>>     }
>>>
>>>     text.opacity = 255;
>>>
>>>     let monitor = Main.layoutManager.primaryMonitor;
>>>
>>>     text.set_position(Math.floor(monitor.width / 2 - text.width / 2),
>>>
>>>                       Math.floor(monitor.height / 2 - text.height / 2));
>>>
>>>     Tweener.addTween(text,
>>>                      { opacity: 0,
>>>                        time: 2,
>>>                        transition: 'easeOutQuad',
>>>                        onComplete: _hideHello });
>>> }
>>>
>>> function init() {
>>>     Main.panel.actor.reactive = true;
>>>     Main.panel.actor.connect('button-press-event', _showHello);
>>> }
>>> //con 'button-release-event' funziona il tasto destro e basta
>>>
>>> //with botton-release event work only the  right click
>>
>>
>>>
>>> function enable() {
>>>     Main.panel;
>>> }
>>>
>>> function disable() {
>>>     Main.panel;
>>> }
>>
>>
>> best regards.
>> johnny
>>
>>
>> 2012/6/25 Jasper St. Pierre <jstpierre mecheye net>
>>
>>> global.get_primary_monitor() was replaced with
>>> Main.layoutManager.primaryMonitor
>>>
>>> On Mon, Jun 25, 2012 at 9:31 AM, johnny cravatta
>>> <sitiwebxtutti gmail com> wrote:
>>> > Sorry for my incompetence;
>>> > why this code it's not functional in gnome-shell 3.4.1?
>>> >
>>> >> const St = imports.gi.St;
>>> >> const Mainloop = imports.mainloop;
>>> >> const Main = imports.ui.main;
>>> >>
>>> >> function _showHello() {
>>> >>     let text = new St.Label({ style_class: 'helloworld-label', text:
>>> >> "Hello, world!" });
>>> >>     let monitor = global.get_primary_monitor();
>>> >>     global.stage.add_actor(text);
>>> >>     text.set_position(Math.floor (monitor.width / 2 - text.width / 2),
>>> >>                       Math.floor(monitor.height / 2 - text.height /
>>> >> 2));
>>> >>     Mainloop.timeout_add(3000, function () { text.destroy(); });
>>> >> }
>>> >>
>>> >> // Put your extension initialization code here
>>> >> function main() {
>>> >>     Main.panel.actor.reactive = true;
>>> >>     Main.panel.actor.connect('button-release-event', _showHello);
>>> >> }
>>> >>
>>> >> Read more:
>>> >>
>>> >> http://blog.fpmurphy.com/2011/04/gnome-3-shell-extensions.html#ixzz1yoN4wkTh
>>> >
>>> >
>>> > I cannot be able to make the same results described in the fpmurphy
>>> > blog..
>>> > thanks for any suggestions.
>>> >
>>> > johnny
>>> >
>>> >
>>> > _______________________________________________
>>> > gnome-shell-list mailing list
>>> > gnome-shell-list gnome org
>>> > https://mail.gnome.org/mailman/listinfo/gnome-shell-list
>>> >
>>>
>>>
>>>
>>> --
>>>   Jasper
>>
>>
>



-- 
  Jasper


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