GNOME Bugzilla – Bug 455173
[WEB] Add the "overview" as starting page
Last modified: 2012-09-03 06:42:44 UTC
Opera has a new feature in recent versions called "Speed Dial", which shows the user's 9 preferred websites in a 3x3 grid which fits the screen if resized. The interface also shows a search entry. Some more info at: http://www.opera.com/pressreleases/en/2007/03/28b/index.dml Firefox version at: http://mozillalinks.org/wp/2007/04/operas-speed-dial-for-firefox/ HTML version from Opera itself: http://files.myopera.com/gcampos/files/index.html The HTML version seems nice and could probably be integrated into Epiphany pretty easily.
Created attachment 91496 [details] Screenshot-Speed Dial - Opera.png
I was just going to request for the same feature!!! Here are a couple more links... Firefox add-on: https://addons.mozilla.org/en-US/firefox/addon/4810 Opera's: http://www.opera.com/support/tutorials/flash/speeddial/ Thanks, Vic.
Created attachment 206105 [details] [review] Add GdMainView for use in the overview This widget courtesy of gnome-documents
Created attachment 206106 [details] [review] Add a boolean overview-mode property to EphyWindow With this, add the GdMainView widget to the main_vbox, so that it's visible instead of the notebook when the property is TRUE. The widget is initially empty.
Created attachment 206107 [details] [review] Add the "Pages" toggle button to the toolbar Bind it to the EphyWindow::overview-mode property
Created attachment 206108 [details] [review] Add the base EphyOverviewStore model This should be subclassed by the models for the history and/or currently open views.
Created attachment 206109 [details] [review] Use the base model with the overview This will show an empty overview for the time being.
Created attachment 206110 [details] [review] Hide the overview when a link or new tab is opened
Created attachment 206111 [details] [review] Handle the "item-activated" signal in the overview By opening the corresponding link
Review of attachment 206105 [details] [review]: Not really going to review this right now, maybe later. For now let's trust Cosimo ;)
Review of attachment 206106 [details] [review]: ::: src/ephy-window.c @@ +61,3 @@ #include "popup-commands.h" #include "window-commands.h" +#include "gd-main-view.h" Alphabetical sort! @@ +346,3 @@ guint idle_worker; GtkWidget *downloads_box; + GtkWidget *main_view; Maybe just "overview"? </bikeshed> @@ +3459,3 @@ sync_chromes_visibility (window); + ephy_window_set_overview_mode (window, FALSE); So the default value is TRUE but you set it to FALSE here? FWIW, I think it should be TRUE, and ephy should show up in the overview initially. @@ +3890,3 @@ + gtk_widget_hide (priv->main_view); + gtk_widget_show (GTK_WIDGET (priv->notebook)); + } I guess this could be done using some high-quality property binding, just a thought. Also I guess in the future we want to do some fancy animations here anyway.
Review of attachment 206107 [details] [review]: I believe the Pages button is not meant to be a toggle in the design. *Pokes Jimmac* Also, I'd personally put it to the right of back/forward, I don't think it deserves to Back spot. *Pokes Jimmac again*
Review of attachment 206108 [details] [review]: ::: lib/widgets/Makefile.am @@ +13,3 @@ ephy-search-entry.h \ + ephy-overview-store.c \ + ephy-overview-store.h \ Alphabetical sort. ::: lib/widgets/ephy-overview-store.c @@ +17,3 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Author: Claudio Saavedra <csaavedra@igalia.com> We don't really do this Author: thing in Epiphany. @@ +22,3 @@ +#include "config.h" + +#include "ephy-overview-store.h" No blank line here. ::: lib/widgets/ephy-overview-store.h @@ +24,3 @@ + +#include <gtk/gtk.h> +#include <glib-object.h> If you include gtk.h glib-object.h is not needed, right?
Review of attachment 206109 [details] [review]: ::: src/ephy-window.c @@ +2849,3 @@ + store = g_object_new (EPHY_TYPE_OVERVIEW_STORE, NULL); + gd_main_view_set_model (GD_MAIN_VIEW (main_view), + GTK_TREE_MODEL (store)); Haven't read the code, but if this follows the usual pattern you can unref the model now.
Review of attachment 206110 [details] [review]: I'm a bit uncomfortable having to scatter this around. I think it would make sense to have a centralized signal (or whatever) fired by the window when it's loading something, connect to that and hide the overview.
Review of attachment 206111 [details] [review]: OK, although I guess this is unused in this branch (since the model is always empty).
You are correct about the 'Pages' button not being a toggle. The problem is it is our 'back' button pattern and it even includes a 'go-previous' icon everywhere else we've used it. Obviously for Web this creates a problem. We got rid of the icon to avoid the confusion with the browsing history back button, but I feel we can't really demote its leftmost position.
*** Bug 339425 has been marked as a duplicate of this bug. ***
*** Bug 579189 has been marked as a duplicate of this bug. ***
*** Bug 323185 has been marked as a duplicate of this bug. ***
Is this available in gnome 3.4?
Created attachment 211767 [details] [review] Add GdMainView for use in the overview This widget courtesy of gnome-documents
Created attachment 211768 [details] [review] Add the base EphyOverviewStore model This should be subclassed by the models for the history and/or currently open views.
Created attachment 211769 [details] [review] Add EphyActiveStore class files This EphyOverviewStore subclass is fed by a EphyNotebook and keeps track of changes in the pages that are part of it.
Created attachment 211770 [details] [review] Add EphyFrecentStore class files This subclass of EphyOverviewStore displays the most frecently visited pages.
Created attachment 211771 [details] [review] Add EphyOverview widget This widget entails two GdMainViews, one for the frecency model and one for the active model.
Created attachment 211772 [details] [review] Add a boolean overview-mode property to EphyWindow With this, add the EphyOverview widget to the main_vbox, so that it's visible instead of the notebook when the property is TRUE.
Created attachment 211773 [details] [review] Add a "Pages" button to the toolbar This button enables the overview mode in the window.
Created attachment 211774 [details] [review] Hide the overview on url load By handling webview's load-status
Created attachment 211775 [details] [review] EphyOverviewStore: add ephy_overview_store_peek_snapshot() This method takes care of loading a snapshot from the service, asking for a new version when needed.
Created attachment 211776 [details] [review] ephy-window: show the overview on alt+home
For easiness of testing this is now in the 'overview' branch in git. Besides the code review, I think it would be good if we could agree in what would be missing here in order to be able to merge it into master and continue working there. Jakub, would you mind giving us a hand with this? Of the top of my head I can think of the following points that need a bit of insight from the ui designers: - what to do with the url entry while in the overview mode, - whether we want to entirely remove tabs or just hide them from the UI (most likely, the latter for technical reasons). - Whether to open pages from the upper section as new pages (as currently) or in the last visible "tab". - whether to dynamically grow the list of "frecently" used pages so that it always entirely fits one row, or go for a fixed number and let it span in several rows, as with the lower section (I'm inclined to the first). Some things I think we need to add to this: - A way to remove items from the overview (that is, close open pages or remove 'frecent' ones from the history, for instance) - Ally support (at least, keyboard navigation)
From discussion in irc, this is what I'll do next: (In reply to comment #34) > - what to do with the url entry while in the overview mode, URL entry will remain visible, but we'll clear its contents, to allow opening a URL directly from there or searching. > - whether we want to entirely remove tabs or just hide them from the UI (most > likely, the latter for technical reasons). We'll hide them for now, but we can reuse the "always-show-tabs" gsetting to keep them visible for grumpy users. I'd make that setting FALSE by default. > - Whether to open pages from the upper section as new pages (as currently) or > in the last visible "tab". Pages from the history will open as new tabs. Btw, the ordering of the sections is wrong, they should be open pages in the upper section and history items in the lower one. > - whether to dynamically grow the list of "frecently" used pages so that > it always entirely fits one row, or go for a fixed number and let it span in > several rows, as with the lower section (I'm inclined to the first). Since this goes in the lower section, a fixed number, say 8. > > Some things I think we need to add to this: > > - A way to remove items from the overview (that is, close open pages or remove > 'frecent' ones from the history, for instance) An overlay x will probably do for now.
*** Bug 675057 has been marked as a duplicate of this bug. ***
Apologies for the long radio silence on this matter. I've been pretty busy with this, and good progress has been made. If you want to see the current state of affairs, please feel free to fetch the 'overview' branch, which is up to date. Beware: I rewrite the branch quite often as I fix bugs in new code. However, I think the overview is fairly usable, even if there are plenty of things to work on. The following is a quick-n-dirty list of the things that still need fixing. If you find any new issues feel free to report them here. For the time being I think we don't need individual bug reports, as they'll certainly be a lot. Once things are in shape for master, we can close this and start filing individual reports for whatever it's left to fix. Please read the list before reporting new issues! * TODO Ctrl+T goes to overview from now on, remove New Tab. * DONE Handle close-tab-request in the overview. * TODO URLs typed in the overview must open in a new tab. * DONE Check the crashers related to the model handling. * TODO All instances of the word "tab" need to be replaced with "page". * TODO Switch order of overview panes. * DONE Sensitivity of pages button. * TODO Back on alt+home to overview / last page * TODO If a recent page is open do not show it in recent list. * TODO Control + click for opening a new instance of the page. * TODO Open more than 50 tabs the first time, check performance. * TODO Add url-changed to history service and listen for the title issue in the page. * TODO Ctrl+W and other tab shortcut need to be removed from overview mode.- * TODO Default thumbnail redo (ping designers) * TODO Close button (ping designers) * TODO When closing page, go back to previous state (either overview or previous tab). * TODO Add a field with the thumbnail update time to the history service in order to know exactly when to update it. * TODO Use a cancellable to check if a webpage has changed when the thumbnail has arrived to the OverviewStore. * TODO Remove about-blank from history * DONE Switch order of Page button. * DONE Use bindings for visibility of overview/notebook in ephy-window. * TODO Pin the frecent pages that shouldn't be displayed in the overview. * TODO Fix tests to use g_main_context_iteration() instead of g_timeout_add() * TODO Need to eventually update the thumbnails in the frecent list, right now they only update when changing position in the grid or when restarting. * TODO Delete URL from history doesn't update the frequently used items in the overview. Missing a "url-deleted" signal. * TODO If a thumbnail is missing from the frecent view and its page later is visited, the thumbnail is not loaded afterwards.
I added the above list to the wiki, if anyone is interested in contributing anyhow, please check it: https://live.gnome.org/Epiphany/Roadmap/3.6/Overview
I merged this feature (from the 'in-tab-overview' branch) into ephy master. Further work will continue there, please file bugs as desired. New iterations (for a full overview, for instance) can be discussed in new bugs. Closing this.