[Bugs] #398 NORM: View Source: search support

Sugar Labs Bugs bugtracker-noreply at sugarlabs.org
Sat Mar 20 06:42:28 EDT 2010

#398: View Source: search support
    Reporter:  sascha_silbe  |          Owner:  timClicks        
        Type:  enhancement   |         Status:  accepted         
    Priority:  Normal        |      Milestone:  0.90             
   Component:  sugar         |        Version:  Git as of bugdate
    Severity:  Minor         |       Keywords:  sugar-love       
Distribution:  Unspecified   |   Status_field:  New              

Comment(by timclicks):

 Replying to [comment:6 timclicks]:
 >  Problems::
 >   Non-greedy search. Stops after encountering the first match.

 This isn't actually correct. There function stops at an optional limit. So
 this approach looks fine to use.

 <silbe> timClicks: can you time-bound
 gtksourceview2.iter_forward_search(), e.g. by letting it search only up to
 a maximum distance / certain point in the text?
 <timClicks> yes
 <timClicks> it has a limit argument
 <timClicks> i'll check, but I'm fairly certain it's byte-bound, not time-
 <silbe> timClicks: then my first suggestion would be to run it (if
 necessary repeatedly) in the "idle" loop.
 <silbe> timClicks: doing it this way evades almost all of the pitfalls of
 multithreading / multiprocessing
 <timClicks> i see
 <timClicks> does that loop only do something if nothing else requests cpu
 * timClicks thinks of boinc/seti at home as an analogy
 <silbe> timClicks: if you like, you can measure the time the call took and
 tweak the number of bytes, or call it repeatedly until the time limit is
 reached. The only important thing is to bound the maximum time it takes
 well enough to make the GUI feel responsive.
 <timClicks> i see
 <timClicks> i wanted the gui to be such that you didn't need to hit Ctrl+F
 <timClicks> e.g. if you have view source open, you start typing
 <timClicks> once you push esc, the string clears
 <silbe> timClicks: it's called whenever the GUI main loop is "idle" (i.e.
 not processing user actions or invoking callbacks); it doesn't depend on
 the behaviour of other processes or threads.
 <silbe> timClicks: ah, so iterative search. very nice.
 <silbe> timClicks: oh, and please change to cursor (tomeu posted a link on
 sugar-devel some days ago) while it's searching / doing highlighting in
 the background so the user knows the input was accepted

Ticket URL: <https://bugs.sugarlabs.org/ticket/398#comment:7>
Sugar Labs <http://sugarlabs.org/>
Sugar Labs bug tracking system

More information about the Bugs mailing list