summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.393
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2012-09-26 01:10:42 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:51:55 +0200
commit9664bee729d487bcc0a0bc35859f8e13d5421c75 (patch)
treeb428a16618e36ed864a8d76ea3435e19a452bf90 /source/ap/vim/patches/7.3.393
parent75a4a592e5ccda30715f93563d741b83e0dcf39e (diff)
downloadcurrent-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.gz
current-9664bee729d487bcc0a0bc35859f8e13d5421c75.tar.xz
Slackware 14.0slackware-14.0
Wed Sep 26 01:10:42 UTC 2012 Slackware 14.0 x86_64 stable is released! We're perfectionists here at Slackware, so this release has been a long time a-brewing. But we think you'll agree that it was worth the wait. Slackware 14.0 combines modern components, ease of use, and flexible configuration... our "KISS" philosophy demands it. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Thanks to everyone who helped make this happen. The Slackware team, the upstream developers, and (of course) the awesome Slackware user community. Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.3.393')
-rw-r--r--source/ap/vim/patches/7.3.393130
1 files changed, 130 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.393 b/source/ap/vim/patches/7.3.393
new file mode 100644
index 000000000..ca6cbc96d
--- /dev/null
+++ b/source/ap/vim/patches/7.3.393
@@ -0,0 +1,130 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.393
+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.393
+Problem: Win32: When resizing Vim it is always moved to the primary monitor
+ if the secondary monitor is on the left.
+Solution: Use the nearest monitor. (Yukihiro Nakadaira)
+Files: src/gui_w32.c
+
+
+*** ../vim-7.3.392/src/gui_w32.c 2011-12-15 21:51:32.000000000 +0100
+--- src/gui_w32.c 2012-01-04 20:25:58.000000000 +0100
+***************
+*** 1661,1669 ****
+ {
+ RECT workarea_rect;
+ int win_width, win_height;
+- int win_xpos, win_ypos;
+ WINDOWPLACEMENT wndpl;
+- int workarea_left;
+
+ /* Try to keep window completely on screen. */
+ /* Get position of the screen work area. This is the part that is not
+--- 1661,1667 ----
+***************
+*** 1685,1693 ****
+ GetWindowPlacement(s_hwnd, &wndpl);
+ }
+
+- win_xpos = wndpl.rcNormalPosition.left;
+- win_ypos = wndpl.rcNormalPosition.top;
+-
+ /* compute the size of the outside of the window */
+ win_width = width + GetSystemMetrics(SM_CXFRAME) * 2;
+ win_height = height + GetSystemMetrics(SM_CYFRAME) * 2
+--- 1683,1688 ----
+***************
+*** 1697,1732 ****
+ #endif
+ ;
+
+! /* There is an inconsistency when using two monitors and Vim is on the
+! * second (right) one: win_xpos will be the offset from the workarea of
+! * the left monitor. While with one monitor it's the offset from the
+! * workarea (including a possible taskbar on the left). Detect the second
+! * monitor by checking for the left offset to be quite big. */
+! if (workarea_rect.left > 300)
+! workarea_left = 0;
+! else
+! workarea_left = workarea_rect.left;
+
+! /* If the window is going off the screen, move it on to the screen.
+! * win_xpos and win_ypos are relative to the workarea. */
+ if ((direction & RESIZE_HOR)
+! && workarea_left + win_xpos + win_width > workarea_rect.right)
+! win_xpos = workarea_rect.right - win_width - workarea_left;
+
+! if ((direction & RESIZE_HOR) && win_xpos < 0)
+! win_xpos = 0;
+
+ if ((direction & RESIZE_VERT)
+! && workarea_rect.top + win_ypos + win_height > workarea_rect.bottom)
+! win_ypos = workarea_rect.bottom - win_height - workarea_rect.top;
+
+! if ((direction & RESIZE_VERT) && win_ypos < 0)
+! win_ypos = 0;
+!
+! wndpl.rcNormalPosition.left = win_xpos;
+! wndpl.rcNormalPosition.right = win_xpos + win_width;
+! wndpl.rcNormalPosition.top = win_ypos;
+! wndpl.rcNormalPosition.bottom = win_ypos + win_height;
+
+ /* set window position - we should use SetWindowPlacement rather than
+ * SetWindowPos as the MSDN docs say the coord systems returned by
+--- 1692,1723 ----
+ #endif
+ ;
+
+! /* The following should take care of keeping Vim on the same monitor, no
+! * matter if the secondary monitor is left or right of the primary
+! * monitor. */
+! wndpl.rcNormalPosition.right = wndpl.rcNormalPosition.left + win_width;
+! wndpl.rcNormalPosition.bottom = wndpl.rcNormalPosition.top + win_height;
+
+! /* If the window is going off the screen, move it on to the screen. */
+ if ((direction & RESIZE_HOR)
+! && wndpl.rcNormalPosition.right > workarea_rect.right)
+! OffsetRect(&wndpl.rcNormalPosition,
+! workarea_rect.right - wndpl.rcNormalPosition.right, 0);
+
+! if ((direction & RESIZE_HOR)
+! && wndpl.rcNormalPosition.left < workarea_rect.left)
+! OffsetRect(&wndpl.rcNormalPosition,
+! workarea_rect.left - wndpl.rcNormalPosition.left, 0);
+
+ if ((direction & RESIZE_VERT)
+! && wndpl.rcNormalPosition.bottom > workarea_rect.bottom)
+! OffsetRect(&wndpl.rcNormalPosition,
+! 0, workarea_rect.bottom - wndpl.rcNormalPosition.bottom);
+
+! if ((direction & RESIZE_VERT)
+! && wndpl.rcNormalPosition.top < workarea_rect.top)
+! OffsetRect(&wndpl.rcNormalPosition,
+! 0, workarea_rect.top - wndpl.rcNormalPosition.top);
+
+ /* set window position - we should use SetWindowPlacement rather than
+ * SetWindowPos as the MSDN docs say the coord systems returned by
+*** ../vim-7.3.392/src/version.c 2012-01-04 19:34:32.000000000 +0100
+--- src/version.c 2012-01-04 20:28:57.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+ { /* Add new patch number below this line */
++ /**/
++ 393,
+ /**/
+
+--
+I wonder, do vegetarians eat fruit bats?
+
+ /// 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 ///