To: vim_dev@googlegroups.com
Subject: Patch 7.3.279
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------
Patch 7.3.279
Problem: With GTK, when gvim is full-screen and a tab is opened and using a
specific monitor configuration the window is too big.
Solution: Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
*** ../vim-7.3.278/src/gui.c 2011-06-26 04:48:56.000000000 +0200
--- src/gui.c 2011-08-10 17:40:31.000000000 +0200
***************
*** 1407,1413 ****
if (!gui.shell_created)
return;
! #ifdef MSWIN
/* If not setting to a user specified size and maximized, calculate the
* number of characters that fit in the maximized window. */
if (!mustset && gui_mch_maximized())
--- 1407,1413 ----
if (!gui.shell_created)
return;
! #if defined(MSWIN) || defined(FEAT_GUI_GTK)
/* If not setting to a user specified size and maximized, calculate the
* number of characters that fit in the maximized window. */
if (!mustset && gui_mch_maximized())
*** ../vim-7.3.278/src/gui_gtk_x11.c 2011-06-26 04:48:56.000000000 +0200
--- src/gui_gtk_x11.c 2011-08-10 17:42:19.000000000 +0200
***************
*** 3900,3905 ****
--- 3900,3920 ----
}
/*
+ * Called when the font changed while the window is maximized. Compute the
+ * new Rows and Columns. This is like resizing the window.
+ */
+ void
+ gui_mch_newfont()
+ {
+ int w, h;
+
+ gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h);
+ w -= get_menu_tool_width();
+ h -= get_menu_tool_height();
+ gui_resize_shell(w, h);
+ }
+
+ /*
* Set the windows size.
*/
void
***************
*** 4409,4422 ****
if (gui_mch_maximized())
{
- int w, h;
-
/* Update lines and columns in accordance with the new font, keep the
* window maximized. */
! gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h);
! w -= get_menu_tool_width();
! h -= get_menu_tool_height();
! gui_resize_shell(w, h);
}
else
{
--- 4424,4432 ----
if (gui_mch_maximized())
{
/* Update lines and columns in accordance with the new font, keep the
* window maximized. */
! gui_mch_newfont();
}
else
{
*** ../vim-7.3.278/src/proto/gui_gtk_x11.pro 2010-08-15 21:57:28.000000000 +0200
--- src/proto/gui_gtk_x11.pro 2011-08-10 17:42:29.000000000 +0200
***************
*** 20,25 ****
--- 20,26 ----
void gui_mch_set_winpos __ARGS((int x, int y));
int gui_mch_maximized __ARGS((void));
void gui_mch_unmaximize __ARGS((void));
+ void gui_mch_newfont __ARGS((void));
void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction));
void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
void gui_mch_settitle __ARGS((char_u *title, char_u *icon));
*** ../vim-7.3.278/src/version.c 2011-08-10 17:25:48.000000000 +0200
--- src/version.c 2011-08-10 17:43:22.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
{ /* Add new patch number below this line */
+ /**/
+ 279,
/**/
--
LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall?
ARTHUR: No, that's Saint Ives.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- Bram@Moolenaar.net -- 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 ///