Commit Graph

10 Commits

Author SHA1 Message Date
Charles Gagnon
d04104ff8a Format code 2025-01-31 11:49:22 -05:00
Andy Holmes
fd8022b49b refactor: replace export var with export const 2023-09-21 19:22:24 -07:00
Philipp Unger
7eedebca38 export functions and vars in panelPosition.js and paneSettings.js 2023-08-19 13:48:38 +02:00
MarkS
a57058661a Configure panel thickness, length, and anchor per-monitor
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.
2020-10-27 20:38:37 -06:00
MarkS
0a066890cb Display panel along percent of screen edge
Set the length of the panel according to a specified percent value, so
it can span only part of the screen edge.

Position the panel at the start, middle, or end of the screen edge, as
specified.

Tests okay with multiple monitors.

May also satisfy home-sweet-gnome/dash-to-panel#726
2020-07-31 16:06:49 -06:00
Charles Gagnon
c2f7797642 Add settings to handle per panel positioning 2020-06-14 15:28:49 -04:00
Charles Gagnon
20f66a5a5f Use per panel positioning 2020-06-13 09:26:40 -04:00
Charles Gagnon
ec63802ac8 Consider panelBox padding in allocation 2020-05-17 11:51:49 -04:00
Charles Gagnon
e679599662 Determine panel element groups 2020-05-17 08:18:20 -04:00
Charles Gagnon
e79d0da8c9 Add new panel positioning options 2020-05-12 19:00:51 -04:00