appDisplay: Remember selected view across sessions
The application picker will always open with the view that was last selected during the session, but the selection is reset on each restart. This results in some annoyance for users that use the ALL view exclusively, as they have to toggle views once each session - the same would apply to exclusive FREQUENT view users were the defaults to be changed, so the best solution is to simply make the selected view persistent by storing it in GSettings. https://bugzilla.gnome.org/show_bug.cgi?id=710042
This commit is contained in:
parent
6e13823ccc
commit
5a7e854f9e
@ -37,6 +37,13 @@
|
|||||||
application view, rather than being displayed inline in the main view.
|
application view, rather than being displayed inline in the main view.
|
||||||
</_description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
<key name="app-picker-view" type="u">
|
||||||
|
<default>0</default>
|
||||||
|
<summary>App Picker View</summary>
|
||||||
|
<description>
|
||||||
|
Index of the currently selected view in the application picker.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
<key name="command-history" type="as">
|
<key name="command-history" type="as">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
<_summary>History for command (Alt-F2) dialog</_summary>
|
<_summary>History for command (Alt-F2) dialog</_summary>
|
||||||
|
@ -744,10 +744,15 @@ const AppDisplay = new Lang.Class({
|
|||||||
this._views[i].control.connect('clicked', Lang.bind(this,
|
this._views[i].control.connect('clicked', Lang.bind(this,
|
||||||
function(actor) {
|
function(actor) {
|
||||||
this._showView(viewIndex);
|
this._showView(viewIndex);
|
||||||
|
global.settings.set_uint('app-picker-view', viewIndex);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
let initialView = Math.min(global.settings.get_uint('app-picker-view'),
|
||||||
|
this._views.length - 1);
|
||||||
let frequentUseful = this._views[Views.FREQUENT].view.hasUsefulData();
|
let frequentUseful = this._views[Views.FREQUENT].view.hasUsefulData();
|
||||||
this._showView(frequentUseful ? Views.FREQUENT : Views.ALL);
|
if (initialView == Views.FREQUENT && !frequentUseful)
|
||||||
|
initialView = Views.ALL;
|
||||||
|
this._showView(initialView);
|
||||||
this._updateFrequentVisibility();
|
this._updateFrequentVisibility();
|
||||||
|
|
||||||
// We need a dummy actor to catch the keyboard focus if the
|
// We need a dummy actor to catch the keyboard focus if the
|
||||||
|
Loading…
Reference in New Issue
Block a user