Monday, August 30, 2010

Re: Fwd: gvim window auto shrinks in openSUSE

On Saturday 28 August 2010 6:10:44 am Vivek Bhat wrote:
> On Saturday, August 28, 2010 08:22:49 am member thudfoo wrote:
> > On Fri, Aug 27, 2010 at 5:52 PM, Daniel Nelson <torham@connect2.com>
wrote:
> > > On Friday 27 August 2010 7:35:53 am Vivek Bhat wrote:
> > >> Hasn't any one else faced this problem... ?
> > >
> > > This seems to only be an issue with certain window managers. It looks
> > > like your using kde, which has had this case filed for a couple years
> > > https://bugs.kde.org/show_bug.cgi?id=158974
> > >
> > > I've noticed that not all window managers have this behavior. Whether
> > > its kwin or gvim's fault, or even if it is really a bug, I'm not sure.
> > > --
> > > Daniel
> >
> > The only windows in opensuse KDE3 that exhibit this behavior are those
> > of gvim, in my experience. This is strong evidence that the behavior
> > is a bug. A gvim bug. An ugly gvim bug.
>
> Whether bug or a feature, it is irritating. Everytime I maximize or open
> new tabs gvim tries to adjust its window. I am having a workaround right
> now, not nice one, but better than before. Click "windows operations menu"
> (ALT+F3 in KDE), then Advanced --> Special Application Settings. Go to
> "Windows Extra" tab, select only "Normal Window", deselect everything
> else. Now go to "Geometry" tab tick the "Size" option. Then fill up
> whatever size you need for gvim. But now, the gvim window can not be
> restored or maximized, it will just be in size what you have filled.
>
> Thanks,
> Vivek

Looks like the cause is vim using GDK_HINT_RESIZE_INC, which tells gtk to
resize the window only in certain increments. You can disable this easily
with the change below. The side effect is that the gvim window can have nearly
a character sized border at certain sizes, there is also some weirdness when
you set certain gui elements to be visible. It seems like the kwin ignore
requested geometry workaround should take care of this, so maybe its not
working correctly.

diff -r b619655b31db src/gui_gtk_x11.c
--- a/src/gui_gtk_x11.c Mon Jul 12 21:38:19 2010 +0200
+++ b/src/gui_gtk_x11.c Mon Aug 30 00:34:01 2010 -0600
@@ -3086,7 +3086,7 @@
geometry.base_height = height;
geometry.min_width = min_width;
geometry.min_height = min_height;
- geometry_mask = GDK_HINT_BASE_SIZE|GDK_HINT_RESIZE_INC
+ geometry_mask = GDK_HINT_BASE_SIZE
|GDK_HINT_MIN_SIZE;

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