diff --git a/appIndicator.js b/appIndicator.js index ffeb41e..4721763 100644 --- a/appIndicator.js +++ b/appIndicator.js @@ -299,6 +299,7 @@ Util.connectSmart(this._indicator, 'icon', this, '_updateIcon') Util.connectSmart(this._indicator, 'overlay-icon', this, '_updateOverlayIcon') Util.connectSmart(this._indicator, 'ready', this, '_invalidateIcon') + Util.connectSmart(this, 'scroll-event', this, '_handleScrollEvent') Util.connectSmart(themeContext, 'notify::scale-factor', this, (tc) => { this.width = icon_size * tc.scale_factor; diff --git a/dbusMenu.js b/dbusMenu.js index 9710388..2aac51f 100644 --- a/dbusMenu.js +++ b/dbusMenu.js @@ -397,7 +397,7 @@ try { let ret = proxy.call_finish(res); if ((ret.is_of_type(new GLib.VariantType('(b)')) && - ret.get_child_value(0).get_boolean()) || + ret.get_child_value(0).get_boolean()) || ret.is_of_type(new GLib.VariantType('()'))) { this._requestLayoutUpdate(); } diff --git a/indicator-test-tool/testTool.js b/indicator-test-tool/testTool.js index 546d801..31fb767 100755 --- a/indicator-test-tool/testTool.js +++ b/indicator-test-tool/testTool.js @@ -26,7 +26,7 @@ title: "test", application: app }); - + var menu = new Gtk.Menu(); var item = Gtk.MenuItem.new_with_label("A standard item"); @@ -34,11 +34,11 @@ item = Gtk.MenuItem.new_with_label("Foo"); menu.append(item); - + item = Gtk.ImageMenuItem.new_with_label("Calculator"); item.image = Gtk.Image.new_from_icon_name("gnome-calculator", Gtk.IconSize.MENU); menu.append(item); - + item = Gtk.CheckMenuItem.new_with_label("Check me!"); menu.append(item); @@ -49,7 +49,7 @@ item = Gtk.MenuItem.new_with_label("Blubdablub"); sub.append(item); - + item = new Gtk.SeparatorMenuItem(); menu.append(item); @@ -79,12 +79,12 @@ item = Gtk.MenuItem.new_with_label("abcdefg"); submenu2.append(item); - + item = new Gtk.SeparatorMenuItem(); menu.append(item); var group = []; - + for (let i = 0; i < 5; ++i) { item = Gtk.RadioMenuItem.new_with_label(group, "Example Radio "+i); group = Gtk.RadioMenuItem.prototype.get_group.apply(item)//.get_group(); @@ -106,6 +106,17 @@ item.connect('activate', () => { indicator.set_label('', ''); }) + menu.append(item); + + item = Gtk.MenuItem.new_with_label("Toggle Attention"); + item.connect('activate', (item) => { + indicator.set_status(indicator.get_status() != AppIndicator.IndicatorStatus.ATTENTION ? + AppIndicator.IndicatorStatus.ATTENTION : + AppIndicator.IndicatorStatus.ACTIVE); + }); + menu.append(item); + + item = new Gtk.SeparatorMenuItem(); menu.append(item); item = new Gtk.SeparatorMenuItem(); @@ -136,7 +147,30 @@ indicator.set_status(AppIndicator.IndicatorStatus.ACTIVE); indicator.set_icon("gnome-run"); + indicator.set_attention_icon("emoji-travel-symbolic"); indicator.set_menu(menu); + + indicator.connect("connection-changed", (indicator, connected) => { + print(`Signal \"connection-changed\" emitted. Connected: ${connected}`); + }); + indicator.connect("new-attention-icon", (indicator) => { + print(`Signal \"new-attention-icon\" emitted.`); + }); + indicator.connect("new-icon", (indicator) => { + print(`Signal \"new-icon\" emitted.`); + }); + indicator.connect("new-icon-theme-path", (indicator, path) => { + print(`Signal \"new-icon-theme-path\" emitted. Path: ${path}`); + }); + indicator.connect("new-label", (indicator, label, guide) => { + print(`Signal \"new-label\" emitted. Label: ${label}, Guide: ${guide}`); + }); + indicator.connect("new-status", (indicator, status) => { + print(`Signal \"new-status\" emitted. Status: ${status}`); + }); + indicator.connect("scroll-event", (indicator, steps, direction) => { + print(`Signal \"scroll-event\" emitted. Steps: ${steps}, Direction: ${direction}`); + }); }); app.run(ARGV);