New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 8.1 issue - AltDrag seems to work only a portion of a window #7

Open
grpmpk opened this Issue Jul 4, 2014 · 18 comments

Comments

@grpmpk

grpmpk commented Jul 4, 2014

I have a Surface 1 Pro with Windows 8.1 installed with the latest updates. For some reason, AltDrag has issues with Windows 8.1:

  1. I can Alt+LeftClick and move the window so long as I am clicking the left side of the window, that is, as long as the mouse cursor was hovering over less than ~50% (very approximate) of the width of the window. Seems to have the same issue too with the height: I have to be clicking on the top side of the window.
  2. Consequently, if I alt-drag beyond the approximate 50%, say the lower right hand of the window, drastic effects can be seen, e.g., the icons on the desktop would be dragged away from their position.

It's hard to explain by words and I don't have the means to record by video at the moment. For the time being, is my description of the issue clear? If not, please let me know so I can clarify.

@stefansundin

This comment has been minimized.

Owner

stefansundin commented Jul 4, 2014

That's a curios issue. I do not have access to a Surface to try it out myself, and it is working fine for me on my Windows 8.1 computer. If anyone can figure out how to reproduce it on a normal desktop setup, I'd be happy to try to fix it.

Try changing your display settings, e.g. DPI and other things. Maybe you'll find what setting makes it happen. Thanks for reporting!

@grpmpk

This comment has been minimized.

grpmpk commented Jul 6, 2014

You were right about the DPI. In Windows 8.1, by going into Control Panel > Appearance and Personalization > Display, and setting the "Change the size of all items" all the way to the right towards Larger (which is the Recommended Size, according to the corresponding thumbnail), I was able to replicate the scenario I've described reliably.

When I set it all the way to the left towards Smaller, AltDrag works as I expected. However, all my window elements are smaller, which is non-ideal.

I only have one Windows 8.1 machine (my Surface 1 Pro), so if someone else can replicate this scenario on their own Windows 8.1 box, I (and I think the developer too) would appreciate it.

@Aldaviva

This comment has been minimized.

Aldaviva commented Jul 31, 2014

I think I'm seeing related behavior.

Environment

  • Windows 8.1
  • Desktop computer, not Surface Pro
  • Samsung U28D590 4K monitor (3840 x 2160)
  • Default settings for font scaling and "Change the size of all items"

Observations

  • When I change my resolution to 1920 x 1080, AltDrag behaves normally.
  • When I change my resolution to native 3840 x 2160, AltDrag exhibits two issues:
    • If I Alt+click outside the top-left quarter of a window's region, the click is ignored.
    • If I Alt+click inside the top-left quarter of a window's region, AltDrag thinks I started dragging from a different position in the window so the window is shifted by hundreds of pixels when I first start dragging. After starting to drag, it behaves normally.
@Aldaviva

This comment has been minimized.

Aldaviva commented Jul 31, 2014

Workaround

  1. Right-click on AltDrag.exe > Properties > Compatibility tab
  2. Check the box for "Disable display scaling on high DPI displays"
  3. Restart Alt-Drag

Now Alt-Drag behaves correctly no matter where in the window I start dragging from, even at native resolution.

@stefansundin

This comment has been minimized.

Owner

stefansundin commented Jul 31, 2014

Thank you for the workaround, I will link it from the website. I hope I can fix this permanently for the next version.

@grpmpk

This comment has been minimized.

grpmpk commented Jul 31, 2014

Thanks for the workaround, I can confirm that the workaround works for my Surface Pro 1, hooray!

However, and sorry to continue being the bearer of bad news, but if I use DOUBLE monitors, the workaround only works for the Surface Pro 1 screen, and not the other monitor (even with the workaround).

I imagine that this is a separate, but related, use case?

@Aldaviva

This comment has been minimized.

Aldaviva commented Jul 31, 2014

I would characterize Windows 8.1's support for multiple displays with different pixel densities as "infuriating."

@LordJZ

This comment has been minimized.

LordJZ commented Jul 31, 2014

I couldn't agree more.

@rog1039

This comment has been minimized.

rog1039 commented Jan 20, 2015

Thanks, worked for me too!

@sethbc

This comment has been minimized.

sethbc commented Aug 1, 2015

Issue persists in Windows 10, but would note the fix works as well (I'm running two 4K monitors @ 150% scaling, so haven't tried different pixel densities).

@TopTenTiger

This comment has been minimized.

TopTenTiger commented Oct 7, 2015

Ahh finally. This workaround should be out there, not hidden in the issue tracker. Tell about it in the docs/installer? More and more people get 1440p+ screens now and altdrag cocks up if DPI-scaling isn't disabled.

@stefansundin

This comment has been minimized.

Owner

stefansundin commented Oct 7, 2015

It is mentioned on the website, but you are right of course, if I can't fix the problem for the next version, then I'll probably add a note in the installer. Sorry.

@LMLB

This comment has been minimized.

@dmwyatt

This comment has been minimized.

dmwyatt commented Jul 13, 2017

The recommended fix does not exactly work on the latest version of Windows 10.

"Disable display scaling on high DPI displays" is no long an option. There's new options.

Windows 10 DPI DPI options for compatibility mode

You have to select "Application".

@Tahutipai

This comment has been minimized.

Tahutipai commented Aug 15, 2017

Note: as of 2017-August this program returns positive on 3/64 tests on virustotal.com - returns positive for "Win32.Trojan.WisdomEyes". Any comments from author?

@stefansundin

This comment has been minimized.

Owner

stefansundin commented Aug 15, 2017

@Tahutipai I am not surprised, since AltDrag uses keyboard and mouse hooks (and HookWindows, disabled by default, does even more invasive stuff). Many antivirus manufacturer uses heuristics to try to detect programs that does suspicious things. However, heuristics can't tell you for sure if something is malicious.

Here's the two scans:

In the second one you can clearly see that it is some kind of heuristics by the name, "W32.eHeur.Malware12". The first one just says "Win32.Trojan.WisdomEyes.16070401" which is less clear.

Anyway, the only thing I can say is that it's clearly bogus. Please compile it yourself if you are worried, there are instructions here: https://stefansundin.github.io/altdrag/doc/build.html

In any case, thanks for reporting it! If I get the time I might submit false positive reports to the antivirus vendors.

@roblarky

This comment has been minimized.

roblarky commented Jan 26, 2018

Try adding this to the manifest:

`

<windowsSettings>
  <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
  <!-- legacy -->
  <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness>
  <!-- falls back to pm if pmv2 is not available -->
</windowsSettings>

`

@davebrny

This comment has been minimized.

davebrny commented Sep 18, 2018

thanks @dmwyatt, i havnt been able to use altdrag since i got a surface book last year. such a simple fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment