drop 'show-thumbnails-slider' and 'thumbnails-on-left-side' in favor of 'thumbnails-slider-position'

This commit is contained in:
Alexey Manukhin
2020-12-30 23:37:53 -08:00
parent 50bd15fcfe
commit 53a6a5911f
17 changed files with 68 additions and 104 deletions

View File

@@ -36,7 +36,7 @@ const MUTTER_SCHEMA = 'org.gnome.mutter';
const WORKSPACES_ONLY_ON_PRIMARY_ID = 'workspaces-only-on-primary';
const SHOW_INDICATOR_ID = 'show-indicator';
const SHOW_THUMBNAILS_SLIDER_ID = 'show-thumbnails-slider';
const THUMBNAILS_SLIDER_POSITION_ID = 'thumbnails-slider-position';
function copyClass (s, d) {
// global.log(s.name +" > "+ d.name);
@@ -94,57 +94,57 @@ class MultiMonitorsAddOn {
}
_showThumbnailsSlider() {
if (this._settings.get_boolean(SHOW_THUMBNAILS_SLIDER_ID)) {
if(this._ov_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._ov_settings.set_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID, false);
if(this._mu_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._mu_settings.set_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID, false);
if (this._settings.get_string(THUMBNAILS_SLIDER_POSITION_ID) === 'none') {
this._hideThumbnailsSlider();
return;
}
if (Main.mmOverview)
return;
if(this._ov_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._ov_settings.set_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID, false);
if(this._mu_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._mu_settings.set_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID, false);
Main.mmOverview = [];
for (let idx = 0; idx < Main.layoutManager.monitors.length; idx++) {
if (idx != Main.layoutManager.primaryIndex) {
Main.mmOverview[idx] = new MMOverview.MultiMonitorsOverview(idx);
}
}
if (Main.mmOverview)
return;
this.syncWorkspacesActualGeometry = Main.overview.viewSelector._workspacesDisplay._syncWorkspacesActualGeometry;
Main.overview.viewSelector._workspacesDisplay._syncWorkspacesActualGeometry = function() {
if (this._inWindowFade)
return;
Main.mmOverview = [];
for (let idx = 0; idx < Main.layoutManager.monitors.length; idx++) {
if (idx != Main.layoutManager.primaryIndex) {
Main.mmOverview[idx] = new MMOverview.MultiMonitorsOverview(idx);
}
}
const primaryView = this._getPrimaryView();
if (primaryView) {
primaryView.ease({
...this._actualGeometry,
duration: Main.overview.animationInProgress ? ANIMATION_TIME : 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
}
this.syncWorkspacesActualGeometry = Main.overview.viewSelector._workspacesDisplay._syncWorkspacesActualGeometry;
Main.overview.viewSelector._workspacesDisplay._syncWorkspacesActualGeometry = function() {
if (this._inWindowFade)
return;
for (let idx = 0; idx < Main.mmOverview.length; idx++) {
if (!Main.mmOverview[idx])
continue;
if (!Main.mmOverview[idx]._overview)
continue;
const mmView = Main.mmOverview[idx]._overview._controls._workspacesViews;
if (!mmView)
continue;
const primaryView = this._getPrimaryView();
if (primaryView) {
primaryView.ease({
...this._actualGeometry,
duration: Main.overview.animationInProgress ? ANIMATION_TIME : 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
}
const mmGeometry = Main.mmOverview[idx].getWorkspacesActualGeometry();
mmView.ease({
...mmGeometry,
duration: Main.overview.animationInProgress ? ANIMATION_TIME : 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
}
}
}
else {
this._hideThumbnailsSlider();
}
for (let idx = 0; idx < Main.mmOverview.length; idx++) {
if (!Main.mmOverview[idx])
continue;
if (!Main.mmOverview[idx]._overview)
continue;
const mmView = Main.mmOverview[idx]._overview._controls._workspacesViews;
if (!mmView)
continue;
const mmGeometry = Main.mmOverview[idx].getWorkspacesActualGeometry();
mmView.ease({
...mmGeometry,
duration: Main.overview.animationInProgress ? ANIMATION_TIME : 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
}
}
}
_hideThumbnailsSlider() {
@@ -173,10 +173,9 @@ class MultiMonitorsAddOn {
}
_switchOffThumbnails() {
if(this._ov_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._settings.set_boolean(SHOW_THUMBNAILS_SLIDER_ID, false);
if(this._mu_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID))
this._settings.set_boolean(SHOW_THUMBNAILS_SLIDER_ID, false);
if (this._ov_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID) || this._mu_settings.get_boolean(WORKSPACES_ONLY_ON_PRIMARY_ID)) {
this._settings.set_string(THUMBNAILS_SLIDER_POSITION_ID, 'none');
}
}
enable(version) {
@@ -199,7 +198,7 @@ class MultiMonitorsAddOn {
this._showPanelId = this._settings.connect('changed::'+MMLayout.SHOW_PANEL_ID, Main.mmLayoutManager.showPanel.bind(Main.mmLayoutManager));
Main.mmLayoutManager.showPanel();
this._showThumbnailsSliderId = this._settings.connect('changed::'+SHOW_THUMBNAILS_SLIDER_ID, this._showThumbnailsSlider.bind(this));
this._thumbnailsSliderPositionId = this._settings.connect('changed::'+THUMBNAILS_SLIDER_POSITION_ID, this._showThumbnailsSlider.bind(this));
this._relayoutId = Main.layoutManager.connect('monitors-changed', this._relayout.bind(this));
this._relayout();
}
@@ -210,7 +209,7 @@ class MultiMonitorsAddOn {
this._mu_settings.disconnect(this._switchOffThumbnailsMuId);
this._settings.disconnect(this._showPanelId);
this._settings.disconnect(this._showThumbnailsSliderId);
this._settings.disconnect(this._thumbnailsSliderPositionId);
this._settings.disconnect(this._showIndicatorId);

View File

@@ -65,10 +65,6 @@ msgstr "Anwendungsmenü auf zusätzlichen Monitoren anzeigen"
msgid "Show DateTime-Button on additional monitors."
msgstr "Datum-Zeit auf zusätzlichen Monitoren anzeigen."
#: prefs.js:68
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr "Arbeitsflächenübersicht bei zusätzlichen Monitoren links anzeigen"
#: prefs.js:71
msgid "Enable hot corners."
msgstr ""

View File

@@ -63,11 +63,6 @@ msgstr "Mostrar el menú de aplicaciones en los monitores adicionales."
msgid "Show DateTime-Button on additional monitors."
msgstr "Mostrar la fecha en los monitores adicionales."
#: prefs.js:68
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr ""
"Mostrar las miniaturas en el lado izquierdo de los monitores adicionales."
#: prefs.js:71
msgid "Enable hot corners."
msgstr ""

View File

@@ -66,12 +66,6 @@ msgstr "Afficher le bouton du menu Applications sur les moniteurs secondaires"
msgid "Show DateTime-Button on additional monitors."
msgstr "Afficher le bouton Date-Heure sur les moniteurs secondaires."
#: prefs.js:68
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr ""
"Afficher le dock listant les espaces de travail, sur la gauche pour les "
"moniteurs secondaires"
#: prefs.js:71
msgid "Enable hot corners."
msgstr ""

View File

@@ -65,11 +65,6 @@ msgstr "Visualizza il pulsante del menu Applicazioni sui monitor secondari."
msgid "Show DateTime-Button on additional monitors."
msgstr "Mostra il Bottone Data/Ora sui monitor secondari."
#: prefs.js:68
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr "Visualizza lo slider delle anteprime a sul lato sinistro per i monitor "
"secondari."
#: prefs.js:71
msgid "Enable hot corners."
msgstr ""

View File

@@ -66,10 +66,6 @@ msgstr "Wyświetl przycisk aplikacji na dodatkowych monitorach."
msgid "Show DateTime-Button on additional monitors."
msgstr "Wyświetl przycisk daty i czasu na dodatkowych monitorach."
#: prefs.js:68
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr "Wyświetl pasek miniatur po lewej stronie dla dodatkowych monitorów."
#: prefs.js:71
msgid "Enable hot corners."
msgstr "Włączenie podglądu po najechaniu rogu ekranu."

View File

@@ -39,11 +39,6 @@ msgstr "Mostrar botão de Atividades em monitores adicionais"
msgid "Show AppMenu-Button on additional monitors."
msgstr "Mostrar botão de menu de aplicativos em monitores adicionais"
#: prefs.js:66
msgid "Show Thumbnails-Slider on left side of additional monitors."
msgstr ""
"Mostrar controle deslizante de miniaturas à esquerda de monitores adicionais"
#: prefs.js:67
msgid "Show DateTime-Button on additional monitors."
msgstr "Mostrar o botão de data e hora em monitores adicionais"

View File

@@ -32,7 +32,7 @@ const CE = ExtensionUtils.getCurrentExtension();
const MultiMonitors = CE.imports.extension;
const Convenience = CE.imports.convenience;
const THUMBNAILS_ON_LEFT_SIDE_ID = 'thumbnails-on-left-side';
const THUMBNAILS_SLIDER_POSITION_ID = 'thumbnails-slider-position';
var MultiMonitorsWorkspaceThumbnail = (() => {
let MultiMonitorsWorkspaceThumbnail = class MultiMonitorsWorkspaceThumbnail extends St.Widget {
@@ -389,9 +389,9 @@ class MultiMonitorsControlsManager extends St.Widget {
this._group.add_actor(this._thumbnailsSlider);
this._settings = Convenience.getSettings();
this._thumbnailsOnLeftSideId = this._settings.connect('changed::'+THUMBNAILS_ON_LEFT_SIDE_ID,
this._thumbnailsOnLeftSide.bind(this));
this._thumbnailsOnLeftSide();
this._thumbnailsSelectSideId = this._settings.connect('changed::'+THUMBNAILS_SLIDER_POSITION_ID,
this._thumbnailsSelectSide.bind(this));
this._thumbnailsSelectSide();
this._thumbnailsSlider.slideOut();
this._thumbnailsBox._updatePorthole();
@@ -402,14 +402,24 @@ class MultiMonitorsControlsManager extends St.Widget {
_onDestroy() {
Main.overview.viewSelector.disconnect(this._pageChangedId);
Main.overview.viewSelector.disconnect(this._pageEmptyId);
this._settings.disconnect(this._thumbnailsOnLeftSideId);
this._settings.disconnect(this._thumbnailsSelectSideId);
}
_thumbnailsOnLeftSide() {
_thumbnailsSelectSide() {
let thumbnailsSlider;
thumbnailsSlider = this._thumbnailsSlider;
if (this._settings.get_boolean(THUMBNAILS_ON_LEFT_SIDE_ID)) {
let onLeftSide = false;
switch (this._settings.get_string(THUMBNAILS_SLIDER_POSITION_ID)) {
case 'left':
onLeftSide = true;
break;
case 'auto':
break;
}
if (onLeftSide) {
let first = this._group.get_first_child();
if (first != thumbnailsSlider) {
this._thumbnailsSlider.layout.slideDirection = OverviewControls.SlideDirection.LEFT;

View File

@@ -32,11 +32,9 @@ const Convenience = MultiMonitors.imports.convenience;
const SHOW_INDICATOR_ID = 'show-indicator';
const SHOW_PANEL_ID = 'show-panel';
const SHOW_THUMBNAILS_SLIDER_ID = 'show-thumbnails-slider';
const SHOW_ACTIVITIES_ID = 'show-activities';
const SHOW_APP_MENU_ID = 'show-app-menu';
const SHOW_DATE_TIME_ID = 'show-date-time';
const THUMBNAILS_ON_LEFT_SIDE_ID = 'thumbnails-on-left-side';
const THUMBNAILS_SLIDER_POSITION_ID = 'thumbnails-slider-position';
const AVAILABLE_INDICATORS_ID = 'available-indicators';
const TRANSFER_INDICATORS_ID = 'transfer-indicators';
@@ -64,11 +62,9 @@ class MultiMonitorsPrefsWidget extends Gtk.Grid {
this._addBooleanSwitch(_('Show Multi Monitors indicator on Top Panel.'), SHOW_INDICATOR_ID);
this._addBooleanSwitch(_('Show Panel on additional monitors.'), SHOW_PANEL_ID);
this._addBooleanSwitch(_('Show Thumbnails-Slider on additional monitors.'), SHOW_THUMBNAILS_SLIDER_ID);
this._addBooleanSwitch(_('Show Activities-Button on additional monitors.'), SHOW_ACTIVITIES_ID);
this._addBooleanSwitch(_('Show AppMenu-Button on additional monitors.'), SHOW_APP_MENU_ID);
this._addBooleanSwitch(_('Show DateTime-Button on additional monitors.'), SHOW_DATE_TIME_ID);
this._addBooleanSwitch(_('Show Thumbnails-Slider on left side of additional monitors.'), THUMBNAILS_ON_LEFT_SIDE_ID);
this._addComboBoxSwitch(_('Show Thumbnails-Slider on additional monitors.'), THUMBNAILS_SLIDER_POSITION_ID);
this._addSettingsBooleanSwitch(_('Enable hot corners.'), this._desktopSettings, ENABLE_HOT_CORNERS);

View File

@@ -12,12 +12,6 @@
<summary>Show Panel on additional monitors.</summary>
<description>Add or remove Panel from additional monitors.</description>
</key>
<key name="show-thumbnails-slider" type="b">
<default>true</default>
<summary>Show Thumbnails-Slider on additional monitors.</summary>
<description>Add or remove Thumbnails-Slider from additional monitors.</description>
</key>
<key name="show-activities" type="b">
<default>true</default>
@@ -37,12 +31,6 @@
<description>Change visibility of DateTime-Button on additional monitors.</description>
</key>
<key name="thumbnails-on-left-side" type="b">
<default>true</default>
<summary>Show Thumbnails-Slider on left side of additional monitors.</summary>
<description>Toggle position of Thumbnails-Slider from right to left on additional monitors.</description>
</key>
<key name="thumbnails-slider-position" type="s">
<choices>
<choice value='none'/>