pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pan-users] Space reading


From: Sam Solon
Subject: [Pan-users] Space reading
Date: 28 May 2002 11:00:37 -0400

The current implementation of space reading really drives me crazy. When
there's a long article I end up typing space, space, space, space,
space, and usually overshoot the end of the article right into the next
one.

The "n" key is so close to the space bar that there is really very
little effort involved in hitting it to go to the next article after
reaching the end by using the spacebar.

I've patched my copy of Pan to make going on to the next article an
option -- with the default that space reading no longer goes on to the
next article.

Charles seems wary about adding another option (I guess he's trying to
get rid of useless options) and suggested that I propose this to the
users as a whole and get some feedback on it.

Do other people find the current implementation (space reading advances
to the next unread) worthwhile? Should it be an option?

I've included my patch so that others can try it out and see the
difference. The change has definitely enhanced my Pan experience.

Sam Solon


RCS file: /cvs/gnome/pan/pan/prefs.c,v
retrieving revision 1.266
diff -u -c -r1.266 prefs.c
*** pan/prefs.c 2002/05/19 14:31:44     1.266
--- pan/prefs.c 2002/05/24 19:58:06
***************
*** 111,116 ****
--- 111,117 ----
        GtkWidget * fetch_new_on_group_load_cbutton;
        GtkWidget * fetch_new_on_startup_cbutton;
        GtkWidget * fetch_new_and_bodies_on_startup_cbutton;
+         GtkWidget * space_reading_advances_cbutton;
        GtkWidget * break_thread_when_subject_changes_cbutton;
        GtkWidget * expand_all_threads_by_default_cbutton;
        GtkWidget * hide_mpart_child_nodes_cbutton;
***************
*** 221,226 ****
--- 222,228 ----
  gboolean fetch_new_on_group_load              = TRUE;
  gboolean fetch_new_on_startup                 = FALSE;
  gboolean fetch_new_and_bodies_on_startup      = FALSE;
+ gboolean space_reading_advances               = FALSE;
  gboolean header_pane_is_threaded              = TRUE;
  gboolean single_click_selects                 = FALSE;
  gboolean show_group_pane                      = TRUE;
***************
*** 570,575 ****
--- 572,582 ----
                win->fetch_new_and_bodies_on_startup_cbutton);
  
        update_entry_and_bool_from_toggle_button (
+               &space_reading_advances,
+               "/Pan/General/space_reading_advances",
+               win->space_reading_advances_cbutton);
+ 
+       update_entry_and_bool_from_toggle_button (
                &remove_failed_tasks,
                "/Pan/General/remove_failed_tasks",
                win->remove_failed_tasks);
***************
*** 923,928 ****
--- 930,936 ----
        wrap_column = pan_config_get_int ("wrap_column=74");
        fetch_new_on_group_load = pan_config_get_bool
("fetch_new_on_group_load=TRUE");
        fetch_new_and_bodies_on_startup = pan_config_get_bool
("fetch_new_and_bodies_from_subscribed_on_startup=FALSE");
+       space_reading_advances = pan_config_get_bool
("space_reading_advances=FALSE");
        hide_mpart_child_nodes = pan_config_get_bool
("hide_mpart_child_nodes=TRUE");
        break_thread_when_subject_changes = pan_config_get_bool (
                        "break_thread_when_subject_changes=FALSE"); 
***************
*** 1510,1515 ****
--- 1518,1530 ----
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w),
fetch_new_and_bodies_on_startup);
        connect_signal_to_prefs_changed (w, "toggled");
        win->fetch_new_and_bodies_on_startup_cbutton = w;
+       gtk_box_pack_start (GTK_BOX(vbox), w, FALSE, FALSE, 0);
+ 
+       /* space reading advances next article */
+       w = gtk_check_button_new_with_label (_("Space reading advances
to
next article"));
+       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(w),
space_reading_advances);
+       connect_signal_to_prefs_changed (w, "toggled");
+       win->space_reading_advances_cbutton = w;
        gtk_box_pack_start (GTK_BOX(vbox), w, FALSE, FALSE, 0);
  
        /* separator */
Index: pan/prefs.h
===================================================================
RCS file: /cvs/gnome/pan/pan/prefs.h,v
retrieving revision 1.78
diff -u -c -r1.78 prefs.h
*** pan/prefs.h 2002/05/19 14:31:44     1.78
--- pan/prefs.h 2002/05/24 19:58:06
***************
*** 35,40 ****
--- 35,41 ----
  extern gint                    text_window_smooth_scrolling_speed;
  extern gboolean                fetch_new_on_startup;
  extern gboolean                fetch_new_and_bodies_on_startup;
+ extern gboolean                space_reading_advances;
  extern gboolean                fetch_new_on_group_load;
  extern gboolean                expand_all_threads_by_default;
  extern gboolean                hide_mpart_child_nodes;
Index: pan/text.c
===================================================================
RCS file: /cvs/gnome/pan/pan/text.c,v
retrieving revision 1.296
diff -u -c -r1.296 text.c
*** pan/text.c  2002/05/22 12:15:21     1.296
--- pan/text.c  2002/05/24 19:58:06
***************
*** 379,385 ****
        else if ((v->upper < v->page_size) || (val == v->value))
        {
                /* or if we're at the end of a page, go to the next page
*/
!               articlelist_read_next ();
        }
        else if (Pan.text->parent==scrolled_window &&
text_window_smooth_scrolling)
        {
--- 379,386 ----
        else if ((v->upper < v->page_size) || (val == v->value))
        {
                /* or if we're at the end of a page, go to the next page
*/
!               if (space_reading_advances)
!                 articlelist_read_next ();
        }
        else if (Pan.text->parent==scrolled_window &&
text_window_smooth_scrolling)
        {





reply via email to

[Prev in Thread] Current Thread [Next in Thread]