[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: TortoiseMerge GUI Issue with External Monitor

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 13 Apr 2017 23:16:20 +0200

On 13.03.2017 13:50, Oto BREZINA, Printflow wrote:
> Hi Stefan,
> Let me get back to this toppic, I'm still having problem with maximizing
> TortoiseMerge on secondary monitor.
> My setup is as follow:
> +-----------------------+
> | 2: 1920 x 1200 |
> +==============+
> +==============+
> | 1: 1920 x 1080 |
> +-----------------------+
> Im running Windows 10 with task bar is on top of monitor 1, and bottom
> of monitor 2. Each 40 pix of height.
> When maximizing On monitor 2 TortoseMerge is sized to appx 1906 (7 pix
> from left, and 7px from right) x 1313px (some offset on top).
> Just noticed while taskbar auto hiding is disabled, the issue does not
> appear. Also when moving taskbars here and there issue resolves itself.
> Then connecting third monitor make issue reappear.
> I hope this will help you to repeat and fix this issue.
> I do understand this is not most important issue at all, but you may
> imagine it is kinda annoying as maximized T-Merge covers other windows ...

I'm very sorry, but I can't fix this problem.

First: you can see the same problem with just one monitor as well:
* make the task bar auto-hide
* maximize the window
--> the window is maximized, but there's a big gap on the right and the

Now, here's why I can't fix this:
when the task bar is set to auto-hide, the window can't just be
maximized like if the task bar is always visible: if the window would
maximize as usual, you then couldn't make the auto-hide task bar visible
by moving the mouse pointer to the edge: the maximized window would
cover the whole desktop, and therefore the mouse pointer couldn't move
over the taskbar border to make it visible again.
So MFC has to make sure that the window is not maximized to the full
monitor dimensions but to the size minus 2 pixels on the side where the
task bar is located.
But when MFC is doing that (no bugs there, I checked), Windows itself
'corrects' those dimensions further, i.e. it adds even more space on two
sides (not just the side on which the task bar is located). That's why
you get those gaps.

While there are apps that don't have a title bar that still manage to
maximize correctly, MFC doesn't: those apps keep their own maximized
state and don't use the real Window maximized state (WS_MAXIMIZE flag of
a window) - those apps just simulate the maximize state and don't use
the real flag.

it would require to rewrite a lot of the MFC code for me to do that -
something I won't do because that would mean to compile MFC from the
sources myself.

Maybe I someday find a workaround, but after three days of stepping
through code I'm giving up for now.


   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest interface to (Sub)version control
    /_/   \_\     http://tortoisesvn.net
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2017-04-15 02:14:16 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.