0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

updated for version 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)
This commit is contained in:
Bram Moolenaar
2011-08-10 17:44:45 +02:00
parent 17fb0e891a
commit 12bc1b5c9f
4 changed files with 20 additions and 7 deletions

View File

@@ -1407,7 +1407,7 @@ gui_set_shellsize(mustset, fit_to_display, direction)
if (!gui.shell_created) if (!gui.shell_created)
return; return;
#ifdef MSWIN #if defined(MSWIN) || defined(FEAT_GUI_GTK)
/* If not setting to a user specified size and maximized, calculate the /* If not setting to a user specified size and maximized, calculate the
* number of characters that fit in the maximized window. */ * number of characters that fit in the maximized window. */
if (!mustset && gui_mch_maximized()) if (!mustset && gui_mch_maximized())

View File

@@ -3899,6 +3899,21 @@ gui_mch_unmaximize()
gtk_window_unmaximize(GTK_WINDOW(gui.mainwin)); gtk_window_unmaximize(GTK_WINDOW(gui.mainwin));
} }
/*
* 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. * Set the windows size.
*/ */
@@ -4409,14 +4424,9 @@ gui_mch_init_font(char_u *font_name, int fontset UNUSED)
if (gui_mch_maximized()) if (gui_mch_maximized())
{ {
int w, h;
/* Update lines and columns in accordance with the new font, keep the /* Update lines and columns in accordance with the new font, keep the
* window maximized. */ * window maximized. */
gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h); gui_mch_newfont();
w -= get_menu_tool_width();
h -= get_menu_tool_height();
gui_resize_shell(w, h);
} }
else else
{ {

View File

@@ -20,6 +20,7 @@ int gui_mch_get_winpos __ARGS((int *x, int *y));
void gui_mch_set_winpos __ARGS((int x, int y)); void gui_mch_set_winpos __ARGS((int x, int y));
int gui_mch_maximized __ARGS((void)); int gui_mch_maximized __ARGS((void));
void gui_mch_unmaximize __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_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_get_screen_dimensions __ARGS((int *screen_w, int *screen_h));
void gui_mch_settitle __ARGS((char_u *title, char_u *icon)); void gui_mch_settitle __ARGS((char_u *title, char_u *icon));

View File

@@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
279,
/**/ /**/
278, 278,
/**/ /**/