Skip to content

Feature: (Mostly) AI-Attempt on Issue #798 Support resizable Groups#799

Open
emilkrebs wants to merge 10 commits intojupyterlab:mainfrom
emilkrebs:main
Open

Feature: (Mostly) AI-Attempt on Issue #798 Support resizable Groups#799
emilkrebs wants to merge 10 commits intojupyterlab:mainfrom
emilkrebs:main

Conversation

@emilkrebs
Copy link

Disclaimer:
This PR has been mostly written by Claude Sonnet 4.6 and Opus 4.6 since I do not have a clear overview over the codebase.

It works pretty well I think and I desperately want this feature in Eclipse Theia for a more modern IDE expierence.
I will take some time to review the PR myself but since I am not an expert here feel free to drop your opinion on this :)

Thanks a lot!

Fixes:

#798

emilkrebs and others added 7 commits March 13, 2026 14:16
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
[WIP] Add two-axis resizing for intersecting handles
@emilkrebs emilkrebs changed the title (Mostly) AI-Attempt on Issue #798 Support resizable Groups Feature: (Mostly) AI-Attempt on Issue #798 Support resizable Groups Mar 13, 2026
@krassowski krassowski added the enhancement New feature or request label Mar 13, 2026
Copy link
Member

@krassowski krassowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On https://lumino--799.org.readthedocs.build/en/799/examples/dockpanel/index.html preview it looks like it can work, but it's really hard do know when it will because the cursor does not change to 4-way arrow when on hover.

IMO there ought to be a handle in DOM or some specific pixel size of a corner that you can grab otherwise it will be unintuitive and hard to use.

@emilkrebs
Copy link
Author

On https://lumino--799.org.readthedocs.build/en/799/examples/dockpanel/index.html preview it looks like it can work, but it's really hard do know when it will because the cursor does not change to 4-way arrow when on hover.

IMO there ought to be a handle in DOM or some specific pixel size of a corner that you can grab otherwise it will be unintuitive and hard to use.

Thanks for testing! I agree, makes a lot more sense to increase the area and indicate before dragging. Currently its a bit annoying to use and doesn't have this "clean" feeling like in vscode. I will try to find a better approach!

@emilkrebs
Copy link
Author

emilkrebs commented Mar 17, 2026

image

Updates:

  • cursor upated to move on drag & hover
  • added functionality to style specifaclly on intersection-hover

Example from the image in dockpanel.css

.lm-DockPanel-handle.lm-mod-intersection {
  cursor: move;
  background-color: red;
}

@krassowski
Copy link
Member

I tested it and it works well. I skimmed the code and it looks clean, though I did not read deep into it. It looks like some tests will need updating, e.g.:

❌ @lumino/widgets > SplitPanel > #handleEvent() > keydown > should release the mouse if Escape is pressed
AssertionError: expected [ 'pointerdown', 'keydown', …(1) ] to not include 'pointermove'

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants