timeouts in GTK+

GTK+ contains a considerable number of hardwired timeouts:

gtkbutton.c           ACTIVATE_TIMEOUT                250
gtkcalendar.c         CALENDAR_TIMER_DELAY             20 
gtkcalendar.c         CALENDAR_INITIAL_TIMER_DELAY    200
gtkcellrenderertext.c popdown timeout                 500
gtkclist.c            SCROLL_TIME                     100
gtkcombobox.c         SCROLL_TIME                     100
gtkdnd.c              ANIM_STEP_TIME                   50
gtkentry.c            gtk-cursor-blink-time          
gtkentry.c            COMPLETION_TIMEOUT              300
gtkexpander.c         animation timeout                50
gtkiconview.c         scroll timeout                   30
gtkimage.c            animation delay time
gtklist.c             SCROLL_TIME                     100
gtkmenu.c             MENU_SCROLL_TIMEOUT1             50
gtkmenu.c             MENU_SCROLL_TIMEOUT2             50
gtkmenu.c             gtk-menu-popdown-delay
gtkmenuitem.c         gtk-menu-popup-delay
gtknotebook.c         NOTEBOOK_INIT_SCROLL_DELAY      200
gtknotebook.c         NOTEBOOK_SCROLL_DELAY           100
gtkrange.c            SCROLL_INITIAL_DELAY            250
gtkrange.c            SCROLL_LATER_DELAY              100
gtkrange.c            UPDATE_DELAY                    300
gtkspinbutton.c       SPIN_BUTTON_INITIAL_TIMER_DELAY 200
gtkspinbutton.c       SPIN_BUTTON_TIMER_DELAY          20
gtktext.c             SCROLL_TIME                     100
gtktextview.c         gtk-cursor-blink-time          
gtktextview.c         scroll timeout                   50
gtktooltips.c         DEFAULT_DELAY                   500
gtktooltips.c         STICKY_DELAY                      0
gtktreeview.c         open row timeout                500
gtktreeview.c         scroll row timeout              150
gtktreeview.c         expand collapse timeout          50
gtktreeview.c         search popdown timeout          200

To make GTK+ more accessible, most of these should be 
made configurable. These timeouts can be roughly grouped 
into the following functional groups:

- repeat functionality
    (calendar arrows, spinbutton arrows, notebook 
     scrolling, etc)
- scrolling 
    (dnd scrolling in the text view, tree view, icon view,
     menu scrolling, combo box scrolling)
- animation
    (tree node expansion, expander, toolbar animation)
- miscellaneous other things

I would propose to add settings for

- disabling repeat (boolean)
- repeat speed (float, say from 1 (very slow) - 100 (very fast))
- scrolling speed (float)
- disabling animation (boolean)
- animation speed (float)

My idea for the speed settings would be to use them as factors for
the current timeout values, and adjust the range so that we can go
from something like twice as fast as the current value to say 5 times
slower. Does that sound reasonable ?

For many things, we actually have a separate timeout for the initial
delay before a repeat or scrolling kicks in. Do we need a separate
setting to modify that ?

Regards, Matthias 

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