in _vimrc add this option: set go+=F
here is patch file:
-----------------------------------------------------<<< cut from here
>>>-----------------------------------------------------
diff -Nur vim7o\src/feature.h vim7\src/feature.h
--- vim7o\src/feature.h 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/feature.h 2008-04-17 20:05:00.000000000 +0800
@@ -745,6 +745,11 @@
# define FEAT_TOOLBAR
#endif
+#define FEAT_GUI_FULLSCR
+#if defined(FEAT_GUI_FULLSCR)
+#define FEAT_FULLSCR
+#endif
+
#if defined(FEAT_TOOLBAR) && !defined(FEAT_MENU)
# define FEAT_MENU
diff -Nur vim7o\src/gui.c vim7\src/gui.c
--- vim7o\src/gui.c 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/gui.c 2008-04-17 20:02:34.000000000 +0800
@@ -3125,6 +3125,9 @@
static int prev_toolbar = -1;
int using_toolbar = FALSE;
#endif
+#ifdef FEAT_GUI_FULLSCR /*mooling*/
+ static int prev_fullsrn = -1;
+#endif
#ifdef FEAT_GUI_TABLINE
int using_tabline;
#endif
@@ -3164,6 +3167,7 @@
}
}
gui.menu_is_active = FALSE;
+ gui.full_is_active = FALSE;
#endif
for (i = 0; i < 3; i++)
@@ -3203,6 +3207,11 @@
using_toolbar = TRUE;
break;
#endif
+#ifdef FEAT_FULLSCR
+ case GO_FULLSRN:
+ gui.full_is_active = TRUE;
+ break;
+#endif
#ifdef FEAT_FOOTER
case GO_FOOTER:
using_footer = TRUE;
@@ -3306,6 +3315,16 @@
fix_size = TRUE;
}
#endif
+
+#ifdef FEAT_FULLSCR
+ if(gui.full_is_active != prev_fullsrn)
+ {
+ gui_mch_show_fullscr(gui.full_is_active);
+ prev_toolbar = gui.full_is_active;
+ need_set_size = RESIZE_BOTH;
+ fix_size = TRUE;
+ }
+#endif
#ifdef FEAT_FOOTER
if (using_footer != prev_footer)
{
diff -Nur vim7o\src/gui.h vim7\src/gui.h
--- vim7o\src/gui.h 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/gui.h 2008-04-17 19:20:44.000000000 +0800
@@ -299,6 +299,7 @@
int menu_width; /* Width of the menu bar */
# endif
char menu_is_active; /* TRUE if menu is present */
+ char full_is_active;
# ifdef FEAT_GUI_ATHENA
char menu_height_fixed; /* TRUE if menu height fixed */
# endif
diff -Nur vim7o\src/gui_w32.c vim7\src/gui_w32.c
--- vim7o\src/gui_w32.c 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/gui_w32.c 2008-04-17 20:03:22.000000000 +0800
@@ -338,6 +338,10 @@
static int get_toolbar_bitmap(vimmenu_T *menu);
#endif
+#ifdef FEAT_FULLSCR
+static void initialise_fullscr(void);
+#endif
+
#ifdef FEAT_GUI_TABLINE
static void initialise_tabline(void);
#endif
@@ -429,6 +433,28 @@
return (os_version.dwPlatformId == VER_PLATFORM_WIN32s);
}
+#ifdef FEAT_FULLSCR
+ static int
+gui_mswin_get_full_height(void)
+{
+ if (gui.full_is_active)
+ return 0;
+ else
+ return
GetSystemMetrics(SM_CYCAPTION)+GetSystemMetrics(SM_CYFRAME)
* 2;
+}
+ static int
+gui_mswin_get_full_width(void)
+{
+ if (gui.full_is_active)
+ return 0;
+ else
+ return GetSystemMetrics(SM_CXFRAME) * 2;
+}
+
+
+#endif
+
+
#ifdef FEAT_MENU
/*
* Figure out how high the menu bar is at the moment.
@@ -1562,6 +1588,12 @@
*/
initialise_toolbar();
#endif
+#ifdef FEAT_FULLSCR
+ /*
+ * Full Screen Initialise
+ */
+ initialise_fullscr();
+#endif
#ifdef FEAT_GUI_TABLINE
/*
* Create the tabline
@@ -1602,7 +1634,7 @@
_MONITORINFO moninfo;
/* use these functions only if available */
- if (pMonitorFromWindow != NULL && pGetMonitorInfo != NULL)
+ if (0 && pMonitorFromWindow != NULL && pGetMonitorInfo != NULL)
{
/* work out which monitor the window is on, and get *it's* work area
*/
mon = pMonitorFromWindow(s_hwnd, 1 /*MONITOR_DEFAULTTOPRIMARY*/);
@@ -2526,7 +2558,9 @@
* the window size can be made to fit on the screen. */
*screen_h = workarea_rect.bottom - workarea_rect.top
- GetSystemMetrics(SM_CYFRAME) * 2
+#ifndef FEAT_FULLSCR
- GetSystemMetrics(SM_CYCAPTION)
+#endif
#ifdef FEAT_MENU
- gui_mswin_get_menu_height(FALSE)
#endif
@@ -4164,6 +4198,16 @@
}
#endif
+#if defined(FEAT_GUI_FULLSCR)
+
+ static void
+initialise_fullscr(void)
+{
+ gui_mch_show_fullscr(vim_strchr(p_go, GO_FULLSRN) != NULL);
+}
+
+
+#endif
#if defined(FEAT_GUI_TABLINE) || defined(PROTO)
static void
initialise_tabline(void)
diff -Nur vim7o\src/gui_w48.c vim7\src/gui_w48.c
--- vim7o\src/gui_w48.c 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/gui_w48.c 2008-04-17 19:24:50.000000000 +0800
@@ -132,6 +132,8 @@
static void _OnPaint( HWND hwnd);
static void clear_rect(RECT *rcp);
static int gui_mswin_get_menu_height(int fix_window);
+static int gui_mswin_get_full_height(void);
+static int gui_mswin_get_full_width(void);
static WORD s_dlgfntheight; /* height of the dialog font */
static WORD s_dlgfntwidth; /* width of the dialog font */
@@ -2240,6 +2242,42 @@
#endif
+#if defined(FEAT_FULLSCR)
+ void
+gui_mch_show_fullscr(int showit)
+{
+ LONG style = GetWindowLong(s_hwnd, GWL_STYLE);
+ static LONG old_style = 0;
+
+ if(showit)
+ {
+ if (old_style == 0)
+ old_style = style;
+ style &= ~(WS_DLGFRAME | WS_THICKFRAME | WS_CAPTION |
WS_BORDER);
+ style &= ~WS_MAXIMIZEBOX;
+ SetWindowLong(s_hwnd, GWL_STYLE, style);
+ SetWindowPos(s_hwnd,NULL,0,0,
+ GetSystemMetrics(SM_CXSCREEN),
+ GetSystemMetrics(SM_CYSCREEN),
+ SWP_NOZORDER|SWP_NOACTIVATE);
+ ShowWindow(s_hwnd, SW_MAXIMIZE);
+ }
+ else
+ {
+ if (old_style == 0)
+ {
+ old_style = style;
+ return;
+ }
+
+ SetWindowLong(s_hwnd, GWL_STYLE, old_style);
+ ShowWindow(s_hwnd, SW_NORMAL);
+ }
+}
+
+
+#endif
+
#if defined(FEAT_GUI_TABLINE) || defined(PROTO)
static void
add_tabline_popup_menu_entry(HMENU pmenu, UINT item_id, char_u
*item_text)
@@ -3091,10 +3129,18 @@
GetWindowRect(s_hwnd, &rect);
gui_resize_shell(rect.right - rect.left
+#ifdef FEAT_FULLSCR
+ - gui_mswin_get_full_width(),
+#else
- GetSystemMetrics(SM_CXFRAME) * 2,
+#endif
rect.bottom - rect.top
+#ifdef FEAT_FULLSCR
+ - gui_mswin_get_full_height()
+#else
- GetSystemMetrics(SM_CYFRAME) * 2
- GetSystemMetrics(SM_CYCAPTION)
+#endif
#ifdef FEAT_MENU
- gui_mswin_get_menu_height(FALSE)
#endif
diff -Nur vim7o\src/option.h vim7\src/option.h
--- vim7o\src/option.h 2008-04-17 11:28:44.000000000 +0800
+++ vim7\src/option.h 2008-04-17 16:08:44.000000000 +0800
@@ -216,6 +216,7 @@
#define GO_CONDIALOG 'c' /* use console dialog */
#define GO_TABLINE 'e' /* may show tabline */
#define GO_FORG 'f' /* start GUI in foreground */
+#define GO_FULLSRN 'F' /* Full Screen modified by mooling*/
#define GO_GREY 'g' /* use grey menu items */
#define GO_HORSCROLL 'h' /* flexible horizontal scrolling */
#define GO_ICON 'i' /* use Vim icon */
diff -Nur vim7o\src/proto/gui_w32.pro vim7\src/proto/gui_w32.pro
--- vim7o\src/proto/gui_w32.pro 2008-04-17 11:28:04.000000000 +0800
+++ vim7\src/proto/gui_w32.pro 2008-04-17 19:34:52.000000000 +0800
@@ -34,6 +34,7 @@
long_u gui_mch_get_rgb __ARGS((guicolor_T pixel));
void gui_mch_activate_window __ARGS((void));
void gui_mch_show_toolbar __ARGS((int showit));
+void gui_mch_show_fullscr __ARGS((int showit));
void gui_mch_show_tabline __ARGS((int showit));
int gui_mch_showing_tabline __ARGS((void));
void gui_mch_update_tabline __ARGS((void));
-----------------------------------------------------<<< cut from here
>>>-----------------------------------------------------
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---