johnfactotum / foliate

Read e-books in style
https://johnfactotum.github.io/foliate/
GNU General Public License v3.0
6.17k stars 287 forks source link

Add help button and allow easy way to toggle keyboard shortcuts as cheat-sheet #374

Closed digitalethics closed 4 years ago

digitalethics commented 4 years ago

This is a request for several interrelated issues aimed at making Foliate more accessible to non-technical users and for introducing new Foliate features to users not following GitHub.

*Currently the sidebar mode just kind of "pops" in without any "slide" effect. I like Foliate for its minimalist design without unnecessary animations. The only place where I'd wish for a very subtle slide effect would be the sidebar (left-right) and toggling the keyboard shortcuts (top-down). [Moved to separate issue in #388]

johnfactotum commented 4 years ago

Add Ctrl+? to toggle Keyboard Shortcuts overview.

Ctrl+? is already there, although it isn't listed in the list of keyboard shortcuts.

It would be nice if the cheat-sheet slides down from the header bar and docks onto it (with no additional animation other than a very subtle slide to keep it minimalist and harmonious with the sidebar slide*) to feel more responsive and integrated rather than just appearing as a centered window on top of the main window.

As I've mentioned in https://github.com/johnfactotum/foliate/issues/369#issuecomment-631538955, the shortcuts window is a standard GTK widget. You might want to checkout the GTK issues, in particular "Keyboard shortcut windows design updates".

Visually this could be complemented by a help button (hand or question mark icon) in the header bar which toggles the cheat sheet for those navigating by mouse or a combination of mouse and keyboard.

The space in headerbar is too precious to give to a help button.

Command-line options could be listed in a separate tab next to the keyboard shortcuts cheat-sheet. Wiki could be listed in a separate tab.

The shortcuts window doesn't support these. These should be implemented as proper help documentations that can be opened by Yelp.

GitHub changelog or even better a quick summary of new Foliate features could be listed in a separate News tab.

We already ship an AppStream AppData file containing the full changelog. Apps like GNOME Software support reading this information, although currently I think it only shows the release notes when you're upgrading. You might want to open an issue with GNOME Software. See also this GTK issue: "about-dialogs: Show information from AppData, link to Software".

It might be possible for Foliate to read and present its own AppData manually. But preferably this should be done automatically and consistently across GTK apps.

Currently the sidebar mode just kind of "pops" in without any "slide" effect.

I don't think this is currently possible with GTK. It is possible with libdazzle. I guess we can use libdazzle, but I'll want to make it optional, like the way we use libhandy at the moment; I don't want to hard-depend on a library just to add a few animations.

digitalethics commented 4 years ago

The space in headerbar is too precious to give to a help button.

I will read up a bit more about GNOME Human Interface Guidelines (I'm currently on Plasma but with a preference for GNOME applications). I agree that keeping the overall minimalist design is a good thing to do but it can easily lead to convoluted menus and much longer cursor travel distances.

I think a help button is nicely integrated in Setzer:

setzer_togglehelp

johnfactotum commented 4 years ago

The help button in Setzer shows documentations for LaTex, which is complex and often helpful to refer to while editing a document. On the other hand, Foliate doesn't have any extensive features and documentations, and also no need to keep referring to it when reading a book, so it doesn't make sense to add a help button.

I'll close this issue for now, since the most of suggestions conflict with and requires changes in GNOME and GTK design.