Loading ...
Sorry, an error occurred while loading the content.

Completion popup window flicker while typeing keys

Expand Messages
  • mattn
    Hi list. When completion popup is displayed, the popup window flicker with typing several keys. ... asdfasdf1 asdfasdf1211 asdfasdf12222 asdfasdf123222
    Message 1 of 8 , Jun 10, 2013
    • 0 Attachment
      Hi list.

      When completion popup is displayed, the popup window flicker with typing
      several keys.

      --------------
      asdfasdf1
      asdfasdf1211
      asdfasdf12222
      asdfasdf123222
      asdfasdf123223
      asdfasdf13
      asdfasdf2
      --------------

      1. type <c-x><c-n><c-p> at empty line
      show popup window and clear candidate.

      2. type 'asdf12' immediately

      I guess this causes is calling update_screen(0). When typing some keys while
      completing, update_screen(0) is called every time. But update_screen(0) is
      called at follow:

      * when showing popup
      * when closing popup
      * when resized popup

      So I'm thinking it don't need to call update_screen(0) while completing.
      However, redrawing status_line is needed.

      How do you think? Below is a patch.

      https://gist.github.com/5747173

      I make sure this patch fixes the flicker.

      Thanks.
      - Yasuhiro Matsumoto

      --
      --
      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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Bram Moolenaar
      ... Have you tried a completion near the end of the line, where inserting the completed word makes the rest of the text move down? If I remember correctly
      Message 2 of 8 , Jun 10, 2013
      • 0 Attachment
        Yasuhiro Matsumoto wrote:

        > When completion popup is displayed, the popup window flicker with typing
        > several keys.
        >
        > --------------
        > asdfasdf1
        > asdfasdf1211
        > asdfasdf12222
        > asdfasdf123222
        > asdfasdf123223
        > asdfasdf13
        > asdfasdf2
        > --------------
        >
        > 1. type <c-x><c-n><c-p> at empty line
        > show popup window and clear candidate.
        >
        > 2. type 'asdf12' immediately
        >
        > I guess this causes is calling update_screen(0). When typing some keys while
        > completing, update_screen(0) is called every time. But update_screen(0) is
        > called at follow:
        >
        > * when showing popup
        > * when closing popup
        > * when resized popup
        >
        > So I'm thinking it don't need to call update_screen(0) while completing.
        > However, redrawing status_line is needed.
        >
        > How do you think? Below is a patch.
        >
        > https://gist.github.com/5747173
        >
        > I make sure this patch fixes the flicker.

        Have you tried a completion near the end of the line, where inserting
        the completed word makes the rest of the text move down? If I remember
        correctly this caused the screen to be messed up.

        --
        All true wisdom is found on T-shirts.

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

        --
        --
        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 vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      • mattn
        ... ... I can reproduce this at top the line and bottom both. -- -- You received this message from the vim_dev maillist. Do not top-post! Type your
        Message 3 of 8 , Jun 10, 2013
        • 0 Attachment
          On Monday, June 10, 2013 8:21:48 PM UTC+9, Bram Moolenaar wrote:
          > Yasuhiro Matsumoto wrote:
          <snip>
          > Have you tried a completion near the end of the line, where inserting
          > the completed word makes the rest of the text move down? If I remember
          > correctly this caused the screen to be messed up.

          I can reproduce this at top the line and bottom both.

          --
          --
          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 vim_dev+unsubscribe@....
          For more options, visit https://groups.google.com/groups/opt_out.
        • Ben Fritz
          ... I haven t tried the patch. I m slightly concerned about removing a redraw during completion, because of this discussion which resulted in patch 807
          Message 4 of 8 , Jun 10, 2013
          • 0 Attachment
            On Monday, June 10, 2013 3:00:45 AM UTC-5, mattn wrote:
            > Hi list.
            >
            > When completion popup is displayed, the popup window flicker with typing
            > several keys.
            >
            > [snip]
            >
            > So I'm thinking it don't need to call update_screen(0) while completing.
            > However, redrawing status_line is needed.
            >
            > How do you think? Below is a patch.
            >
            > https://gist.github.com/5747173
            >
            > I make sure this patch fixes the flicker.
            >

            I haven't tried the patch. I'm slightly concerned about removing a redraw during completion, because of this discussion which resulted in patch 807 *adding* a redraw of the popup menu: http://vim.1045645.n5.nabble.com/Omnicomplete-shows-strange-behavior-when-preview-window-is-enabled-td5713611.html

            The patch at least modifies different code, but I cannot tell at a glance whether it might cause a regression. I'll see if I can try it out at home later this week if nobody beats me to it.

            --
            --
            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 vim_dev+unsubscribe@....
            For more options, visit https://groups.google.com/groups/opt_out.
          • mattn
            ... I re-write patch. https://gist.github.com/6240255 When redrawing popup menu, it don t need to redraw FORCELY. This patch seems to be working by leaps and
            Message 5 of 8 , Aug 15, 2013
            • 0 Attachment
              On Tuesday, June 11, 2013 12:54:35 AM UTC+9, Ben Fritz wrote:
              > On Monday, June 10, 2013 3:00:45 AM UTC-5, mattn wrote:
              > I haven't tried the patch. I'm slightly concerned about removing a redraw during completion, because of this discussion which resulted in patch 807 *adding* a redraw of the popup menu: http://vim.1045645.n5.nabble.com/Omnicomplete-shows-strange-behavior-when-preview-window-is-enabled-td5713611.html
              >
              > The patch at least modifies different code, but I cannot tell at a glance whether it might cause a regression. I'll see if I can try it out at home later this week if nobody beats me to it.


              I re-write patch.

              https://gist.github.com/6240255

              When redrawing popup menu, it don't need to redraw FORCELY.
              This patch seems to be working by leaps and bound. Most of flicker was removed.

              Thanks.
              - Yasuhiro Matsumoto

              --
              --
              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 vim_dev+unsubscribe@....
              For more options, visit https://groups.google.com/groups/opt_out.
            • mattn
              ... But become crash. -- -- You received this message from the vim_dev maillist. Do not top-post! Type your reply below the text you are
              Message 6 of 8 , Aug 15, 2013
              • 0 Attachment
                On Thursday, August 15, 2013 8:57:42 PM UTC+9, mattn wrote:
                > https://gist.github.com/6240255
                >
                > When redrawing popup menu, it don't need to redraw FORCELY.
                > This patch seems to be working by leaps and bound. Most of flicker was removed.

                But <c-x><c-o><c-p><c-p> become crash.

                --
                --
                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 vim_dev+unsubscribe@....
                For more options, visit https://groups.google.com/groups/opt_out.
              • mattn
                ... How about this? https://gist.github.com/6240621 Removing duplicate forcely update_screen. This seems working good for me. - Yasuhiro Matsumoto -- -- You
                Message 7 of 8 , Aug 15, 2013
                • 0 Attachment
                  On Thursday, August 15, 2013 9:02:51 PM UTC+9, mattn wrote:
                  > On Thursday, August 15, 2013 8:57:42 PM UTC+9, mattn wrote:
                  > > https://gist.github.com/6240255
                  > >
                  > > When redrawing popup menu, it don't need to redraw FORCELY.
                  > > This patch seems to be working by leaps and bound. Most of flicker was removed.
                  >
                  > But <c-x><c-o><c-p><c-p> become crash.

                  How about this?

                  https://gist.github.com/6240621

                  Removing duplicate forcely update_screen.

                  This seems working good for me.

                  - Yasuhiro Matsumoto

                  --
                  --
                  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 vim_dev+unsubscribe@....
                  For more options, visit https://groups.google.com/groups/opt_out.
                • mattn
                  ... Ah, Sorry It seems statusline must be redrawn. https://gist.github.com/6240679 -- -- You received this message from the vim_dev maillist. Do not
                  Message 8 of 8 , Aug 15, 2013
                  • 0 Attachment
                    On Thursday, August 15, 2013 9:58:18 PM UTC+9, mattn wrote:
                    > How about this?
                    >
                    > https://gist.github.com/6240621
                    >
                    > Removing duplicate forcely update_screen.
                    >
                    > This seems working good for me.
                    >
                    > - Yasuhiro Matsumoto

                    Ah, Sorry It seems statusline must be redrawn.

                    https://gist.github.com/6240679

                    --
                    --
                    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 vim_dev+unsubscribe@....
                    For more options, visit https://groups.google.com/groups/opt_out.
                  Your message has been successfully submitted and would be delivered to recipients shortly.