mirror of
https://github.com/morgan9e/dash-to-panel
synced 2026-04-14 00:04:17 +09:00
Settings.ui: - Move thickness, length, and anchor from Style tab to Position tab. Group together with position in the same frame. schema: - Remove unpublished panel-length and panel-anchor settings, replacing them with panel-lengths and panel-anchors JSON objects (like panel-positions). - Remove unpublished anchor enum, since panel-anchors is being managed by the extension in JSON, not typed by the schema. - Deprecate panel-size in favour of new panel-sizes JSON, storing per-monitor panel sizes. - Mention that panel-position is deprecated. Introduce panelSettings.js: - Functions to fetch or set panel settings that are stored as JSON. Grown from now-removed getSettingsPositions() in panelPositions.js. prefs.js: - Group together the different UI widget label and value refreshing into method _updateWidgetSettingsForMonitor(). - Change multi-panel behaviour of _setAnchorLabels(). Previously, all panels shared the same anchor setting, and so setAnchorLabels considered all monitors. Now, panels are configured either independently, or sometimes all together; set labels according to orientation(s) of panel(s) being configured. - Omitting preventTop handling in refactored _setPanelPosition() method. Previously, it was written to set the first monitor's panel to Pos.BOTTOM if the user clicked the Top position radio button, if stockgs-keep-top-panel was also set. But the user can't activate the Top button anyway if stockgs is set (likely implemented later). panelManager.js: - Removing panelPositions, as it is not needed any more.
61 lines
2.2 KiB
JavaScript
61 lines
2.2 KiB
JavaScript
/*
|
|
* This file is part of the Dash-To-Panel extension for Gnome 3
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
var SHOW_APPS_BTN = 'showAppsButton';
|
|
var ACTIVITIES_BTN = 'activitiesButton';
|
|
var TASKBAR = 'taskbar';
|
|
var DATE_MENU = 'dateMenu';
|
|
var SYSTEM_MENU = 'systemMenu';
|
|
var LEFT_BOX = 'leftBox';
|
|
var CENTER_BOX = 'centerBox';
|
|
var RIGHT_BOX = 'rightBox';
|
|
var DESKTOP_BTN = 'desktopButton';
|
|
|
|
var STACKED_TL = 'stackedTL';
|
|
var STACKED_BR = 'stackedBR';
|
|
var CENTERED = 'centered';
|
|
var CENTERED_MONITOR = 'centerMonitor';
|
|
|
|
var TOP = 'TOP';
|
|
var BOTTOM = 'BOTTOM';
|
|
var LEFT = 'LEFT';
|
|
var RIGHT = 'RIGHT';
|
|
|
|
var START = 'START';
|
|
var MIDDLE = 'MIDDLE';
|
|
var END = 'END';
|
|
|
|
var defaults = [
|
|
{ element: SHOW_APPS_BTN, visible: true, position: STACKED_TL },
|
|
{ element: ACTIVITIES_BTN, visible: false, position: STACKED_TL },
|
|
{ element: LEFT_BOX, visible: true, position: STACKED_TL },
|
|
{ element: TASKBAR, visible: true, position: STACKED_TL },
|
|
{ element: CENTER_BOX, visible: true, position: STACKED_BR },
|
|
{ element: RIGHT_BOX, visible: true, position: STACKED_BR },
|
|
{ element: DATE_MENU, visible: true, position: STACKED_BR },
|
|
{ element: SYSTEM_MENU, visible: true, position: STACKED_BR },
|
|
{ element: DESKTOP_BTN, visible: true, position: STACKED_BR },
|
|
];
|
|
|
|
var optionDialogFunctions = {};
|
|
|
|
optionDialogFunctions[SHOW_APPS_BTN] = '_showShowAppsButtonOptions';
|
|
optionDialogFunctions[DESKTOP_BTN] = '_showDesktopButtonOptions';
|
|
|
|
function checkIfCentered(position) {
|
|
return position == CENTERED || position == CENTERED_MONITOR;
|
|
} |