diff --git a/Greenshot/releases/package.bat b/Greenshot/releases/package.bat index 6697ca0ed..6429af806 100644 --- a/Greenshot/releases/package.bat +++ b/Greenshot/releases/package.bat @@ -16,7 +16,9 @@ pause del releases\Greenshot-NO-INSTALLER.zip mkdir releases\NO-INSTALLER -echo dummy config, used to make greenshot store the configuration in this directory > releases\NO-INSTALLER\greenshot.ini +echo ;dummy config, used to make greenshot store the configuration in this directory > releases\NO-INSTALLER\greenshot.ini +echo ;In this file you should add your default settings > releases\NO-INSTALLER\greenshot-defaults.ini +echo ;In this file you should add your fixed settings > releases\NO-INSTALLER\greenshot-fixed.ini xcopy /S bin\Release\Plugins releases\NO-INSTALLER\Plugins\ copy /B bin\Release\checksum.MD5 releases\NO-INSTALLER copy /B bin\Release\Greenshot.exe releases\NO-INSTALLER diff --git a/GreenshotPlugin/Core/WindowsHelper.cs b/GreenshotPlugin/Core/WindowsHelper.cs index f879b60d7..cd93f900a 100644 --- a/GreenshotPlugin/Core/WindowsHelper.cs +++ b/GreenshotPlugin/Core/WindowsHelper.cs @@ -600,6 +600,13 @@ namespace GreenshotPlugin.Core { if (isApp) { // IAppVisibility appVisibility = COMWrapper.CreateInstance(); // if (appVisibility != null) { + //foreach (Screen screen in Screen.AllScreens) { + // RECT rect = new RECT(screen.Bounds); + // IntPtr monitor = User32.MonitorFromRect(ref rect, User32.MONITOR_DEFAULTTONULL); + // if (monitor != IntPtr.Zero) { + // LOG.DebugFormat("Monitor {0} has hMonitor {1}", screen.DeviceName, monitor); + // } + //} // IntPtr monitor = User32.MonitorFromWindow(Handle, User32.MONITOR_DEFAULTTONULL); // if (monitor != IntPtr.Zero) { // LOG.DebugFormat("Monitor = {0}", monitor); @@ -826,11 +833,11 @@ namespace GreenshotPlugin.Core { if (!Maximised) { // Assume using it's own location formLocation = windowRectangle.Location; - using (Region workingArea = new Region(Screen.PrimaryScreen.WorkingArea)) { + using (Region workingArea = new Region(Screen.PrimaryScreen.Bounds)) { // Find the screen where the window is and check if it fits foreach (Screen screen in Screen.AllScreens) { if (screen != Screen.PrimaryScreen) { - workingArea.Union(screen.WorkingArea); + workingArea.Union(screen.Bounds); } } @@ -840,7 +847,7 @@ namespace GreenshotPlugin.Core { foreach (Screen screen in Screen.AllScreens) { Rectangle newWindowRectangle = new Rectangle(screen.WorkingArea.Location, windowRectangle.Size); if (workingArea.AreRectangleCornersVisisble(newWindowRectangle)) { - formLocation = screen.WorkingArea.Location; + formLocation = screen.Bounds.Location; doesCaptureFit = true; break; }