On Friday, August 24, 2012 9:49:12 PM UTC+2, Richard wrote:
> https://github.com/megaannum/forms:
> ... a TUI form has to reside within the Vim/GVim window; it can not 
> be moved outside of the text area

Maybe it would be nice if the drawing could be done anywhere on the 
screen.  The simplest way to achieve this would be to expose the C 
function screen_puts_len in VimL. I've done something similar in 
if_python for the vimuiex plugin, the patch for gvim ans some 
screenshots are available here:

   http://sourceforge.net/projects/vimuiex/files/vimpatch/
   http://vimuiex.sourceforge.net/

A more complex solution would be to introduce real pupup windows in C 
and expose them in VimL. I've done this in another experiment which 
adds a popup window to Vim which can then be used with the VimL 
function popuplist(). The code is unfinished, but it's good enough for 
may daily work. The version of vimuiex from SVN relies heavily on it.  
The popup window implements its own event loop by calling Vim's 
internal functions safe_getvc and vpeekc. Drawing is implemented 
through writer objects which call various screen_* functions in the 
end. A window manager that would manage multiple popup windows is 
planned.

The code is available in the repository

   http://code.google.com/r/markomahnic-vim-popuplist/

in the vim-popuplist branch. The code is written in a kind of 
object-oriented C and it has to be preprocesses with mmoocc.py before 
it can be compiled.  I use the sctipts make-ux-gtk and make-cygwin to 
build, eg.:

  hg update vim-popuplist
  bash make-ux-gtk.sh -a
  bash make-ux-gtk.sh

Marko


-- 
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

Raspunde prin e-mail lui