joelpt / sidewise

Persistent sidebar extension for Chrome featuring tree style tabs and tab hibernation.
Creative Commons Zero v1.0 Universal
68 stars 13 forks source link

Fix Mac/Linux issues #11

Open joelpt opened 12 years ago

joelpt commented 12 years ago

Mac and Linux have a few unique issues:

rgough-vbi commented 12 years ago

After enabling Sidewise on OS X (10.7), the main Chrome window oscillates between two sizes, making it necessary to disable, which is not easy with that window behavior.

joelpt commented 12 years ago

Trying this out on OSX 10.7.3 I am unfortunately not able to reproduce the problem as you describe with all default settings.

What sizes is it oscillating between (small or large difference, which edges are changing)?

Is the sidebar visible while this is going on? If so, if you close just the sidebar, does the oscillating stop?

What version of Chrome are you seeing this on?

Does this happen immediately after install, or after the monitor detection process, or at some other point?

rgough-vbi commented 12 years ago

Just tried it on a much larger screen, and the oscillating did not begin until I clicked the green maximize button. Fairly large difference, maybe 100px in each direction: right and lower edges are the ones that change. Chrome 21.0.1180.75.

joelpt commented 12 years ago

Aha! It's related to the "allow Sidewise to unmaximize the dock window" option ... since maximize doesn't actually maximize Chrome to full screen on OSX like it does on Windows, this seems to be catching it up.

Can you try disabling this option, then try maximizing the main window, and see if the problem goes away?

rgough-vbi commented 12 years ago

That specific problem goes away, but another one arises when I try to maximize the browser: the Sidewise window gets hidden by the main window. Also, trying to resize can trigger the oscillation again. (Which, by the way, makes it very difficult to click stuff. :)

joelpt commented 12 years ago

OK, I think I've got this all fixed now. Can you update the extension and test again? To do that you can either reinstall the extension, or just go to Chrome's Manage Extensions page, check the "Developer mode" box in the upper right, then click "Update extensions now" below that. After updating you should be at version 2012.8.14.0 as listed in the upper right of the Sidewise options page.

Basically I am now ignoring the "maximized" window state on OSX, and instead just treating all OSX windows as "not maximized" regardless of what Chrome claims. From what I can tell here, this has fixed all the "oscillation" problems you mention above.

I've also hidden the "allow unmaximize" option from the options page when on OSX, since this function only really makes sense on OS's that maximize to fullscreen anyway.

Thank you so much for the bug report and testing!

rgough-vbi commented 12 years ago

Getting closer! However, when I click the green "maximize" button, the main window maximizes, but also hides the Sidewise window. I can get it like I'd want it by dragging the upper left corner of the main window to the right until the Sidewise window is where I want it on the left side.

joelpt commented 12 years ago

Does it sound correct that when you maximize the main window, the sidebar is still attached to the left side of the main window, but the main window is at the edge of the screen thereby putting the sidebar off-screen?

Also, when the main window is somewhere in the middle of the screen and you maximize it, is that shifting the main window to the left edge of the screen? On my OSX, when I maximize in this scenario, the Chrome window just gets wider (and fills the available vertical space), but retains its left-edge position.

rgough-vbi commented 12 years ago

Para. 1: yes

Para. 2: there is no horizontal shift, only the bottom edge goes to the bottom

joelpt commented 12 years ago

OK. I'm not going to implement a fix for this immediately, but am considering it a high priority fix.

What I think needs to happen here is after any resize/move operation, Sidewise needs to verify that the sidebar (and dock window) didn't wind up off-screen; and if they did then shift them over so they both fit on screen.

I'm going to need to give this one some careful thought, to make sure the right thing happens in all the possible cases.

For example, if you drag the edge of the dock-window which is attached to the sidebar real close to the edge of the screen, doing the "shift everything back onto screen" thing is probably not a desirable behavior. In that case, it might make more sense to shrink the sidebar's width to keep it fit on screen, up until it hits Chrome's minimum-window-width (100px or so), at which point we should probably just let the sidebar go off the edge of the screen. I'm not totally sure, it probably needs a bit of experimentation to see what behavior feels right. There a few more cases like this (e.g. multi monitor setups) that need careful handling.

Leaving this issue open until I address all this in a satisfactory way. Happy to hear the oscillation issue is fixed though!

rgough-vbi commented 12 years ago

Thanks, Joel. Take your time. This has great potential, as I know many folks, like myself, are hanging on to Firefox just to have Tree Style Tabs. Good luck!

theiceman commented 11 years ago

on Linux with Chrome 21 and sidewise docked to left (or right) as your drag the main browser window - the SW window get smaller and smaller

not happening with fixed position