diff --git a/files/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/menus.js b/files/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/menus.js index c7ef0f5c4b..e71029a408 100644 --- a/files/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/menus.js +++ b/files/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/menus.js @@ -87,6 +87,21 @@ class AppMenuButtonRightClickMenu extends Applet.AppletPopupMenu { // user needs to switch workspaces just to switch the window back. This should behave this way // when showAllWorkspaces is disabled as well since its a UX problem. if (hasWindows) { + // Always on top + if (this.groupState.lastFocused && this.groupState.lastFocused.is_above()) { + item = createMenuItem({label: _('Do not stay on top')}); + this.signals.connect(item, 'activate', () => { + this.groupState.lastFocused.unmake_above(); + }); + this.addMenuItem(item); + } else { + item = createMenuItem({label: _('Always on top')}); + this.signals.connect(item, 'activate', () => { + this.groupState.lastFocused.make_above(); + }); + this.addMenuItem(item); + } + // Monitors if (Main.layoutManager.monitors.length > 1) { const connectMonitorEvent = (item, i) => { diff --git a/files/usr/share/cinnamon/applets/window-list@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/window-list@cinnamon.org/applet.js index 9d4c4ceca7..486ac9be8f 100644 --- a/files/usr/share/cinnamon/applets/window-list@cinnamon.org/applet.js +++ b/files/usr/share/cinnamon/applets/window-list@cinnamon.org/applet.js @@ -893,6 +893,21 @@ class AppMenuButtonRightClickMenu extends Applet.AppletPopupMenu { let item; let length; + // Always on top + if (mw.is_above()) { + item = new PopupMenu.PopupMenuItem(_("Do not stay on top")); + this._signals.connect(item, 'activate', function() { + mw.unmake_above(); + }); + this.addMenuItem(item); + } else { + item = new PopupMenu.PopupMenuItem(_("Always on top")); + this._signals.connect(item, 'activate', function() { + mw.make_above(); + }); + this.addMenuItem(item); + } + // Move to monitor if ((length = Main.layoutManager.monitors.length) == 2) { Main.layoutManager.monitors.forEach(function (monitor, index) {