-
Notifications
You must be signed in to change notification settings - Fork 488
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
8271557: Undecorated interactive stage style #594
Conversation
👋 Welcome back mstrauss! A progress list of the required criteria for merging this PR into |
This is a great idea! |
great |
Please make this happen |
This would be great for creating customized themes with different window decorations if that were to be supported some time down the line with this feature. Is there anything blocking this from moving forward in the review process? |
This PR is not yet ready for review, as I'm still working on some issues with resize flicker on Windows. |
Any updates here? |
I think this is a very important PR. Undecorated windows have become pretty much the standard nowadays for desktop apps, and the current state of affairs on Windows gives an unprofessional experience - as the minimize, maximize & restore animations are not displayed at all. Not to speak of Aero snapping. Is there a possibility that this could be done for JavaFX 21? |
Very useful PR, looking forward to it. |
Very much looking forward to |
非常期待 |
Hi @yijunjiechen, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user yijunjiechen for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
Very useful PR, looking forward to it. |
Hi @LIUSHUAI2018, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user LIUSHUAI2018 for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
wow,A very splendid pr, especially looking forward to incorporating it into the official version |
I am very supportive of this pr, it is hard to imagine that this feature has not been proposed until now, it is very important to build a modern application. |
nice,this PR Make it easy to customize the window |
@Bridgekeeper Sorry. I discussed this issue in a javafx community, and many people found this feature very useful, so they replied to this discussion; there may be more people replying at a time; I have caused trouble to you, sorry. |
It‘s a userful PR,every time I need to do it myself. I hope the official can accept it. |
Would so love to see this happening. |
Can we have this by the next version? |
private void handleMoveWindow(int xAbs, int yAbs) { | ||
window.setPosition(mouseDownWindowX + xAbs - mouseDownX, mouseDownWindowY + yAbs - mouseDownY); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Linux this will be constrained by the window manager, so it's not possible to move the window outside of the desktop bounds, including panels.
This can be done by implementing a beginMoveDrag
on glass that will call (on linux):
gdk_window_begin_move_drag
Please keep active. |
Please keep active ^_^ |
Please keep active. |
1 similar comment
Please keep active. |
push |
@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
I had to do a lot of jni to archive this https://github.com/xdsswar/fx-jni-demo It works fine, tested on windows 10 and 11. There is some small fix I got to do, but its usable. For now its only for Windows. |
Great job, qnd you even used it on a modular project, amazing |
Yes, I have it , need to upload , but I will share later , Im in the hospital right now with my mom. Also you are the MaterialFx guy right? Amazing job there. |
Yes, I am, thank you very much! Looking forward to it, I'm very curious on what you came up with |
Here we go https://github.com/xdsswar/shared-fx-jni-src |
@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Very useful PR, looking forward to it.~~ |
Please keep active. This feature is so wonderful!. |
need this so much, maybe implementing custom windows doesn't have to be so painful anymore |
@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Still want it. |
非常需要这个,也许实现自定义窗口不必再那么痛苦了 |
❗ This change is not yet ready to be integrated. |
@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Hi @Raft08, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user Raft08" for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
Hi @len-ny, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user len-ny" for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
1 similar comment
Hi @len-ny, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user len-ny" for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
@mstr2 This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Please keep this! |
We need it! |
This PR introduces
StageStyle.UNDECORATED_INTERACTIVE
. This style is similiar toStageStyle.UNDECORATED
, but adds platform-specific interactions to the window.For all platforms, this includes move and resize behaviors.
On Windows, it also includes Aero behaviors (snap to screen edges, dock at top to maximize, etc.).
Additionally, on Windows this style adds window animations and a drop shadow (both of which
StageStyle.UNDECORATED
lacks).This new style can be used to create custom window decorations without losing window interactions.
Applications that use this stage style need to provide an implementation of
WindowRegionClassifier
to let the JavaFX windowing subsystem know which parts of the window should afford window interactions:If a window region is not returned from the classifier, no interaction will be available for this region.
Progress
Warning
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jfx.git pull/594/head:pull/594
$ git checkout pull/594
Update a local copy of the PR:
$ git checkout pull/594
$ git pull https://git.openjdk.org/jfx.git pull/594/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 594
View PR using the GUI difftool:
$ git pr show -t 594
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jfx/pull/594.diff