Skip to content
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

Dragging the window border to resize the window randomly fails #84315

Closed
ghost opened this issue Nov 8, 2019 · 14 comments · Fixed by #85698
Closed

Dragging the window border to resize the window randomly fails #84315

ghost opened this issue Nov 8, 2019 · 14 comments · Fixed by #85698
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug layout General VS Code workbench layout issues verified Verification succeeded
Milestone

Comments

@ghost
Copy link

ghost commented Nov 8, 2019

Issue Type: Bug
Another issue that only ever happens because this is an electron app.
Gif demonstrating the issue:
2019-11-08-17-31-01

VS Code version: Code 1.40.0 (86405ea, 2019-11-06T17:02:13.381Z)
OS version: Windows_NT x64 10.0.18362

System Info
Item Value
CPUs Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (8 x 1800)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
protected_video_decode: enabled
rasterization: enabled
skia_renderer: disabled_off
surface_control: disabled_off
surface_synchronization: enabled_on
video_decode: enabled
viz_display_compositor: enabled_on
viz_hit_test_surface_layer: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 7.89GB (2.76GB free)
Process Argv
Screen Reader no
VM 0%
Extensions (14)
Extension Author (truncated) Version
rainbow-brackets 2gu 0.0.6
matlab-formatter Aff 2.4.12
vscode-dash dee 2.2.0
EditorConfig Edi 0.14.2
terminal for 0.0.10
matlab Gim 1.4.0
latex-workshop Jam 8.3.1
python ms- 2019.10.44104
remote-ssh ms- 0.47.2
remote-ssh-edit ms- 0.47.2
remote-wsl ms- 0.40.2
sublime-keybindings ms- 4.0.3
latex-utilities tec 0.3.4
latex-support tor 3.1.0

(1 theme extensions excluded)

@sbatten
Copy link
Member

sbatten commented Nov 8, 2019

I'm having trouble reproducing this. Can you confirm a few settings:

  1. window.titleBarStyle
  2. Your screen resolution
  3. Multi-monitor?
  4. OS Scaling settings

@sbatten sbatten added the info-needed Issue requires more information from poster label Nov 8, 2019
@ghost
Copy link
Author

ghost commented Nov 9, 2019

@sbatten
The sidebar and activity bar are hidden, I don't expect it to show up from dragging what looks like the window border.

I don't know if this is just a "feature" that feels like a hack, or if it is an actual bug. If this is really what's supposed to happen, how would I ever know this without feeling annoyed or without having some UI hint in the window, like a drag handle or a cursor change or some visual indicator that these are actually different things, or something else.

This really just feels like it shouldn't work to me.

  1. Native
  2. Fullhd
  3. No.
  4. Text is 100%, scaling is 125%, vscode has zoomlevel = -1.

@vscodebot vscodebot bot removed the new release label Nov 11, 2019
@sbatten
Copy link
Member

sbatten commented Nov 11, 2019

can reproduce with native titlebar

@sbatten sbatten added bug Issue identified by VS Code Team member as probable bug layout General VS Code workbench layout issues and removed info-needed Issue requires more information from poster labels Nov 11, 2019
@sbatten sbatten added this to the November 2019 milestone Nov 11, 2019
@joaomoreno
Copy link
Member

joaomoreno commented Nov 14, 2019

@pedrogarcia Please mind your manners, there's no need for that kind of language. As you can tell, you're getting direct support from the actual engineers on the project within hours of you filling the issue. Please try to show some appreciation simply by behaving cordially. Thanks.


@sbatten I wonder if we should disable the snapping out mechanism on the far edges of the window? Works fine for sidebar due to activity bar and for panel due to status bar.

@ghost
Copy link
Author

ghost commented Nov 14, 2019

@joaomoreno I updated the comments to remove the lack of cordiality.

@sbatten
Copy link
Member

sbatten commented Nov 14, 2019

@joaomoreno I thought it was disabled. I think it should be.

@joaomoreno
Copy link
Member

joaomoreno commented Nov 18, 2019

@sbatten It's not... The splitview doesn't know anything about the far edges of the window. Needs thought on how it should be implemented. Maybe something to disable snapping on far edges of the grid, which for the workbench that means the window itself.

@sbatten
Copy link
Member

sbatten commented Nov 26, 2019

@joaomoreno remind me why the edges of a grid or splitview would have sashes. In cases I can think of, they are always within some other view that has its own sashes, right?

@joaomoreno
Copy link
Member

joaomoreno commented Nov 26, 2019

They are snapping sashes.

@sbatten
Copy link
Member

sbatten commented Nov 26, 2019

I thought we discussed that snapping sashes should not work if touching the edge of the containing view.

@joaomoreno
Copy link
Member

That can't be the rule, otherwise the panel sash wouldn't work at all, since it's the last sash of that splitview. The rule must be set at the grid level and state something like snapping sashes should not work if at the edge of the grid. And even then it must be an option, since not all grids would behave in such a way (imagine @bpasero introduces snapping in his layer). I'm sketching something up. 👍

@sbatten
Copy link
Member

sbatten commented Nov 27, 2019

Ah that's what I was trying to recall, thanks. Snapping in the editor grid could get pretty dicey. What would happen if you snapped an editor away next to the sidebar? What would that sash represent? I think at that point we would need some multi sash disambig UX. But this is all theoretical.

@joaomoreno
Copy link
Member

Let's write a paper for it first!

@joaomoreno
Copy link
Member

joaomoreno commented Nov 27, 2019

OK that was a lot more work than expected, #85698, since basically I had to propagate dimensions and positions down the grid node tree in order for each splitview to know whether it is at an edge of the grid. On top of that I had to have properties to disable snapping on each end of any given splitview.

So, if a view is snapped right at the one of the edges of the grid's full dimensions, it won't be possible to drag it out into view using the mouse any more. This is now hard coded for every grid since we only have two grids in the workbench and only the outer one uses snapping; this grid happens to span the full Electron window. The behavior can easily be turned into grid settings (one boolean per edge) in case we ever require snapping out at edges again.

sandy081 pushed a commit that referenced this issue Nov 28, 2019
sandy081 pushed a commit that referenced this issue Nov 28, 2019
@RMacfarlane RMacfarlane added the verified Verification succeeded label Dec 5, 2019
@vscodebot vscodebot bot locked and limited conversation to collaborators Jan 14, 2020
@joaomoreno joaomoreno added verified Verification succeeded and removed verified Verification succeeded labels Nov 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug layout General VS Code workbench layout issues verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants