dgurkaynak / Penc

Trackpad-oriented window manager for macOS
https://deniz.co/penc/
MIT License
1.11k stars 25 forks source link

1.0 not working on Catalina #28

Open drldcsta opened 2 years ago

drldcsta commented 2 years ago

I recently upgraded to Penc 1.0.0(1536) and upon relaunch the app no longer works. I can activate penc using the normal hotkey (double press & hold cmd) however the entire screen turns grey and gestures do not control any individual windows. I

I've tried restarting my laptop and uninstalling / reinstalling (via brew).

A fresh download of 0.41 from brew works, but once I upgrade to 1.0.0 it breaks again.

This is on a MBPi7 running 10.15.7.

Please let me know if there's any other info I can provide. Happy to capture logs or anything like that.

dgurkaynak commented 2 years ago

Hey @drldcsta, I also use Catalina and can confirm launching Penc at login works for me.

If you're using your mac with reduce transparency option on (System Preferences > Accessibility > Display > Reduce transparency), it's normal to see gray background instead of blurred overlay when Penc is activated.

To control a window, you should move the cursor on top of it, and its border should turn into blue, then you can control it. This is what you're doing, right?

drldcsta commented 2 years ago

Hey, thx so much for replying!

I checked and I do have reduce transparency set (and greyed out. I'll look into that). I went back to 1.0.0 to test and what I've found is if I activate penc repeatedly sometimes I will get what looks to be the new interface for moving windows around, but more often than not the entire screen (both screens) will be covered by an opaque grey overlay and nothing is interact-able.

Sometimes when I activate I will get the correct interface, but it does not seem to have any relation to what window is in focus or is being hovered by my house. EG, I have two browser windows open and when I activate penc now the other one takes focus within penc.

Additionally, I'm only ever able to get penc to work with some apps. It never seems to recognize finder windows or spotify, just my various browsers (I use several at once).

One pattern I've noticed is that if a window is full screened, or is just pushed to the top of the screen I'm way more likely to not be able to get the interface to pop up.

I made a screen recording of what I'm seeing. This is actually the best I've gotten it to work. Usually ~9/10 attempts is just a grey screen. But even in this case you can see I have one window focused, and when I activate only the other instance of the browser gets the penc interface on it.

(side note, I'm complaining a lot, but Penc is easily one of my fav apps so I hope I don't sound too obnoxious).

dgurkaynak commented 2 years ago

Ahah no worries, and thank you for your time to report this issue and for your kind words 🙏

I just see your video, that's not how it supposed to look. With v1.0, I started to use another accessibility function (CGWindowListCopyWindowInfo) to get all the visible windows on the screen, and I suspect that sometimes it doesn't return some windows.

Can you record the same video with logging enabled please? To launch Penc with logging enabled, you can: open /Applications/Penc.app --args --enable-logging. After that you should see a log file located in /tmp/penc.log.

Btw, when a window is fullscreened (green button at the top left), or in split-view mode, Penc doesn't show any window for that screen, because they're not movable & resizable.

drldcsta commented 2 years ago

Hey, sorry so much for going dark and not responding. Life...ya know? Anyway, I was setting up a new machine and I think I figured out what the issue is and I wanted to report back:

I think the problem is I have desktop icons disabled via $ defaults write com.apple.finder CreateDesktop false. When I flip that to true things appear to work as expected.

I'm probably going to roll back to 0.41 on this new machine anyway as I prefer the old workflow anyway, but wanted to let you know in case this is helpful for anyone else.

malicious commented 11 months ago

Still reproduces on macOS 13.5; having CreateDesktop false prevents the window outlines (or anything, really) from being drawn on Penc activation.

(I haven't proven this, but I would guess that the way Finder draws desktop icons is one of the windows that Penc is hardcoded to look for, and if it's missing, we draw in the wrong place.)