summaryrefslogtreecommitdiff
path: root/src/gui.h
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-04-28 19:46:49 +0200
committerBram Moolenaar <Bram@vim.org>2019-04-28 19:46:49 +0200
commitafde13b62b8fa25dac4635d5caee8d088b937ee0 (patch)
tree6a8b58aa58e180e55b2948e5d0bfdbc3d4692a49 /src/gui.h
parentab4cece6053b0bfd604e15065227b94af873608b (diff)
downloadvim-git-afde13b62b8fa25dac4635d5caee8d088b937ee0.tar.gz
patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exev8.1.1230
Problem: A lot of code is shared between vim.exe and gvim.exe. Solution: Optionally put the shared code in vim.dll. (Ken Takata, closes #4287)
Diffstat (limited to 'src/gui.h')
-rw-r--r--src/gui.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui.h b/src/gui.h
index f5f05706f..a16f0986e 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -237,6 +237,16 @@ typedef long guicolor_T; /* handle for a GUI color; for X11 this should
# endif
#endif
+#ifdef VIMDLL
+// Use spawn when GUI is starting.
+# define GUI_MAY_SPAWN
+
+// Uncomment the next definition if you want to use the `:gui` command on
+// Windows. It uses `:mksession` to inherit the session from vim.exe to
+// gvim.exe. So, it doesn't work perfectly. (EXPERIMENTAL)
+//# define EXPERIMENTAL_GUI_CMD
+#endif
+
typedef struct Gui
{
int in_focus; /* Vim has input focus */
@@ -245,6 +255,9 @@ typedef struct Gui
int shell_created; /* Has the shell been created yet? */
int dying; /* Is vim dying? Then output to terminal */
int dofork; /* Use fork() when GUI is starting */
+#ifdef GUI_MAY_SPAWN
+ int dospawn; /* Use spawn() when GUI is starting */
+#endif
int dragged_sb; /* Which scrollbar being dragged, if any? */
win_T *dragged_wp; /* Which WIN's sb being dragged, if any? */
int pointer_hidden; /* Is the mouse pointer hidden? */