diff --git a/Settings.ui b/Settings.ui
index 052397f..beb2a8d 100644
--- a/Settings.ui
+++ b/Settings.ui
@@ -2096,6 +2096,12 @@
1
100
+
0
- 2
+ 3
2
@@ -2870,7 +2962,7 @@
0
- 3
+ 4
2
diff --git a/prefs.js b/prefs.js
index 4eeb162..9e95f80 100644
--- a/prefs.js
+++ b/prefs.js
@@ -1179,6 +1179,14 @@ const Settings = new Lang.Class({
this._builder.get_object('preview_custom_opacity_spinbutton'),
'sensitive',
Gio.SettingsBindFlags.DEFAULT);
+ this._settings.bind('window-preview-use-custom-icon-size',
+ this._builder.get_object('preview_custom_icon_size_switch'),
+ 'active',
+ Gio.SettingsBindFlags.DEFAULT);
+ this._settings.bind('window-preview-use-custom-icon-size',
+ this._builder.get_object('preview_custom_icon_size_spinbutton'),
+ 'sensitive',
+ Gio.SettingsBindFlags.DEFAULT);
this._builder.get_object('preview_custom_opacity_spinbutton').set_value(this._settings.get_int('preview-custom-opacity'));
this._builder.get_object('preview_custom_opacity_spinbutton').connect('value-changed', Lang.bind (this, function(widget) {
@@ -1264,6 +1272,11 @@ const Settings = new Lang.Class({
this._builder.get_object('preview_title_size_spinbutton').connect('value-changed', Lang.bind (this, function(widget) {
this._settings.set_int('window-preview-title-font-size', widget.get_value());
}));
+
+ this._builder.get_object('preview_custom_icon_size_spinbutton').set_value(this._settings.get_int('window-preview-custom-icon-size'));
+ this._builder.get_object('preview_custom_icon_size_spinbutton').connect('value-changed', Lang.bind (this, function(widget) {
+ this._settings.set_int('window-preview-custom-icon-size', widget.get_value());
+ }));
this._builder.get_object('grid_preview_title_weight_combo').set_active_id(this._settings.get_string('window-preview-title-font-weight'));
this._builder.get_object('grid_preview_title_weight_combo').connect('changed', Lang.bind (this, function(widget) {
@@ -1291,6 +1304,8 @@ const Settings = new Lang.Class({
this._builder.get_object('animation_time_spinbutton').set_value(this._settings.get_int('window-preview-animation-time'));
this._settings.set_value('preview-use-custom-opacity', this._settings.get_default_value('preview-use-custom-opacity'));
+
+ this._settings.set_value('window-preview-use-custom-icon-size', this._settings.get_default_value('window-preview-use-custom-icon-size'));
this._settings.set_value('preview-custom-opacity', this._settings.get_default_value('preview-custom-opacity'));
this._builder.get_object('preview_custom_opacity_spinbutton').set_value(this._settings.get_int('preview-custom-opacity'));
@@ -1324,6 +1339,9 @@ const Settings = new Lang.Class({
this._settings.set_value('window-preview-title-font-size', this._settings.get_default_value('window-preview-title-font-size'));
this._builder.get_object('preview_title_size_spinbutton').set_value(this._settings.get_int('window-preview-title-font-size'));
+
+ this._settings.set_value('window-preview-custom-icon-size', this._settings.get_default_value('window-preview-custom-icon-size'));
+ this._builder.get_object('preview_custom_icon_size_spinbutton').set_value(this._settings.get_int('window-preview-custom-icon-size'));
this._settings.set_value('window-preview-title-font-weight', this._settings.get_default_value('window-preview-title-font-weight'));
this._builder.get_object('grid_preview_title_weight_combo').set_active_id(this._settings.get_string('window-preview-title-font-weight'));
diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml
index 5fb3501..9395429 100644
--- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml
+++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml
@@ -482,6 +482,16 @@
Window previews title font size
This defines the window preview titles font size.
+
+ false
+ Window previews use custom icon size
+ Window previews use custom application icon size.
+
+
+ 16
+ Window previews custom icon size
+ Window previews custom application icon size.
+
260
Window previews animation time
diff --git a/windowPreview.js b/windowPreview.js
index 71f380d..44baf63 100644
--- a/windowPreview.js
+++ b/windowPreview.js
@@ -822,7 +822,12 @@ var Preview = Utils.defineClass({
this._removeWindowSignals();
this.window = window;
this._needsCloseButton = window.can_close() && !Utils.checkIfWindowHasTransient(window);
- this._updateHeader();
+
+ if (Me.settings.get_boolean('window-preview-use-custom-icon-size')){
+ this._updateHeader(Me.settings.get_int('window-preview-custom-icon-size'));
+ } else {
+ this._updateHeader(headerHeight / scaleFactor * .6);
+ }
},
animateOut: function() {
@@ -946,9 +951,8 @@ var Preview = Utils.defineClass({
}
},
- _updateHeader: function() {
+ _updateHeader: function(iconTextureSize) {
if (headerHeight) {
- let iconTextureSize = headerHeight / scaleFactor * .6;
let icon = this._previewMenu.getCurrentAppIcon().app.create_icon_texture(iconTextureSize);
let workspaceIndex = '';
let workspaceStyle = null;
@@ -1142,4 +1146,4 @@ function getTweenOpts(opts) {
};
return Utils.mergeObjects(opts || {}, defaults);
-}
\ No newline at end of file
+}