On Monday, July 11, 2016 at 12:33:28 PM UTC+3, Bram Moolenaar wrote:
> Ramel Eshed wrote:
>
> > > > I'm not sure if this patch was supposed to fix the issue completely,
> > > > but there are still issues with the gui cursor.
> > > >
> > > > 1) When job output is redirected to a buffer:
> > > >
> > > > vim -u NONE -N
> > > > :new
> > > > :call job_start(['/bin/sh', '-c', 'ls -R / | head -500000'], {
> > > > 'out_io': 'buffer', 'out_buf': 1 })
> > > >
> > > > -The cursor disappears from the upper window (most of the time). Also,
> > > > when the window is not scrolled (if you insert 2 letters before the
> > > > :new) the cursor doesn't blink normally.
> > >
> > > It appears in this case that Vim is 100% busy, there is no time to
> > > update the screen. I added a flush and that helps a little bit. But I
> > > don't see how this can be fixed. Even the timer isn't called at the
> > > right time. Intentionally delaying the read from the channel doesn't
> > > seem like a good solution.
> > >
> > I don't see the first issue now (cursor disappears from the upper window).
> > The cursor still doesn't blink normally though. It doesn't happen in the
> > terminal.
> > >
> > > > 2) When updating the status line:
> > > >
> > > > source the following script:
> > > >
> > > > set laststatus=2
> > > > let tcount = 0
> > > >
> > > > func! Timer_cb(timer)
> > > > let g:tcount += 1
> > > > call setbufvar(1, '&stl', g:tcount)
> > > > endfunc
> > > >
> > > > call timer_start(50, 'Timer_cb', {'repeat': 100})
> > > >
> > > > Both behave very well in the terminal.
> > >
> > > I should be able to fix this.
> > >
> > Looks good now. Thanks!
>
> Glad to hear that.
>
> That finished my todo items in this area. Let me know if your plugin
> still runs into problems.
>
So, there is nothing to do with the gui irregular blinking? I'm not sure how
serious this problem is now after the last few patches which did help (for
example, in my search plugin you can barely notice any issue), but maybe for
commands with more dense output (like in the 'ls' example) it can still be
distractive.
Another minor issue (not related only to the gui): is it possible to update the
output buffer also when editing the command line (I remember that it caused
some problems in the past)?
My search plugin works great now, after taking out all the heavy string
operations from the out callback (I use perl for that now). The only real time
parts that were left are updating the out buffer, which is handled by Vim very
well, and a tiny callback. I've used also more channel features in another
plugin I'm working on, and I'm very happy with Vim's channels design. Many
thanks!
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.