vimaero-snap

Why does gVim resize and reposition itself after some actions?


I started using gVim a few weeks ago. From early on, I noticed however some strange resizing of the complete gVim window when I perform certain actions. I think it is related to my use of Windows Aero Snap (on a Windows 7 x64 system).

Steps to reproduce (with an empty .vimrc file, and my vimfiles folder renamed):

  1. I open gvim
  2. I put my gvim window to the left side of my monitor with (a few taps on) win+left arrow
  3. I create a new tab using :tabe

Result: gVim repositions itself somwehere else on the screen. So I have to reposition it using win+left arrow. Very annoying.

I have it with other tab and window actions as well, like: :vnew, C-W o, ...

Anybody any tips on why this is happening, and what i can do to fix it? I've already emptied my .vimrc file and temporarily renamed my ~/vimfiles folder to rule out the interference of any plugin.

Edit: Following Matthew's reply, and the info on :help bugs, I've send a bug report (this post actually) to bugs@vim.org


Solution

  • gvim can do this sort of thing in some situations with values of guioptions that make GUI controls such as scrollbars or tab page labels appear and disappear. Try the command :set guioptions?.

    If the value displayed includes 'L' or 'R' (which optionally shows vertical scrollbars), it may be your culprit and you can remove the option as described below.

    If it includes 'e', and especially if :set showtabline? shows that option = 1, that can also cause problems, and you could use the methods below to change either setting. (In this case the tab labels line only appears when there are at least two tabs.)

    If it is neither of these, try and spot which parts of the GUI are appearing and disappearing when the problem occurs, and then find the option that controls that behaviour.

    Example of how to fix if the problem value is 'L':

    L is in the default settings, which are (from the help)

    "egmrLtT"   (MS-Windows),
    "aegimrLtT" (GTK, Motif and Athena).
    

    You can therefore run one of these commands to fix it:

    :set guioptions-=L  "just remove L
    :set guioptions=egmrtT    "explicitly set the options you want, as noted you might want to remove 'e' as well
    

    You can add one of these commands to your .vimrc file to always have it set.


    You should definitely upgrade to a later build, there is certainly at least one bug in this area fixed since 7.3.46. That said, there are still problems as of 7.3.703.

    The "Vim without Cream" install is well known to be reliable and kept quite up to date, and provides Vim without the Cream project addons. Future readers may find the bugs are fixed just by upgrading.