BetterSnapTool Snap To Top & Custom Snap Area Erratic Snapping Behavior

I have been using BetterSnapTool since October without issue. Within the past several weeks, it has ceased to function properly. Attempting to use Snap To Top or my custom snap areas only intermittently snap the window to the defined snap areas and instead snaps the window to some random location, sometimes spanning multiple monitors. Neither restarting BST nor my MacBook reliably fixes the issue.

Configuration: BetterSnapTool 1.8 on MacBook Pro (with or without 2 external 1080p displays) running MacOS 10.13.4.

Hi Keith,

there hasn't been a change in BetterSnapTool. Can you think of any other app you installed that could conflict?
(One known app that breaks all window snapping apps is the dragon dictation software)

Thanks for your reply, @Andreas_Hegenberg. I have never used Dragon Naturally Speaking. The only applications I have installed and kept within the past 2 months are:

  • Franz
  • AnyTrans
  • EpiChrome

However, the problem persists regardless of whether or not these apps are running.

A variety of applications have updated in that timeframe:

  • Microsoft Office
  • Google Chrome
  • WebStorm
  • Zoom
  • Skype
  • OneDrive
  • Xcode
  • Safari
  • Backup and Sync from Google
  • Slack

Could you maybe try whether you encounter the same behavior with my main app, BetterTouchTool?
I have recently made some small improvements to the snapping code (which will also come to BetterSnapTool soon), they are supposed to improve compatibility with some problematic apps.

If you have purchased BetterSnapTool you can get a free two year standard license for BetterTouchTool (just click the "Get Free License" button in the registration view)

It can be downloaded via https://folivora.ai/downloads

Thanks for the response (and cross-licensing!), @Andreas_Hegenberg. I downloaded and installed BTT but unfortunately I get the same unpredictable window snapping behavior using it with its default settings as I did using BST.

In looking at my App Store update history, the following updates were installed in the last 30 days:

  • Xcode
  • OneDrive
  • Security Update 2018-001

I unfortunately cannot precisely date the time when BST stopped working, but I am wondering whether it wasn't when Apple Security Update 2018-001 installed.

Still stuck,
Keith

Probably not the security update, otherwise I would have received many other reports about the issue :confused:

The behavior doesn't change whether the external displays are connected or not?

Correct. I just verified by restarting with both external displays completely disconnected. The BTT snap area outlines appear correctly when I drag the window to the top or sides of the screen, but when I release the mouse button, the window snaps to some arbitrary location unrelated to the snap area shown.

Here's another clue: Some application windows do still seem to snap properly, including Microsoft Office, & Apple Calendar. Others, such as Google Chrome and Apple Mail jump to arbitrary locations.

I still assume it is a conflict with some other app which causes this, but I have no idea which one (as I haven't had similar reports yet and am unable to reproduce it on any of my test systems :worried: )

Usually when something like this happens the macOS window resizing API got "stuck", but this is fixed by a system restart - which you already tried. Maybe resetting the PRAM could help (but I doubt it) http://osxdaily.com/2010/11/15/reset-pram-mac/

Hi, I'm a BetterSnapTool user (for years), and I've found that BST fails consistently in the OSX Slack Desktop app, and Firefox. Keyboard shortcuts are registered, but a Slack or Firefox window will usually change to an undefined size and the window position changes.

Here's a screencast of the behaviour I see in BST and BTT vs Firefox:

HTH, regards, ptim

BST 1.8
BTT 2.315 (695)
Firefox 60.0.2
OSX 10.12.6

hmm.. I should say that in the video above I'm toggling between snap half left, half right, and fullscreen, in a varying sequence... any other window sizes are unexpected.

Have you tried to restart your machine? This looks like an issue that can happen on older macOS versions if the Apple resizing API got confused.

hi, using BetterSnapTool for many years. Since 5 month i have the same problems.
macOS Sierra with last official patches.
Safari is not snapping to the areas anymore. If i drag the windows it draws the preview correctly but once the window becomes released is jumps to different strange positions. Word or Textmaker or Chrome are working fine for instance!
If i use the shortcuts for the snapping ( right and left) it works even with Safari.

Hi @Andreas_Hegenberg :slight_smile: I restart my machine every few days, and this has been happening for months now (only Slack and Firefox). I'll restart now and see if I can replicate the glitch.

Re: @Christian_Drewitz - I almost never drag windows, so the glitches I experience are all triggered by keyboard shortcuts.

Something else occurs to me - In the previous tests, I switched back and forth between BTT and BST, so restarting the apps didn't solve any issues... A quick search suggests that restarting Dock might assist in refreshing the resizing API: https://apple.stackexchange.com/questions/179330/windows-jump-around-when-resizing.

...but killall Dock didn't fix resizing Firefox for me just now :confused:

EDIT: hmm... reply limit reached in this thread :frowning:

Restarting my computer didn't have any effect on the bug, but I do notice a pattern in the glitch...

  • fullscreen always works when the window starts at left-half
  • fullscreen always fails from half-right (window resizes to a narrow width, positioned centre or just left of centre)
  • fullscreen to half-left always works
  • fullscreen to half-right actually results in half-left, triggering half-right a second time works

The pattern being: I can toggle between any of these three states reliably as long as I transition through the half left state.

Hope that helps... Guess I'll try upgrading OSX sooner or later.

If there's more detailed diagnostic data you need, I can repro this sequence reliably...

EDIT: (Sorry... I'm only permitted to edit this item due to forum limits)

So, based on your advice, I've identified that https://timingapp.com/ is the culprit in my setup. I did a pretty comprehensive isolation test, starting with safe mode, but then ramping up to my usual configuration, and timing.app is the definitely to blame. If I start without Timing, then Firefox and Slack snap fine left, right, max, between monitors; as soon as I start Timing, I get the behaviour exhibited above. If I quit Timing (and, most importantly their Menubar app), then restart Firefox, snapping functions reliably.

BTW, I purchased Magnet, and have can reproduce exactly the same behaviour in that app!

@Andreas_Hegenberg - do you have any advice for other app developers on how to avoid glitching window snapping? I'd really rather not sacrifice time tracking!

Resolved!

I reported the bug, linking to this thread, and the dev replied:

I was able to reproduce the issue; you can avoid it by disabling “Advanced Accessibility tracking” in the Timing preferences (see the attached screenshot). Note that this will cause Timing to no longer be able to track Firefox URLs and individual Slack channels in some cases.

Issue solved, tx for reading :smiley:

There are some third party apps that break window snapping, one of them is the Dragon Dictation software, also older versions of the Unclutter app. There are probably more, so maybe try to quit all other apps for testing and see whether that helps.

In general snapping the apps you mentioned should work without issues.

I just ran into this issue myself. Unfortunately it turns out to be a macOS bug. However I think I have a workaround that makes it work (although slower than when the system API behaves correctly). I hope I can add the workaround to the next alpha.

Oh I just saw your edits. Actually I know the developer of Timing App, so I'll chat with him to find a better workaround.

If possible please try BTT v2.526 alpha, I worked with the TimingApp developer to identify the root cause of the issue and added a potential workaround. (Turns out to be a bug in specific apps that is triggered by an API used by some other apps like Timing)

I'm still experiencing this issue with Joplin and BTT 3.172. It seems to occur when Joplin's window would be partially offscreen before the resize. If I manually shrink the window then snap it to a custom area it works. The regular snap areas consistently work as expected. I'm not sure if it's exclusively Joplin, but that's where I encounter it most frequently.