diff --git a/Settings.ui b/Settings.ui index 391d0e1..6e37185 100644 --- a/Settings.ui +++ b/Settings.ui @@ -1656,6 +1656,11 @@ 10 100 + + 10000 + 10 + 100 + 1 9990 @@ -2126,6 +2131,54 @@ + + + True + True + + + True + False + 12 + 12 + 12 + 12 + 12 + 32 + + + True + False + True + Delay before enabling intellihide on start (ms) + True + 0 + + + 0 + 0 + + + + + True + True + end + 4 + 10 + intellihide_enable_hide_delay_adjustment + True + 10 + + + 1 + 0 + + + + + + diff --git a/panel.js b/panel.js index 212198a..4ad183b 100644 --- a/panel.js +++ b/panel.js @@ -280,7 +280,7 @@ var dtpPanel = Utils.defineClass({ if(this.taskbar._showAppsIconWrapper) this.taskbar._showAppsIconWrapper._dtpPanel = this; - this.startIntellihideId = Mainloop.timeout_add(2000, () => { + this.startIntellihideId = Mainloop.timeout_add(Me.settings.get_int('intellihide-enable-start-delay'), () => { this.startIntellihideId = 0; this.intellihide = new Intellihide.Intellihide(this); }); diff --git a/prefs.js b/prefs.js index 489edca..73ac126 100644 --- a/prefs.js +++ b/prefs.js @@ -821,6 +821,11 @@ const Settings = new Lang.Class({ this._settings.set_int('intellihide-close-delay', widget.get_value()); })); + this._builder.get_object('intellihide_enable_start_delay_spinbutton').set_value(this._settings.get_int('intellihide-enable-start-delay')); + this._builder.get_object('intellihide_enable_start_delay_spinbutton').connect('value-changed', Lang.bind (this, function(widget) { + this._settings.set_int('intellihide-enable-start-delay', widget.get_value()); + })); + this._builder.get_object('intellihide_options_button').connect('clicked', Lang.bind(this, function() { let dialog = new Gtk.Dialog({ title: _('Intellihide options'), transient_for: this.widget.get_toplevel(), @@ -856,6 +861,9 @@ const Settings = new Lang.Class({ this._settings.set_value('intellihide-close-delay', this._settings.get_default_value('intellihide-close-delay')); this._builder.get_object('intellihide_close_delay_spinbutton').set_value(this._settings.get_int('intellihide-close-delay')); + + this._settings.set_value('intellihide-enable-start-delay', this._settings.get_default_value('intellihide-enable-start-delay')); + this._builder.get_object('intellihide_enable_start_delay_spinbutton').set_value(this._settings.get_int('intellihide-enable-start-delay')); } else { // remove the settings box so it doesn't get destroyed; dialog.get_content_area().remove(box); 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 f0e20f9..90c7c9f 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -340,6 +340,11 @@ Keybinding toggle intellihide Keybinding to reveal the panel while in intellihide mode + + 2000 + Intellihide enable start delay + The delay before enabling intellihide on start + true Show applications button