Sunday, January 1, 2012

Re: How to get updated winwidth() after :set guifont ?

> On 01/01/12 16:37, Zhao Cai wrote:
>> Problem: Right after `set guifont=…`, `winwidth()` returns the old win width instead of the new width which would be changed by new guifont size.
>>
>> I tried to call `redraw` between but it does not work.
>>
>> Any suggestion? Thanks.
>>
>> - Zhao
>>
>
> Experiments here show the following (while typing ex-commands manually in gvim 7.3.390 with GTK2/Gnome2 GUI):
>
> If the GUI is maximized (truly maximized, not just with :set lines=999 columns=9999 but by clicking the Maximize menu or widget), it is anchored to the screen borders; in that case setting a smaller font will increase 'lines', 'columns' and also winwidth(0)
>
> If the GUI is not truly maximized, then setting a smaller font will keep 'lines' and 'columns' unchanged and reduce the pixel size of the GUI. In that case winwidth(0) is also kept unchanged.
>
> Trying to set 'lines' or 'columns' to a value bigger than the available screen space (also by increasing the 'guifont' size) will cause Vim to reduce 'lines' and 'columns' to something no bigger than what is now available onscreen. In this case winwidth(0) may also get reduced.
>
> With no vertical splits present, I always see winwidth(0) == &columns

Thanks for your answer!

> If you see something else, please answer the following:
>
> - Which GUI flavour? (macvim, GTK2, Motif, Windows, …)
MacVim
> - Which Vim version and patch level?
7.3 (2010 Aug 15, compiled Nov 10 2011 17:45:40)
> - Compiled by yourself (from which sources) or downloaded precompiled (from where)?
Precompiled newest snapshot
> - Exact steps to reproduce; actual results; expected results

I just retested a few more times. The problem happens only when I use mac lion's native full screen. For normal full screen, the winwidth function works just fine.

Command I use: `let &guifont = 'Bitstream Vera Sans Mono:h18' | echomsg winwidth(0)`

Detailed version info
```
:version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 10 2011 17:45:40)
MacOS X (unix) version
Included patches: 1-353
Compiled by Bjorn Winckler <bjorn.winckler@gmail.com>
Huge version with MacVim GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind
+cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() +fullscreen -gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +mouse_urxvt +multi_byte +multi_lang -mzscheme +netbeans_intg +odbeditor +path_extra +perl +persistent_undo +postscript +printer +profile
+python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo
+termresponse +textobjects +title +toolbar +transparency +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset +xim
-xsmp -xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X_UNIX -no-cpp-precomp -g -O2 -arch i386 -D_FORTIFY_SOURCE=1
Linking: gcc -L. -L. -arch i386 -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon -lncurses -liconv -framework Cocoa -fstack-protector -L/usr/local/lib -L/System/Librar
y/Perl/5.12/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -framework Python -framework Ruby
```

> Best regards,
> Tony.
> --
> The devil finds work for idle circuits to do.
>
> --
> You received this message from the "vim_use" 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 from the "vim_use" 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

No comments:

Post a Comment