diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-06-18 13:38:09 +0000 |
commit | 7f9c96a5a1e619c03bf81c8b3783703b780edaf4 (patch) | |
tree | ba7cd337e9890761eb7b30f97e19a37db15de4c4 /extensions/vertical-workspaces/panel.js | |
parent | Adding upstream version 20230205. (diff) | |
download | gnome-shell-extensions-extra-7f9c96a5a1e619c03bf81c8b3783703b780edaf4.tar.xz gnome-shell-extensions-extra-7f9c96a5a1e619c03bf81c8b3783703b780edaf4.zip |
Adding upstream version 20230618.upstream/20230618
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'extensions/vertical-workspaces/panel.js')
-rw-r--r-- | extensions/vertical-workspaces/panel.js | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/extensions/vertical-workspaces/panel.js b/extensions/vertical-workspaces/panel.js deleted file mode 100644 index 2f7143d..0000000 --- a/extensions/vertical-workspaces/panel.js +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Vertical Workspaces - * panel.js - * - * @author GdH <G-dH@github.com> - * @copyright 2022 - 2023 - * @license GPL-3.0 - * - */ - -'use strict'; - -const Main = imports.ui.main; -const Me = imports.misc.extensionUtils.getCurrentExtension(); - -const ANIMATION_TIME = imports.ui.overview.ANIMATION_TIME; - -let opt; -let _showingOverviewConId; -let _hidingOverviewConId; -let _styleChangedConId; - -function update(reset = false) { - opt = Me.imports.settings.opt; - const panelBox = Main.layoutManager.panelBox; - const panelHeight = Main.panel.height; // panelBox height can be 0 after shell start - - const geometry = global.display.get_monitor_geometry(global.display.get_primary_monitor()); - if (reset || opt.PANEL_POSITION_TOP) { - panelBox.set_position(geometry.x, geometry.y); - } else { - panelBox.set_position(geometry.x, geometry.y + geometry.height - panelHeight); - } - - if (!_styleChangedConId) { - Main.panel.connect('style-changed', ()=> Main.panel.remove_style_pseudo_class('overview')); - } - - if (reset || opt.PANEL_MODE === 0) { - //_disconnectPanel(); - _disconnectOverview() - _reparentPanel(false); - _showPanel(); - - if (_styleChangedConId) { - Main.panel.disconnect(_styleChangedConId); - _styleChangedConId = 0; - } - - panelBox.translation_y = 0; - panelBox.opacity = 255; - } else if (opt.PANEL_MODE === 1) { - if (opt.SHOW_WS_PREVIEW_BG) { - _reparentPanel(true); - if (opt.OVERVIEW_MODE2) { - // in OM2 if the panel has been moved to the overviewGroup move panel above all - Main.layoutManager.overviewGroup.set_child_above_sibling(panelBox, null); - } else { - // otherwise move the panel below overviewGroup so it can get below workspacesDisplay - Main.layoutManager.overviewGroup.set_child_below_sibling(panelBox, Main.overview._overview); - } - _showPanel(true); - } else { - // if ws preview bg is disabled, panel can stay in uiGroup - _reparentPanel(false); - _showPanel(false); - if (!_hidingOverviewConId) - _hidingOverviewConId = Main.overview.connect('hiding', () => { - if ((!opt.SHOW_WS_PREVIEW_BG || opt.OVERVIEW_MODE2)) { - _showPanel(false); - } - }); - if (!_showingOverviewConId) - _showingOverviewConId = Main.overview.connect('showing', () => { - if ((!opt.SHOW_WS_PREVIEW_BG || opt.OVERVIEW_MODE2)) { - _showPanel(true); - } - }); - } - - _connectPanel(); - } else if (opt.PANEL_MODE === 2) { - _disconnectOverview(); - _reparentPanel(false); - _showPanel(false); - _connectPanel(); - } - _setPanelStructs(reset || opt.PANEL_MODE === 0); -} - -function _disconnectOverview() { - if (_hidingOverviewConId) { - Main.overview.disconnect(_hidingOverviewConId); - _hidingOverviewConId = 0; - } - if (_showingOverviewConId) { - Main.overview.disconnect(_showingOverviewConId); - _showingOverviewConId = 0; - } -} - -function _reparentPanel(reparent = false) { - const panel = Main.layoutManager.panelBox; - if (reparent && panel.get_parent() === Main.layoutManager.uiGroup) { - Main.layoutManager.uiGroup.remove_child(panel); - Main.layoutManager.overviewGroup.add_child(panel); - } else if (!reparent && panel.get_parent() === Main.layoutManager.overviewGroup) { - Main.layoutManager.overviewGroup.remove_child(panel); - // return the panel at default position, pane shouldn't cover objects that should be above - Main.layoutManager.uiGroup.insert_child_at_index(panel, 4); - } -} - -function _setPanelStructs(state) { - Main.layoutManager._trackedActors.forEach(a => { - if (a.actor === Main.layoutManager.panelBox) - a.affectsStruts = state; - }); - - // workaround to force maximized windows to resize after removing affectsStruts - // simulation of minimal swipe gesture to the opposite direction - // todo - needs better solution!!!!!!!!!!! - /*const direction = _getAppGridAnimationDirection() === 2 ? 1 : -1; - Main.overview._swipeTracker._beginTouchSwipe(null, global.get_current_time(), 1, 1); - Main.overview._swipeTracker._updateGesture(null, global.get_current_time(), direction, 1); - GLib.timeout_add(0, 50, () => Main.overview._swipeTracker._endGesture(global.get_current_time(), 1, true));*/ -} - -function _showPanel(show = true) { - if (show) { - Main.panel.opacity = 255; - Main.layoutManager.panelBox.ease({ - duration: ANIMATION_TIME, - translation_y: 0, - onComplete: () => { - _setPanelStructs(opt.PANEL_MODE === 0); - } - }); - - } else { - const panelHeight = Main.panel.height; - Main.layoutManager.panelBox.ease({ - duration: ANIMATION_TIME, - translation_y: opt.PANEL_POSITION_TOP ? -panelHeight + 1 : panelHeight - 1, - onComplete: () => { - Main.panel.opacity = 0; - _setPanelStructs(opt.PANEL_MODE === 0); - } - }); - } -} - -function _connectPanel() { - // not reliable, disabled for now - /*if (!_panelEnterSigId) { - _panelEnterSigId = Main.panel.connect('enter-event', () => { - if (!Main.overview._shown) - _showPanel(true); - }); - } - if (!_panelLeaveSigId) { - _panelLeaveSigId = Main.panel.connect('leave-event', () => { - if (!Main.overview._shown) - _showPanel(false); - }); - }*/ -} - -function _disconnectPanel() { - /*if (_panelEnterSigId) { - Main.panel.disconnect(_panelEnterSigId); - _panelEnterSigId = 0; - } - if (_panelLeaveSigId) { - Main.panel.disconnect(_panelLeaveSigId); - _panelLeaveSigId = 0; - }*/ -} |