After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 455173 - [WEB] Add the "overview" as starting page
[WEB] Add the "overview" as starting page
Status: RESOLVED FIXED
Product: epiphany
Classification: Core
Component: Interface
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Claudio Saavedra
Epiphany Maintainers
: 323185 339425 579189 675057 (view as bug list)
Depends on: 678405 681711 681712
Blocks: 566608 579268
 
 
Reported: 2007-07-09 14:20 UTC by Bastien Nocera
Modified: 2012-09-03 06:42 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Screenshot-Speed Dial - Opera.png (16.18 KB, image/png)
2007-07-09 14:44 UTC, Bastien Nocera
  Details
Add GdMainView for use in the overview (61.85 KB, patch)
2012-01-25 16:40 UTC, Claudio Saavedra
none Details | Review
Add a boolean overview-mode property to EphyWindow (4.79 KB, patch)
2012-01-25 16:40 UTC, Claudio Saavedra
reviewed Details | Review
Add the "Pages" toggle button to the toolbar (2.20 KB, patch)
2012-01-25 16:41 UTC, Claudio Saavedra
reviewed Details | Review
Add the base EphyOverviewStore model (5.49 KB, patch)
2012-01-25 16:41 UTC, Claudio Saavedra
reviewed Details | Review
Use the base model with the overview (1.54 KB, patch)
2012-01-25 16:41 UTC, Claudio Saavedra
reviewed Details | Review
Hide the overview when a link or new tab is opened (1.11 KB, patch)
2012-01-25 16:41 UTC, Claudio Saavedra
reviewed Details | Review
Handle the "item-activated" signal in the overview (1.47 KB, patch)
2012-01-25 16:41 UTC, Claudio Saavedra
reviewed Details | Review
Add GdMainView for use in the overview (82.92 KB, patch)
2012-04-10 16:22 UTC, Claudio Saavedra
none Details | Review
Add the base EphyOverviewStore model (5.65 KB, patch)
2012-04-10 16:22 UTC, Claudio Saavedra
none Details | Review
Add EphyActiveStore class files (16.56 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
Add EphyFrecentStore class files (9.02 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
Add EphyOverview widget (10.36 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
Add a boolean overview-mode property to EphyWindow (4.80 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
Add a "Pages" button to the toolbar (3.24 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
Hide the overview on url load (1.38 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
EphyOverviewStore: add ephy_overview_store_peek_snapshot() (7.40 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review
ephy-window: show the overview on alt+home (1.28 KB, patch)
2012-04-10 16:23 UTC, Claudio Saavedra
none Details | Review

Description Bastien Nocera 2007-07-09 14:20:35 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.
Comment 1 Bastien Nocera 2007-07-09 14:44:09 UTC
Created attachment 91496 [details]
Screenshot-Speed Dial - Opera.png
Comment 2 victorbrca 2007-11-17 19:56:37 UTC
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.
Comment 3 Claudio Saavedra 2012-01-25 16:40:52 UTC
Created attachment 206105 [details] [review]
Add GdMainView for use in the overview

This widget courtesy of gnome-documents
Comment 4 Claudio Saavedra 2012-01-25 16:40:56 UTC
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.
Comment 5 Claudio Saavedra 2012-01-25 16:41:00 UTC
Created attachment 206107 [details] [review]
Add the "Pages" toggle button to the toolbar

Bind it to the EphyWindow::overview-mode property
Comment 6 Claudio Saavedra 2012-01-25 16:41:04 UTC
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.
Comment 7 Claudio Saavedra 2012-01-25 16:41:08 UTC
Created attachment 206109 [details] [review]
Use the base model with the overview

This will show an empty overview for the time being.
Comment 8 Claudio Saavedra 2012-01-25 16:41:13 UTC
Created attachment 206110 [details] [review]
Hide the overview when a link or new tab is opened
Comment 9 Claudio Saavedra 2012-01-25 16:41:17 UTC
Created attachment 206111 [details] [review]
Handle the "item-activated" signal in the overview

By opening the corresponding link
Comment 10 Xan Lopez 2012-01-27 11:22:18 UTC
Review of attachment 206105 [details] [review]:

Not really going to review this right now, maybe later. For now let's trust Cosimo ;)
Comment 11 Xan Lopez 2012-01-27 11:24:34 UTC
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.
Comment 12 Xan Lopez 2012-01-27 11:26:20 UTC
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*
Comment 13 Xan Lopez 2012-01-27 11:30:21 UTC
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?
Comment 14 Xan Lopez 2012-01-27 11:31:29 UTC
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.
Comment 15 Xan Lopez 2012-01-27 11:34:19 UTC
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.
Comment 16 Xan Lopez 2012-01-27 11:35:26 UTC
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.
Comment 17 Xan Lopez 2012-01-27 11:35:26 UTC
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.
Comment 18 Xan Lopez 2012-01-27 11:37:29 UTC
Review of attachment 206111 [details] [review]:

OK, although I guess this is unused in this branch (since the model is always empty).
Comment 19 Jakub Steiner 2012-01-27 13:24:26 UTC
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.
Comment 20 Diego Escalante Urrelo (not reading bugmail) 2012-02-13 06:12:23 UTC
*** Bug 339425 has been marked as a duplicate of this bug. ***
Comment 21 Diego Escalante Urrelo (not reading bugmail) 2012-03-02 16:42:19 UTC
*** Bug 579189 has been marked as a duplicate of this bug. ***
Comment 22 Diego Escalante Urrelo (not reading bugmail) 2012-03-02 17:02:45 UTC
*** Bug 323185 has been marked as a duplicate of this bug. ***
Comment 23 kxra 2012-03-28 16:01:47 UTC
Is this available in gnome 3.4?
Comment 24 Claudio Saavedra 2012-04-10 16:22:51 UTC
Created attachment 211767 [details] [review]
Add GdMainView for use in the overview

This widget courtesy of gnome-documents
Comment 25 Claudio Saavedra 2012-04-10 16:22:59 UTC
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.
Comment 26 Claudio Saavedra 2012-04-10 16:23:02 UTC
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.
Comment 27 Claudio Saavedra 2012-04-10 16:23:06 UTC
Created attachment 211770 [details] [review]
Add EphyFrecentStore class files

This subclass of EphyOverviewStore displays the most frecently visited
pages.
Comment 28 Claudio Saavedra 2012-04-10 16:23:10 UTC
Created attachment 211771 [details] [review]
Add EphyOverview widget

This widget entails two GdMainViews, one for the frecency model and
one for the active model.
Comment 29 Claudio Saavedra 2012-04-10 16:23:14 UTC
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.
Comment 30 Claudio Saavedra 2012-04-10 16:23:17 UTC
Created attachment 211773 [details] [review]
Add a "Pages" button to the toolbar

This button enables the overview mode in the window.
Comment 31 Claudio Saavedra 2012-04-10 16:23:21 UTC
Created attachment 211774 [details] [review]
Hide the overview on url load

By handling webview's load-status
Comment 32 Claudio Saavedra 2012-04-10 16:23:26 UTC
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.
Comment 33 Claudio Saavedra 2012-04-10 16:23:30 UTC
Created attachment 211776 [details] [review]
ephy-window: show the overview on alt+home
Comment 34 Claudio Saavedra 2012-04-10 16:48:21 UTC
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)
Comment 35 Claudio Saavedra 2012-04-11 15:55:39 UTC
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.
Comment 36 Reinout van Schouwen 2012-05-03 23:08:11 UTC
*** Bug 675057 has been marked as a duplicate of this bug. ***
Comment 37 Claudio Saavedra 2012-08-07 08:17:03 UTC
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.
Comment 38 Claudio Saavedra 2012-08-08 09:50:22 UTC
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
Comment 39 Claudio Saavedra 2012-09-03 06:42:44 UTC
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.