GNOME Bugzilla – Bug 790527
Cannot go back to previous location after jumping to a bookmark
Last modified: 2019-03-20 10:39:57 UTC
dconf-editor does not have back/forward buttons that work like those in a web browser, or nautilus. Say you are in a certain path, then switch to another one from a bookmark. After that you remember that you need to go back to where you were because you forgot some change. A back button is handy for these situations. I'll attach some preliminary patch. It is very simple, with the limitation that it only works for path changes triggered with the request_path signal. In the current master, the "find next" action changes the path without using the signal, so that will not be accounted for back/forward purposes (well, even then it would break search mechanics, so this patch might be postponed until search is reworked).
Created attachment 363960 [details] [review] Preliminary patch
I have various problems around back/forward. First, because it is usually a bad UI: the user either want to go: * to the previous path, or; * to _a specific path he visited_ (and not to the previous of the previous of the previous of the previous path), or; * to the _last path_ (and more or less never to the _next path_). Secondly, because as dconf-editor has a “confirm implicit” mode by default (if you change path, the pending change is applied), what means “going forward” when there’s a change pending? cancelling it, or applying it? So I more or less agreed with myself (!) that back/forward is not the path to go. But, there might be something to think about having a “history” button, with a popover that displays a list of interesting paths previously visited.
(In reply to Arnaud B. from comment #2) > I have various problems around back/forward. First, because it is usually a > bad UI: the user either want to go: > * to the previous path, or; In my personal experience, this is the vast majority of cases. > * to _a specific path he visited_ (and not to the previous of the previous > of the previous of the previous path), or; > * to the _last path_ (and more or less never to the _next path_). > Secondly, because as dconf-editor has a “confirm implicit” mode by default > (if you change path, the pending change is applied), what means “going > forward” when there’s a change pending? cancelling it, or applying it? The same can be argued about bookmarks or search. I'd say "do whatever the behavior says it does". > So I more or less agreed with myself (!) that back/forward is not the path > to go. But, there might be something to think about having a “history” > button, with a popover that displays a list of interesting paths previously > visited. I changed the approach to a history list. It is very close to an "Alt+Tab for paths", i.e. a "most recently used first" list. It is accessible by a history button in the headerbar but also with shortcuts Ctrl+H/Ctrl+Shift+H, again with mechanics similar to Alt+Tab (i.e. re-pressing H/Shift+H moves selection and releasing Ctrl activates the selected item). This approach has the advantage of showing the user where he is going, makes it "easier" to go further back (without changing the view in every step) and uses the same logic to go back and "forward". I actually prefer this approach, but it has the disadvantage that it is not so commonly used as back/forward buttons.
Created attachment 363984 [details] [review] Alternative approach (history)
(In reply to Davi from comment #3) > (In reply to Arnaud B. from comment #2) > > the user either want to go: > > * to the previous path, or; > In my personal experience, this is the vast majority of cases. I won’t say that, but I think that as long as you only allow browsing history with back and forward button, that’s the only interesting use of your history functionality… > > what means “going forward” when there’s a change pending? cancelling it, > > or applying it? > The same can be argued about bookmarks or search. I'd say "do whatever the > behavior says it does". Bookmarks function clearly says “now let’s go to this path”, so it’s a path change. The problem with back/forward button is that it’s not clearly limited to a path browsing function, it could be understood as an undo/redo function. That’s why I also think a history popover is better, it’s again a “now let’s go to this path” thing. > I actually prefer this approach, but it has the disadvantage that it is not > so commonly used as back/forward buttons. Dconf-editor has some surprising things here and there (a scrollbar on the left, the “weird-enum” and “weird-range” demo keys and an associated UI…), let’s assume that also. ;) > I changed the approach to a history list. It is very close to an "Alt+Tab > for paths", i.e. a "most recently used first" list. It is accessible by a > history button in the headerbar but also with shortcuts Ctrl+H/Ctrl+Shift+H, > again with mechanics similar to Alt+Tab (i.e. re-pressing H/Shift+H moves > selection and releasing Ctrl activates the selected item). Interesting, many things to say: * to start, I’m not comfortable with it on the left of the pathbar, I think it would be better at least for now on the right, near the “Bookmarks” button; * less padding/spacing, it should feel like the bookmarks popover; * not sure about the “clear history” button, what would be its use case? (and, it’s “Clear history” I think;) and, it could be a really large button if you have visited a really long path; * I like having keyboard shortcuts for easily going back and forward, it’s great, but I’d probably use (or at least would test) <Ctrl>Left and <Ctrl>Right, as usually for going back and forward, even if the UI is a little different; one thing being that pressing <Shift> when you’ve gone too far is a little difficult; * I’d like also to have a keyboard shortcut for just opening the popover, and the same with <Shift> to close it; and it’s probably <Ctrl>H and <Ctrl><Shift>H; * do a new section in the help-overlay dialog, and make it pretty. Globally, it looks promising, but I won’t push until I feel there’s a really big value added. So if you have ideas to make it more useful, more easy to use, more complete, clearer, prettier or whatever, just try.
<Alt>Left and <Alt>Right, sorry.
(In reply to Arnaud B. from comment #5) > I won’t say that, but I think that as long as you only allow browsing > history with back and forward button, that’s the only interesting use of > your history functionality… Can't deny that :). > Dconf-editor has some surprising things here and there (a scrollbar on the > left, the “weird-enum” and “weird-range” demo keys and an associated UI…), > let’s assume that also. ;) Scrollbar on the left? Is that from the mythical tree? :) > Interesting, many things to say: > * to start, I’m not comfortable with it on the left of the pathbar, I think > it would be better at least for now on the right, near the “Bookmarks” > button; I think it is actually more closely related to the pathbar then bookmarks. Also, the left is where most "history navigation actions" are placed in other apps, so that was my first choice. Let's test it on the right now, though. > * less padding/spacing, it should feel like the bookmarks popover; Ok. > * not sure about the “clear history” button, what would be its use case? > (and, it’s “Clear history” I think;) and, it could be a really large button > if you have visited a really long path; I'm not sure too... just something easy to do. Pure silliness :). > * I like having keyboard shortcuts for easily going back and forward, it’s > great, but I’d probably use (or at least would test) <Ctrl>Left and > <Ctrl>Right, as usually for going back and forward, even if the UI is a > little different; one thing being that pressing <Shift> when you’ve gone too > far is a little difficult; <Ctrl>Left/Right are already used for text navigation, so that is not an option. <Alt>Left/Right are usable, but you cannot dismiss the popover without activating because <Alt>Escape is captured by the WM by default. Maybe an "Alt+Tab" style might not be doable in a satisfactory way. Disabling it for now. > * I’d like also to have a keyboard shortcut for just opening the popover, > and the same with <Shift> to close it; and it’s probably <Ctrl>H and > <Ctrl><Shift>H; I think it might be better to do it the same style as the bookmarks, with the same keybindings for open/close? > * do a new section in the help-overlay dialog, and make it pretty. Ok. > Globally, it looks promising, but I won’t push until I feel there’s a really > big value added. So if you have ideas to make it more useful, more easy to > use, more complete, clearer, prettier or whatever, just try. Personally, I think it is a standard feature that every app that deals with locations (and jumping from one place to another) should have. It can make life a lot easier at times. Of course bookmarks are functional enough for every imaginable use-case, but they require management.
Created attachment 364062 [details] [review] Alternative approach (history) - Move the button close to bookmarks - Remove the silly "Clear History" button - Style the popover similar to bookmarks (also respects small-bookmarks-rows) - Simplify keybindings: simply toggle popover with Ctrl+H. Use normal navigation (Up, Down, Enter) for picking destination with keyboard - Show past only (i.e. current location is not added to the list)
(In reply to Davi from comment #7) > > Dconf-editor has some surprising things here and there (a scrollbar on the > > left, the “weird-enum” and “weird-range” demo keys and an associated UI…), > > let’s assume that also. ;) > > Scrollbar on the left? Is that from the mythical tree? :) No, it’s just the scrollbar in the bookmarks popover that was overlapping the “Remove bookmark” button. Nobody complained, so it’s like that. ^^ > I think it is actually more closely related to the pathbar then bookmarks. > Also, the left is where most "history navigation actions" are placed in > other apps, so that was my first choice. Let's test it on the right now, > though. At one point, I’d like to make “linked” all the buttons regarding path modification, including an “Edit path” one. I have a preliminary patch for that function, and as long as it wasn’t linked to other buttons, it was looking better to have it also on the right (and it’s clearly more related to the pathbar than a “History” button :D ). Not sure what I’ll do then, but that’s another story. > <Ctrl>Left/Right are already used for text navigation, so that is not an > option. <Alt>Left/Right are usable, but you cannot dismiss the popover > without activating because <Alt>Escape is captured by the WM by default. > Maybe an "Alt+Tab" style might not be doable in a satisfactory way. > Disabling it for now. Can you keep it with <Alt>Left/Right, but without an “Escape” function? With “Current path” as primary item, it’s not a so big problem I think, as long as there’re other way to access the history function. > > * I’d like also to have a keyboard shortcut for just opening the popover, > > and the same with <Shift> to close it; and it’s probably <Ctrl>H and > > <Ctrl><Shift>H; > > I think it might be better to do it the same style as the bookmarks, with > the same keybindings for open/close? Yes, you’re right. I had in mind a double keyboarding shortcut for the popover, but it was too annoying and I cancelled it for the bookmarks popover. > > Globally, it looks promising, but I won’t push until I feel there’s a really > > big value added. So if you have ideas to make it more useful, more easy to > > use, more complete, clearer, prettier or whatever, just try. > > Personally, I think it is a standard feature that every app that deals with > locations (and jumping from one place to another) should have. It can make > life a lot easier at times. Of course bookmarks are functional enough for > every imaginable use-case, but they require management. Would it be interesting to save previous session? To add a toggle in the popover for saving or not the current session, defaulting to true? There’s something missing in the proposed functionality. Use the new registry-placeholder functions for the placeholder.
Created attachment 364164 [details] [review] Alternative approach (history) - Use Alt+Left/Alt+Right for switching to recent entries in Alt+Tab style - Restore history on startup (may be disabled by "restore-history" option) - Limit number of history entries ("max-history-length" option) - Use the RegistryPlaceholder
Hey, fun, they are warnings when closing the window with <Alt>F4 when a popover from the headerbar is displayed. With a coredump for the proposed “History” one. Looks like my brain has a problem with the automatic reordering, mainly explainable by the fact I’d like “forward” to undo a previous “back” move. Not sure how things have to work there. Thinking again and again, there has been a new proposition that came to my mind. Your bug explicitly says that your main problem happens when you used a bookmark to change location. Might it be an idea to just keep in memory the origin of the “jumps”, and to offer to go back there in a small section, at the end of the bookmarks popover? That would be a quite less disruptive change, with the main case handled. What do you think of that?
(In reply to Arnaud B. from comment #11) > Hey, fun, they are warnings when closing the window with <Alt>F4 when a > popover from the headerbar is displayed. With a coredump for the proposed > “History” one. I'll investigate. > Looks like my brain has a problem with the automatic reordering, mainly > explainable by the fact I’d like “forward” to undo a previous “back” move. > Not sure how things have to work there. Well, there is no "forward", or better, we always move forward. It is a strict MRU ordered history. That is why I think that using Alt+Left/Alt+Right this way is confusing. Everywhere these mean back/forward. > Thinking again and again, there has been a new proposition that came to my > mind. Your bug explicitly says that your main problem happens when you used > a bookmark to change location. Might it be an idea to just keep in memory > the origin of the “jumps”, and to offer to go back there in a small section, > at the end of the bookmarks popover? That would be a quite less disruptive > change, with the main case handled. What do you think of that? I think it would add another one of the "surprising things" in Dconf Editor :). I think it would be a "not bookmark" in the bookmarks popover. But I'm probably thinking too far ahead, when we will hopefully have a "search results view" and maybe a "delayed changes list" or even a "edit path button". By then, jumping around will not be a bookmark-only thing. Seeing things that way, we could put this discussion on hold until when (if ever) those features actually land, giving this bug some more weight. What do you think?
(In reply to Davi from comment #12) > I think it would add another one of the "surprising things" in Dconf Editor > :). I think it would be a "not bookmark" in the bookmarks popover. Said that way… ^^’ > But I'm probably thinking too far ahead, when we will hopefully have a > "search results view" and maybe a "delayed changes list" or even a "edit > path button". By then, jumping around will not be a bookmark-only thing. Right. > Seeing things that way, we could put this discussion on hold until when (if > ever) those features actually land, giving this bug some more weight. What > do you think? I agree on that, let’s concentrate on the other things first, until we have a good understanding of what is needed.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/dconf-editor/issues/21.