diff --git a/debian/patches/apps-menu-with-multiple-levels.patch b/debian/patches/apps-menu-with-multiple-levels.patch index 4084326..f91bf64 100644 --- a/debian/patches/apps-menu-with-multiple-levels.patch +++ b/debian/patches/apps-menu-with-multiple-levels.patch @@ -5,12 +5,14 @@ Bug-Kali: https://bugs.kali.org/view.php?id=2223 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=739480 --- - extensions/apps-menu/extension.js | 167 ++++++++++++++++++++++++++++++-------- - 1 file changed, 134 insertions(+), 33 deletions(-) + extensions/apps-menu/extension.js | 163 ++++++++++++++++++++++++++++++-------- + 1 file changed, 130 insertions(+), 33 deletions(-) +diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js +index 9d46506..74416fc 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js -@@ -97,30 +97,36 @@ class ApplicationMenuItem extends PopupM +@@ -97,30 +97,36 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem { }); var CategoryMenuItem = GObject.registerClass( @@ -60,10 +62,11 @@ } _isNavigatingSubmenu([x, y]) { -@@ -209,10 +215,60 @@ class CategoryMenuItem extends PopupMenu +@@ -208,11 +214,61 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem { + if (!this.active) return; - this._button.selectCategory(this._category); ++ this._button.selectCategory(this._category); + //this._button.scrollToCatButton(this); + } +}); @@ -85,7 +88,7 @@ + } + + activate(event) { -+ this._button.selectCategory(this._category); + this._button.selectCategory(this._category); this._button.scrollToCatButton(this); + super.activate(event); + } @@ -121,7 +124,7 @@ class ApplicationsMenu extends PopupMenu.PopupMenu { constructor(sourceActor, arrowAlignment, arrowSide, button) { super(sourceActor, arrowAlignment, arrowSide); -@@ -412,7 +468,7 @@ class ApplicationsButton extends PanelMe +@@ -412,7 +468,7 @@ class ApplicationsButton extends PanelMenu.Button { _onTreeChanged() { if (this.menu.isOpen) { this._redisplay(); @@ -130,7 +133,7 @@ } else { this.reloadFlag = true; } -@@ -477,7 +533,7 @@ class ApplicationsButton extends PanelMe +@@ -477,7 +533,7 @@ class ApplicationsButton extends PanelMenu.Button { this._redisplay(); this.reloadFlag = false; } @@ -139,7 +142,7 @@ } super._onOpenStateChanged(menu, open); } -@@ -490,13 +546,14 @@ class ApplicationsButton extends PanelMe +@@ -490,13 +546,14 @@ class ApplicationsButton extends PanelMenu.Button { _redisplay() { this.applicationsBox.destroy_all_children(); @@ -156,7 +159,7 @@ while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { if (nextType === GMenu.TreeItemType.ENTRY) { let entry = iter.get_entry(); -@@ -515,8 +572,17 @@ class ApplicationsButton extends PanelMe +@@ -515,8 +572,17 @@ class ApplicationsButton extends PanelMenu.Button { this.applicationsByCategory[categoryId].push('separator'); } else if (nextType === GMenu.TreeItemType.DIRECTORY) { let subdir = iter.get_directory(); @@ -176,7 +179,7 @@ } } } -@@ -537,8 +603,8 @@ class ApplicationsButton extends PanelMe +@@ -537,8 +603,8 @@ class ApplicationsButton extends PanelMenu.Button { } scrollToCatButton(button) { @@ -187,7 +190,7 @@ let currentScrollValue = catsScrollBoxAdj.get_value(); let boxHeight = catsScrollBoxAlloc.y2 - catsScrollBoxAlloc.y1; let buttonAlloc = button.get_allocation_box(); -@@ -554,8 +620,9 @@ class ApplicationsButton extends PanelMe +@@ -554,8 +620,9 @@ class ApplicationsButton extends PanelMenu.Button { _createLayout() { let section = new PopupMenu.PopupMenuSection(); this.menu.addMenuItem(section); @@ -199,7 +202,7 @@ this.applicationsScrollBox = new St.ScrollView({ style_class: 'apps-menu vfade', x_expand: true, -@@ -568,6 +635,7 @@ class ApplicationsButton extends PanelMe +@@ -568,6 +635,7 @@ class ApplicationsButton extends PanelMenu.Button { vscroll.connect('scroll-stop', () => { this.menu.passEvents = false; }); @@ -207,7 +210,7 @@ this.categoriesScrollBox = new St.ScrollView({ style_class: 'vfade', }); -@@ -576,9 +644,10 @@ class ApplicationsButton extends PanelMe +@@ -576,9 +644,10 @@ class ApplicationsButton extends PanelMenu.Button { vscroll.connect('scroll-start', () => (this.menu.passEvents = true)); vscroll.connect('scroll-stop', () => (this.menu.passEvents = false)); this.leftBox.add_child(this.categoriesScrollBox); @@ -219,7 +222,7 @@ this.categoriesBox = new St.BoxLayout({ vertical: true }); this.categoriesScrollBox.add_actor(this.categoriesBox); -@@ -586,19 +655,29 @@ class ApplicationsButton extends PanelMe +@@ -586,19 +655,29 @@ class ApplicationsButton extends PanelMenu.Button { this.mainBox.add_child(this._createVertSeparator()); this.mainBox.add_child(this.applicationsScrollBox); section.actor.add_actor(this.mainBox); @@ -252,7 +255,7 @@ let iter = root.iter(); let nextType; while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) { -@@ -611,10 +690,13 @@ class ApplicationsButton extends PanelMe +@@ -611,10 +690,13 @@ class ApplicationsButton extends PanelMenu.Button { let categoryId = dir.get_menu_id(); this.applicationsByCategory[categoryId] = []; @@ -270,7 +273,7 @@ } } -@@ -623,9 +705,10 @@ class ApplicationsButton extends PanelMe +@@ -623,9 +705,10 @@ class ApplicationsButton extends PanelMenu.Button { let themeContext = St.ThemeContext.get_for_stage(global.stage); let scaleFactor = themeContext.scale_factor; @@ -283,7 +286,7 @@ } selectCategory(dir) { -@@ -640,6 +723,20 @@ class ApplicationsButton extends PanelMe +@@ -640,6 +723,20 @@ class ApplicationsButton extends PanelMenu.Button { this._displayButtons(this._listApplications(dir.get_menu_id())); else this._displayButtons(this._listApplications(null));