On Tue, 11 Aug 2015 17:33:44 +0200 Cedric BAIL <[email protected]> said:
> On Tue, Aug 11, 2015 at 4:32 PM, Christopher Barry > <[email protected]> wrote: > > On Tue, 11 Aug 2015 09:02:56 +0900 > > Carsten Haitzler (The Rasterman) <[email protected]> wrote: > >>On Mon, 10 Aug 2015 09:17:46 -0400 Christopher Barry > >><[email protected]> said: > >>> On Mon, 10 Aug 2015 10:40:40 +0200 > >>> Pierre Couderc <[email protected]> wrote: > >>> > >>> >I have a (very) small problem when editing C++ : > >>> > > >>> ><code> > >>> > > >>> >///////////////////// C++? comment > >>> >o=f; > >>> > > >>> ></code> > >>> > > >>> >if I click on //// it opens me file:/// in the browser... > >>> > > >>> >I understand that usually it is wanted, but in the current case it > >>> >is not... > >>> > > >>> > >>> Seems like that feature, not at all limited to Terminology mind > >>> you, an handy as it may be at times, really should require a modifier > >>> key when clicked to do anything (or a right-click). > >>> Highlighting/Copying text that is 'hot' like this is also a PITA > >>> because of this UI feature. > >>> > >>> Overall, I would say it generally causes the computer a lot of > >>> parsing work for nothing. Now, if the parsing only occurred when the > >>> mouse was over a string and ctl-alt (or whatever) was pressed, and > >>> then it resolved it as a link and then clicking it would go there, > >>> then that would be quite useful, performant and unobtrusive. > >> > >>it only parses when the mouse is over a link - no mods. the parsing is > >>nothing really work-wise. you can also still select just fine. its a > >>click without a drag (no selection) that causes the link to be > >>activated. the only obtrusiveness is the visual underline. > > > > First, Terminology is written with a lot of love, creativity and > > craftsmanship and it shows, and I'm not bashing it. I'm not using > > terminology right now, but I was a while back, and things like running > > apt-get update that would display a bunch of links as it scrolled by, > > and with the mouse pointer over the window, seemed to me at the time to > > be doing a lot of work for no required reason that no other terminal I > > am aware of would have done. Was it 'a lot' in the grand scheme? Dunno. > > Was it 'more' and unneeded? Yes. I recall it seeming to consume a lot > > of cycles on that, as the underlining lagged the scrolling quite > > visibly, but that could have simply been my perception. I personally > > found it visually disconcerting and pointless. When my build broke for > > some reason, it was one of the reasons I just switched back to > > lxterminal, rather than figuring out what caused the build breakage. > > Yes, I have also noticed that during scrolling we may drop some frame > due to the link parsing. I am guessing it would be just a fine patch link parsing has nothing to do with it. read the code. it's TRIVIAL. _termio_link_find(). try time how long that takes and see if that is causing a frame drop. it won't. it just snarfs out a utf8 string with termio_selection_get () from a given coord range (which just walks cells and adds chars to a buffer) then looks at string to see what it starts with etc. and if it needs extending, is a url or is not. most of the time it is not. thats all called from _smart_mouseover_delay() which is triggered from a delayed job - so 0.05 seconds ... so as long as mouse moves at least once every 1/20th of a second... nothing will be looked for. maybe it should also consider an scroll action due to new input to delay this too, not just a mouse move. it won't re-parse just because content changed. it requires your mouse to move. it likely should cancel the link on any scroll and queue a reparse with the same job as opposed to leave a danglining link, and any ypdates to the region the link is over should queue the same job. but it isn't re-parsing every time your terminal scrolls at all. it simply doesnt have code to do that. it does it when your mouse moves or mouse wheel is rolled. > to trigger the parsing in an idler that would be triggered only when > the scrolling is done. That would stop unecessary cost. And you are > also right that this is only a feeling as this doesn't affect the > timing of running any command in the shell, it just drop some frame (I > did some benchmarking on the subject a while back). > > > I guess my point about it, and it's just my opinion, is that needing to > > click a link that appears in a terminal (for me) is probably the less > > followed code path, therefore it should probably require a modifier or > > context menu to activate. And, maybe should require the text being > > highlighted *before* ever wasting even one cycle thinking about it... > > > > Something like: > > > > highlight-> > > right-click-> > > context-menu->[Copy|Follow|Open|Run|Search|Locate|etc.] > > > > is still very useful and a bit cleaner UI presentation-wise IMHO. > > > > And, having that action list in the menu be easily configurable and > > extensible would be very, very useful indeed. > > That is an interesting feature request. I think you should open a > ticket on phab just for that feature alone. i think it's a poor feature as it hides the fact that links are even known about to the user. its an extra codepath that needs maintaining ad we have too many of these in e and efl by now. this is just a "no" to feature imho because the complaints are based on totally false ideas that this is consuming any reasonable amount of cpu. if u dont like it - disable "active links". no more links for you then. but ANOTHER option to only show on right click, then only show when modifier is pressed (then have to configure modifier, track modifier press/release) is just a waste of code, maintenance and time. fixing the parser to realize it's a c++ comment and ignore would make this all go away and requires no options and far less code than anything else suggested here. > Thanks, > -- > Cedric BAIL > > ------------------------------------------------------------------------------ > _______________________________________________ > enlightenment-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ _______________________________________________ enlightenment-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
