Open 257 opened 1 year ago
The Wayland toolkit is not really ready for this kind of testing. When it is, we will certainly make an announcement here: https://youtrack.jetbrains.com/issue/JBR-3206
If you would like to join the effort of supporting Wayland in Java, please check the work breakdown at the Wakefield project wiki, join the mailing list, and we can discuss things further there.
sure. FYI i got it working by passing this (not the path to java
):
Environment=JAVA_HOME=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/jdk/bin
Environment=CLASSPATH=/opt/android-studio/lib/app.jar:/opt/android-studio/lib/3rd-party-rt.jar:/opt/android-studio/lib/util.jar:/opt/android-studio/lib/util_rt.jar:/opt/android-studio/lib/util-8.jar:/opt/android-studio/lib/jps-model.jar:/opt/android-studio/lib/stats.jar:/opt/android-studio/lib/protobuf.jar:/opt/android-studio/lib/external-system-rt.jar:/opt/android-studio/lib/intellij-test-discovery.jar:/opt/android-studio/lib/forms_rt.jar:/opt/android-studio/lib/rd.jar:/opt/android-studio/lib/externalProcess-rt.jar:/opt/android-studio/lib/3rd-party-native.jar:/opt/android-studio/lib/annotations-java5.jar:/opt/android-studio/lib/annotations.jar:/opt/android-studio/lib/byte-buddy-agent.jar:/opt/android-studio/lib/error-prone-annotations.jar:/opt/android-studio/lib/groovy.jar:/opt/android-studio/lib/idea_rt.jar:/opt/android-studio/lib/intellij-coverage-agent-1.0.706.jar:/opt/android-studio/lib/junit.jar:/opt/android-studio/lib/junit4.jar:/opt/android-studio/lib/resources.jar:/opt/android-studio/lib/ant/lib/ant.jar
ExecStart=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/jdk/bin/java \
-XX:ErrorFile=/tmp/java_error_in_studio_%p.log \
-XX:HeapDumpPath=/tmp/java_error_in_studio_.hprof \
-Xms256m \
-Xmx2048m \
-XX:ReservedCodeCacheSize=512m \
-XX:+UseG1GC \
-XX:SoftRefLRUPolicyMSPerMB=50 \
-XX:CICompilerCount=2 \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:-OmitStackTraceInFastThrow \
-XX:+IgnoreUnrecognizedVMOptions \
-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend \
-XX:MaxJavaStackTraceDepth=10000 \
-ea \
-Dawt.toolkit.name=WLToolkit \
-Dsun.io.useCanonCaches=false \
-Dsun.java2d.metal=true \
-Djbr.catch.SIGABRT=true \
-Djdk.http.auth.tunneling.disabledSchemes="" \
-Djdk.attach.allowAttachSelf=true \
-Djdk.module.illegalAccess.silent=true \
-Dkotlinx.coroutines.debug=off \
-Dsun.tools.attach.tmp.only=true \
-Djb.vmOptionsFile=/opt/android-studio/bin/studio64.vmoptions \
-Djava.system.class.loader=com.intellij.util.lang.PathClassLoader \
-Didea.vendor.name=Google \
-Didea.paths.selector=AndroidStudioPreview2023.1 \
-Djna.boot.library.path=/opt/android-studio/lib/jna/amd64 \
-Dpty4j.preferred.native.folder=/opt/android-studio/lib/pty4j \
-Djna.nosys=true \
-Djna.noclasspath=true \
-Didea.platform.prefix=AndroidStudio \
-XX:FlightRecorderOptions=stackdepth=256 \
-Dsplash=true \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
--add-opens=java.base/java.nio.charset=ALL-UNNAMED \
--add-opens=java.base/java.text=ALL-UNNAMED \
--add-opens=java.base/java.time=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED \
--add-opens=java.base/sun.security.util=ALL-UNNAMED \
--add-opens=java.base/sun.net.dns=ALL-UNNAMED \
--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \
--add-opens=java.desktop/java.awt=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt=ALL-UNNAMED \
--add-opens=java.desktop/sun.font=ALL-UNNAMED \
--add-opens=java.desktop/sun.java2d=ALL-UNNAMED \
--add-opens=java.desktop/sun.swing=ALL-UNNAMED \
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
looks great and runs smooth, most of the time :)
for any one daring to try out, making a list of things that don't work, and things that cause crashes.
. intercting with the window before Gradle is finished at the startup crashes android-studio, so be patient :) [make sure project gradle is also poiting jbr21
]
. 'CTRL+Shift+f' (Search in Files), libinput
?
. clipboard, wl-{copy,paste}
, yes i have set clipboard=unnamedplus
in ~/.ideavimrc
. oversized cursor (known issue? i'm using hyprland
, wlroot
-based with latest Intel driver, no nvidia here)
. popup menus are not in focus
Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).
UPDATE: Environment=JAVA_HOME=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin
Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).
Yeah, absolutely the same. I dream the day where I could finally move on to Wayland completely and ditch out XWayland to make life simpler. The IntelliJ is the only program that holds me from the migration.
I am using IntelliJ since month on Wayland, daily, many hours, I don't really have problems, sometimes a popup windows is misplaced and sometimes I see some magenta artifacts, but I think that is because of the experimental GPU driver I am using (I am on Asahi Linux on a MacBook Pro M1 and things are still under development there).
I just added -Dawt.toolkit.name=WLToolkit
to the vmoptions (located at $XDG_CONFIG_HOME/{{PRODUCT}}/{{PRODUCT}}.vmoptions
) and switched via the Chosse Boot Runtime for the IDE
to the manually build Runtime of branch jbr21
.
I'm using this for pycharm and it is usable in general under wayland:
Ctrl+Shift+F
does not work at all, no popup is openingShift
) is opened but does not gain keyboard focusSEVERE - sun.awt.wl.focus.WLKeyboardFocusManagerPeer - Unexpected focus owner set in a Window: null
in the logs, but cannot map it to a specific bugI'm on arch linux with sway (wlroots-based). Adding some start options from @257's comment above showed no effects
Clipboard works without any problems
Try pasting something you copied in PyCharm in another app. At this point, the clipboard is confined to just its own Java process.
Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).
Yeah, absolutely the same. I dream the day where I could finally move on to Wayland completely and ditch out XWayland to make life simpler. The IntelliJ is the only program that holds me from the migration.
+2 Me too!
Nice!! @mkartashev awesome work!
how did you guys managed to achieve this?
-Xmx2048m
--add-opens=java.base/java.io=ALL-UNNAMED \
-ea \
-Dawt.toolkit.name=WLToolkit \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
--add-opens=java.base/java.nio.charset=ALL-UNNAMED \
--add-opens=java.base/java.text=ALL-UNNAMED \
--add-opens=java.base/java.time=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED \
--add-opens=java.base/sun.security.util=ALL-UNNAMED \
--add-opens=java.base/sun.net.dns=ALL-UNNAMED \
--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \
--add-opens=java.desktop/java.awt=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt=ALL-UNNAMED \
--add-opens=java.desktop/sun.font=ALL-UNNAMED \
--add-opens=java.desktop/sun.java2d=ALL-UNNAMED \
--add-opens=java.desktop/sun.swing=ALL-UNNAMED \
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
xlsclients
, idea still runs under xwayland (alongside with spotify)oh, nevermind. running it from console with Environnment
set to $JAVA_HOME
helped
Im currently testing goland with wayland. My first issue was the not working forward and back buttons on a mouse. Here is a quick fix, i have no idea what im doing: https://github.com/Lucaber/JetBrainsRuntime/commit/9766bd1bbe344d42dfa700e288b7fd62f97e9d9c
I just added
-Dawt.toolkit.name=WLToolkit
to the vmoptions (located at$XDG_CONFIG_HOME/{{PRODUCT}}/{{PRODUCT}}.vmoptions
) and switched via theChosse Boot Runtime for the IDE
to the manually build Runtime of branchjbr21
.I'm using this for pycharm and it is usable in general under wayland:
* no splash popup is shown * pycharm and some popups such as the settings got a rather ugly menu-bar * `Ctrl+Shift+F` does not work at all, no popup is opening * the Find popup (double `Shift`) is opened but does not gain keyboard focus * other popups (such as context menu) work (keyboard navigation possible) * when switching between UI Elements, I see several ` SEVERE - sun.awt.wl.focus.WLKeyboardFocusManagerPeer - Unexpected focus owner set in a Window: null` in the logs, but cannot map it to a specific bug * Clipboard works without any problems
I'm on arch linux with sway (wlroots-based). Adding some start options from @257's comment above showed no effects
Did you do anything else at all? I've built the latest jbr, set it as the runtime, confirmed that it's the runtime, and added the -Dawt.toolkit.name=WLToolkit
to the bottom of ~/.config/Jetbrains/Rider2023.2/rider64.vmoptions
. However, it still launches under xwayland
for some reason, have I missed something?
My about page:
JetBrains Rider 2023.2.3
Build #RD-232.10203.29, built on November 1, 2023
xxx
xxx
xxx
Runtime version: 22-internal-adhoc.james.JetBrainsRuntime amd64
VM: OpenJDK 64-Bit Server VM by N/A
Linux 6.6.1-arch1-1
.NET Core v7.0.7 x64
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 4096M
Cores: 32
Registry:
ide.experimental.ui=true
vcs.empty.toolwindow.show=false
http.client.file.variables.available=true
ide.new.project.model.index.case.sensitivity=true
database.show.search.tab=false
Non-Bundled Plugins:
com.intellij.resharper.HeapAllocationsViewer (2023.2.0)
Current Desktop: Hyprland
My vmoptions:
-Xmx4096m
-Dide.managed.by.toolbox=/home/james/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox
-Dtoolbox.notification.token=xxx
-Dtoolbox.notification.portFile=/home/james/.local/share/JetBrains/Toolbox/cache/ports/2059400218.port
-Dawt.toolkit.name=WLToolkit
pass -D*
args in commandline; see my ExecStart=
. ignore options/other.xml
, apparently just a cached state.
for best experiece move to nightly builds i.e. 2023.3
. things run are smooth there :)
UPDATE2: Environment=JAVA_HOME=path/to/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin
UPDATE2:
Environment=JAVA_HOME=path/to/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin
So to be clear (since I can't test right now), if I run: Environment=JAVA_HOME=$JBRPATH rider.sh -Dawt.toolkit.name=WLToolkit
that should do the job?
It runs surprisingly well for me! One Problem: I am using a tiling compositor (Hyprland). Here, PyCharm always shows a titlebar/window decoration. However, with a tiling compositor, window decorations are not desired and consume space. Using XWayland, no window decoration is visible. There doesn't seem to be a way to disable the window decoration? (At least with the new UI)
2023.3
for me the latest 2023.3 (haven't tested any older version) the suggestion pop-up is way off (dual monitor configuration)
there is no menu where I can click on the File, ...., About
The top bar is white and not according to the theme.
21b316.4 is way better, I hope 316 jcef will be the next official build
how did you guys managed to achieve this?
- i built binary jbr
- Set these props to idea64.vmoptions:
-Xmx2048m --add-opens=java.base/java.io=ALL-UNNAMED \ -ea \ -Dawt.toolkit.name=WLToolkit \ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.lang.ref=ALL-UNNAMED \ --add-opens=java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens=java.base/java.net=ALL-UNNAMED \ --add-opens=java.base/java.nio=ALL-UNNAMED \ --add-opens=java.base/java.nio.charset=ALL-UNNAMED \ --add-opens=java.base/java.text=ALL-UNNAMED \ --add-opens=java.base/java.time=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \ --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \ --add-opens=java.base/sun.nio.ch=ALL-UNNAMED \ --add-opens=java.base/sun.nio.fs=ALL-UNNAMED \ --add-opens=java.base/sun.security.ssl=ALL-UNNAMED \ --add-opens=java.base/sun.security.util=ALL-UNNAMED \ --add-opens=java.base/sun.net.dns=ALL-UNNAMED \ --add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \ --add-opens=java.desktop/java.awt=ALL-UNNAMED \ --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \ --add-opens=java.desktop/java.awt.event=ALL-UNNAMED \ --add-opens=java.desktop/java.awt.image=ALL-UNNAMED \ --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \ --add-opens=java.desktop/java.awt.font=ALL-UNNAMED \ --add-opens=java.desktop/javax.swing=ALL-UNNAMED \ --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \ --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt=ALL-UNNAMED \ --add-opens=java.desktop/sun.font=ALL-UNNAMED \ --add-opens=java.desktop/sun.java2d=ALL-UNNAMED \ --add-opens=java.desktop/sun.swing=ALL-UNNAMED \ --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \ --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \ --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \ --add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
- restarted idea and checked with
xlsclients
, idea still runs under xwayland (alongside with spotify)
Added your vmoptions and switched to the manually build Runtime of branch jbr21 via IDE settings(search for vmoptions and runtime option). Seems to be working fine. xlsclinets
did not show Android Studio. Ctrl+Shift+F
works fine too.
I'm using this for Android Studio and it seems pretty usable in general under wayland:
Splash popup is shown, but at the left-top corner. Ctrl+Shift+F works, popup is normal the Find popup (double Shift) is opened and does gain keyboard focus Clipboard works without any problems Input-Method not working(fcitx5)
Ubuntu 22.04.3 LTS and jbr21 commit 25d6e5c49f8648c4f8640bb77781b2c43d2cccd7. Great work for JetBrains!
Everything seems to work, same as the above comment, with some minor issues:
PhpStorm 2024.1EAP with runtime 21.336 https://www.youtube.com/watch?v=Wub2XwGqUkc
It works great mostly, but I can't stop a process running in the terminal by sending Ctrl+C and that's very annoying.
@romanstingler , what kind of environment do you have?
@Memoraike It is Hyprland https://hyprland.org/ (Wayland)
If you want to use it I have to tell you that you have to keep some things in mind.
If you want to give it a try you can use my config (you have to carefully go through the config),
or there are a lot of configs around
https://github.com/romanstingler/dotfiles/tree/main/.config
You will need to install
Hyprland
(or hyprland-git), xdg-desktop-portal-hyprland, waybar, wlogout, foot
(as terminal, but you can change that in the config)
The IDE has Nord Theme installed
@Memoraike It is Hyprland https://hyprland.org/ (Wayland)
If you want to use it I have to tell you that you have to keep some things in mind.
* It is no install and use WM(Window manager) * you have to go through its wiki https://wiki.hyprland.org/Getting-Started/Master-Tutorial/ * there is active development (multiple commits daily), but there is a stable version as well * there are some login managers that don't play well (I don't use login managers, just boot and execute hyprland)
If you want to give it a try you can use my config (you have to carefully go through the config), or there are a lot of configs around https://github.com/romanstingler/dotfiles/tree/main/.config You will need to install
Hyprland
(or hyprland-git),xdg-desktop-portal-hyprland, waybar, wlogout, foot
(as terminal, but you can change that in the config)The IDE has Nord Theme installed
Can we keep this discussion on-topic please?
pycharm running basically fine except some minor things:
@igorrizhyi have you tried 2024.1 EAP and Java 21.336 ? There have been a few improvements
@romanstingler not yet, thanks for suggesting that, i will give it a go
update:
Addition to my feedback above: it looks like left/right scrolling on a touchpad is not working.
I've made a nix flake for one command setup of any IDE with wayland support.
Latest EAP of Rider runs pretty smooth, can confirm issues with quick action menu and horizontal touchpad scrolling. I also had issues with non existing top menu on 2023.3, but on EAP it seems to be fixed.
@BananchickPasha Is possible to give a overlay so we can test it easily.
@BananchickPasha Is possible to give a overlay so we can test it easily.
Yes, I've updated that flake so now it's easy to modify it
Tested with IntelliJ IDEA 2024.1 EAP on WSL2 and so far the only I have is with the mouse cursor not changing properly. It gets stuck to whatever graphic it changed last instead of reverting back to the normal pointer graphic. Clicking and such doesn't seem to be affected.
EDIT: The clip board doesn't seem to work, so no copy/paste to or from the IDE.
IntelliJ IDEA 2024.1 EAP on WSL2:
Fcitx5 Input method is unavailable.
Fcitx5 Input method is unavailable.
As well as all the other input methods. Please, upvote this issue: JBR-5672 Wayland: support input methods
Could someone help please? I am trying to run this with IntelliJ IDEA EAP.
I have cloned and built the JBR: https://github.com/JetBrains/JetBrainsRuntime/tree/jbr21
I have then launched run idea.sh for the newly downloaded EAP release.
Then via Ctrl Shift A I have changed the boot runtime and set it to .../JetBrainsRuntime/build/linux-x86_64-server-release/jdk and also added the VM option -Dawt.toolkit.name=WLToolkit
And restarted IDEA
But whenever I pass the mouse over the window with xeyes, eyes still move (== XWayland).
What am I doing wrong?
Thanks! :)
Could someone help please? I am trying to run this with IntelliJ IDEA EAP.
I have cloned and built the JBR: https://github.com/JetBrains/JetBrainsRuntime/tree/jbr21
I have then launched run idea.sh for the newly downloaded EAP release.
Then via Ctrl Shift A I have changed the boot runtime and set it to .../JetBrainsRuntime/build/linux-x86_64-server-release/jdk and also added the VM option -Dawt.toolkit.name=WLToolkit
And restarted IDEA
But whenever I pass the mouse over the window with xeyes, eyes still move (== XWayland).
What am I doing wrong?
Thanks! :)
I was on the main branch instead of jbr21 LOL
Trying again after building the correct branch.
EDIT: it works! It's SOOO crisp at 125% scaling! <3 I'll try to run it as my daily, let's see how stable it is.
idea eap running basically fine except some minor things. I am using a tiling compositor(hyprland). The title bar of the idea window is not hidden, which is normal in xwayland mode.
idea eap running basically fine except some minor things. I am using a tiling compositor(hyprland). The title bar of the idea window is not hidden, which is normal in xwayland mode.
I keep the window decoration enabled because I have configured KDE to minimize windows on middle click on the title bar.
And it's not following the usual QT/KDE window decorations, I guess this part is still WIP.
comparison with a KDE themed window decoration:
Otherwise looking really good, it seems like the issue I was having with the git menu that auto-closed when moving the mouse over it in order to select a different branch also got fixed, hurray!
And it's not following the usual QT/KDE window decorations, I guess this part is still WIP.
We haven't yet decided which path to follow wrt window decorations. Few WMs support the Wayland's protocol for server decorations, although this is probably the easiest way possible, but traditionally Java supported Gnome look-and-feel rather than KDE.
@mkartashev Is there a setting to disable the window decoration altogether? This would be useful for tiling WM users.
@mkartashev Is there a setting to disable the window decoration altogether? This would be useful for tiling WM users.
Of course. When you switch to the New UI (File | Settings | Appearance & Behavior | New UI
), there should be no window decoration by default.
I have a strange issue with fonts seemingly not getting anti-aliased properly on launch.
I'm on jbr21, sha: 29f7cc3c2f3a598935ad93be9b774aec83ae5b3e and using Build #IU-241.14494.17, built on March 6, 2024
Runtime version: 21.0.2-internal-adhoc.andrea.JetBrainsRuntime amd64 VM: OpenJDK 64-Bit Server VM by N/A Linux 6.7.9-1-default GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation Memory: 3910M Cores: 16 Registry: debugger.new.tool.window.layout=true ide.experimental.ui=true credentialStore.linux.prefer.kwallet=true Kotlin: 241.14494.17-IJ Current Desktop: KDE
This is what I see when the window opens:
And here's how I work around the problem, fonts become anti-aliased again as soon as I double-click two times the window header to tile it and then maximize it again:
First screenshot is headache-inducing and not usable, second one is crisp.
Not sure you can tell the difference (quite striking) because there's a bug on Spectacle right now preventing for some reason to take true-to-life screenshots on KDE...
EDIT: yeah you can see some "blur" in both screenshots, but the second one has definitely better font anti-aliasing
@andreaippo This looks like JBR-6448 that I am about to merge a fix for. Should be out this week, I hope. There are a few workarounds mentioned there as well.
@mkartashev Is there a setting to disable the window decoration altogether? This would be useful for tiling WM users.
Of course. When you switch to the New UI (
File | Settings | Appearance & Behavior | New UI
), there should be no window decoration by default.
I am using NEW UI, but the window decoration is still not hidden.
Dialog title bars are not supposed to be hidden. Please, file a feature request for that on youtrack.
@andreaippo This looks like JBR-6448 that I am about to merge a fix for. Should be out this week, I hope. There are a few workarounds mentioned there as well.
Thanks, I am honestly impressed by the speed at which things are progressing!
2024 might not be the year of Linux desktop, but it's sure shaping up to be the year of Wayland (effing finally :D )
hi @mkartashev,
i have managed to run android-studio on top of
jbr21
branch (by editing~/.config/Google/AndroidStudioPreview2023.1/options/other.xml
and pointinginstallDir
ofinstalled-jdk
tojbr21
).i did that in hopes being able to run android-studio purely under wayland but it still take the xwayland route; passing
-Dawt.toolkit.name=WLToolkit
to/opt/android-studio/jbr/bin/java
doesn't seem to have any effect.any idea?