jabref
jabref copied to clipboard
Main and context menus misalgined or wrongly positioned
JabRef 5.0-beta.419--2020-02-12--3859620 Linux 5.4.19-050419-generic amd64 Java 13.0.2
- [X ] I have tested the latest development version from http://builds.jabref.org/master/ and the problem persists
Steps to reproduce the behavior:
- In Ubuntu 19.10 using my external display (my primary monitor next to my laptop), I open JabRef.
- Open the menu and the list items will be displayed with a more or less significant disalignment (see jabref-screenshot1).
- Moreover, context menus (e.g. for switching to titlecase) are located on the wrong screen, see jabref-screenshot2 where the menu hides behind the bottom of the left bar of the gnome desktop).
This issue makes it difficult to click menu items because sometimes menus close before the mouse pointer reaches them.
I missed this when filing my issues report yesterday, that sees the same problem with context menu on the wrong screen. (I think I may have accidentally filtered on OS.) That issue appears on Windows, so this seems to not just be a linux problem, and it appears in both 5.1 and the recent 5.2 dev build.
@NRJank Thanks for confirming. Still there for me, with
JabRef 5.2--2020-09-16--5bb159d Linux 5.4.19-050419-generic amd64 Java 14.0.2
thanks for reporting, i'll put this in the line on high, seems like jabref is hard to use with the dislocated menus on multiple screen setups.
@NRJank @ytzemih Can you plaese test this again with the latest development version? We recently upgraded the javafx version and it seems the issue is solved https://builds.jabref.org/master/ Remember to make a backup of your library
@Siedlerchr thanks for checking that. I've just installed JabRef 5.2--2020-11-04--67f67a1 Linux 5.4.19-050419-generic amd64 Java 15.0.1 and, unfortunately, in Ubuntu 19.10 Gnome and in i3, I am still seeing the same result, matching the screenshots above.
It is worth mentioning, the main dropdown menus are on the right screen, so is the context menu in the entry list. However, the context menu in the entry editor shows on the wrong screen (it seems always on the primary screen if I e.g. use JabRef on my external display). Maybe it's do to with differences in how these context menus are registered/called.
It's interesting: If you click on the "date" field, the context menu shows correctly, but if you right-click on e.g. "journaltitle", then the context menu shows on the wrong screen. The same erroneous behaviour for "author" and "title". Hope that helps.
@NRJank @ytzemih Can you plaese test this again with the latest development version? We recently upgraded the javafx version and it seems the issue is solved https://builds.jabref.org/master/ Remember to make a backup of your library
just confirmed with latest 5.3 build that the behavior is unchanged on windows, following same test steps I listed in Issue #6935
We recently upgraded to openjfx18 which fixed some issues regarding context menu positioning. Can you all please test the current development version?
We would like to ask you to use a development build from https://builds.jabref.org/main and report back if it works for you. Please remember to make a backup of your library before trying-out this version.
@Siedlerchr Thx for the update. I've just tried it with JabRef 5.6--2022-04-04--dbf921e with the unfortunate result that the problems remain for me:
- Slightly offset positioning of the drop-down menus,
- Context menus on different screen.
Although, the menus are closer to the menu bar, but I'm afraid that this was already the case in JR 5.5.
I presume that openjfx could have a general issue with tiling WMs under Linux, that's my case. But on the other hand, @NRJank was reporting on this issue being observable under Windows as well. That refutes my theory.
Should be fixed with JavaFX 21 https://bugs.openjdk.org/browse/JDK-8251862
@ytzemih can you still reproduce this with JabRef 5.10?
@ThiloteE Thanks for asking. Unfortunately, I could not recognise any change over the last couple of versions. I'm currently using JabRef 5.11--2023-10-02--7e65220 Linux 6.2.0-34-generic amd64 Java 21-internal JavaFX 20.0.2+3 under Ubuntu 22.04.
I'm using the JabRef deb installer, so I didn't care about any switch from JavaFX 20 to 21. Could this version difference perhaps be the reason for why I'm seeing this issue and getting:
Messages are not initialized before accessing key: Display help on command line options 2023-10-15 11:20:49 [JavaFX-Launcher] sun.util.logging.internal.LoggingProviderImpl$JULWrapper.log() WARN: Unsupported JavaFX configuration: classes were loaded from 'module org.jabref.merged.module', isAutomatic: false, isOpen: true 2023-10-15 11:20:50 [JavaFX Application Thread] org.jabref.preferences.JabRefPreferences.getFetcherKeysFromKeyring() WARN: JabRef could not open the key store
when starting JR from the command line?
Ah, JavaFX21 is not yet merged. I confused it with java21. My bad. We will have to wait a little bit more to test if this was fixed by JavaFX21. Sorry for the noise.
I believe the warnings you receive are unrelated. If you want you could open a separate issue for them, but I am not really sure if they are actually a problem. The keystore warning is harmless. I am not completely sure, but I believe it has to do with you not having configured API keys (which is fine). Apparently JabRef automatically tries to fetch them, even if you do not have any or something like that.
I am thinking of removing this from the candidates for university projects, because past policy has been to simply wait for javafx updates and nobody dug deeper to debug the rootcause of the problem.
Students would need to
- Debug the issue.
- Come up with a solution.
A clear path towards fixing this issue is not known yet, so it might be very hard for students to fix this.
Thoughts?
@ThiloteE No worries, thanks for keeping an eye on this. So, I'll ignore these warnings for now and wait until JavaFX21 is in. Then, I'll see whether something has changed.
One more thing: Although I'm mostly using a tiling window manager (i3), interestingly, I'm having this issue in both, i3 and Gnome wm. My latest guess is that it's something to do with me using Gnome Flashback (https://wiki.gnome.org/Projects/GnomeFlashback) in order to use some Gnome features under i3. See also https://github.com/regolith-linux/i3-gnome-flashback.
So, this is issue is perhaps a low-priority issue and hopefully fixed automatically with JavaFX21.
JavaFX 21 has been merged. Please try the latest development version of JabRef. You can download it from here: https://builds.jabref.org/main/ Please reopen the issue, if you can still reproduce.
Thanks, @ThiloteE. I've installed the build
JabRef 5.12--2023-11-07--2afd1f6
Linux 6.2.0-36-generic amd64
Java 21.0.1
JavaFX 21.0.1+6
Unfortunately, for me it shows the same messages as in https://github.com/JabRef/jabref/issues/5941#issuecomment-1763333031: Unsupported JavaFX configuration
and the GUI rendering issue isn't gone. However, I think, it's a particular issue to do with my configuration (i3, gnome-flashback, Ubuntu 22.04).
So, this issue does not need to be reopened as I'm perhaps the only one seeing it.
The warning messages about the module can be ignored. It comes from the fact that multiple modules are merged together while packaging and JavaFX does not recognize this. It works nonetheless
Ah, I see. Well, then it's just the strange window manager setting that I'm using that perhaps JavaFX can't properly deal with. I think, it's not a JR issue. So, let's ignore it.