eclipse-platform / eclipse.platform.swt

Eclipse SWT
https://www.eclipse.org/swt/
Eclipse Public License 2.0
112 stars 135 forks source link

SWT table headers are not visible in Ubuntu22.04.2LTS/XFCE4 #749

Open sigil opened 1 year ago

sigil commented 1 year ago

Describe the bug When testing in Ubuntu22.04.2 LTS, SWT table headers are invisible (maybe foreground and background are the same colors?) in my configuration.

This is affecting our custom RCP application, as well as Eclipse itself. (The rest of this description will discuss only the Eclipse IDE aspects, since everybody has access to the IDE.)

I am not running directly on the hardware. I'm in a VM, running vncserver (technically Xtightvnc), running xfce4 (the default version of each from the Ubuntu 22.04.2 ISO). The invisible headers are a problem in xfce4 with Adwaita (and Adwaita-dark) GTK3 themes, both with the Eclipse Themeing engine enabled and disabled (Window | Preferences | General | Appearance | Enable theming).

I tested with each included Eclipe Theme - the problem persists under Light, Dark, High Contrast, and Classic themes. (And yes, I restart Eclipse after each Eclipse Theme change.)

I tested with the default fonts (Sans Regular) and several other options (changing fonts at the Desktop Appearance level, and within the Eclipse preferences), which made no difference for the header visibility.

There are no table-related errors logged

To Reproduce Acquire Ubuntu22.04.2LTS Install xfce4. Install vncserver and configure it to run xfce4. Download and install Eclipse IDE for Eclipse Committers 4.28 (2023-06). Start Eclipse (in a fresh workspace). Go to any built-in SWT table. Observe the lack of visible table headers. Example: Help | About Eclipse IDE | Installation Details (the first four tabs all have tables, and all have an invisible table header row)

Expected behavior Table headers should be visible in all tables, for any font chosen as the table font, for all Eclipse themes. Especially the system defaults.

Screenshots image

Environment:

  1. Select the platform(s) on which the behavior is seen:

      • [ ] All OS
      • [ ] Windows
      • [x] Linux
      • [ ] macOS
  2. Additional OS info (e.g. OS version, Linux Desktop, etc) Ubuntu 22.04.2 LTS XFCE4 Xtightvnc server

  3. JRE/JDK version Whatever ships within Eclipse 4.28 (2023-06) (justj 17.0.7)

Version since I've only tested with 4.19 and 4.28. Both exhibit the same problem.

Workaround (or) Additional context I do not see any table header visibility problem when I ssh into this VM and redirect X to another desktop on any other OS or DE or WM. I have not tested with any other DE/WM on this VM, only with XFCE4. I do not see the problem with XFCE4 on tigervnc on openSUSE15.5 in a similar VM.

Log File The following is the complete log file from the testing session, as found in my workspace directory under both .metadata/.plugins/org.eclipse.ui.workbench and .metadata/ (The file contents were identical).

!SESSION 2023-07-17 16:24:47.180 -----------------------------------------------
eclipse.buildId=4.28.0.20230608-1200
java.version=17.0.7
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.committers.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.committers.product

!ENTRY org.eclipse.jface 2 0 2023-07-17 16:24:53.041
!MESSAGE Keybinding conflicts occurred.  They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2023-07-17 16:24:53.041
!MESSAGE A conflict occurred for CTRL+SHIFT+T:
Binding(CTRL+SHIFT+T,
    ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type,
        Open a type in a Java editor,
        Category(org.eclipse.ui.category.navigate,Navigate,null,true),
        WorkbenchHandlerServiceHandler("org.eclipse.jdt.ui.navigate.open.type"),
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)
Binding(CTRL+SHIFT+T,
    ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace,
        ,
        Category(org.eclipse.lsp4e.category,Language Servers,null,true),
        WorkbenchHandlerServiceHandler("org.eclipse.lsp4e.symbolinworkspace"),
        ,,true),null),
    org.eclipse.ui.defaultAcceleratorConfiguration,
    org.eclipse.ui.contexts.window,,,system)

!ENTRY org.eclipse.urischeme 4 0 2023-07-17 16:24:55.501
!MESSAGE File seems not to be a 'desktop' file
!STACK 0
java.lang.IllegalStateException: File seems not to be a 'desktop' file
    at org.eclipse.urischeme.internal.registration.DesktopFileWriter.assertDesktopEntryPresent(DesktopFileWriter.java:229)
    at org.eclipse.urischeme.internal.registration.DesktopFileWriter.getProperties(DesktopFileWriter.java:220)
    at org.eclipse.urischeme.internal.registration.DesktopFileWriter.<init>(DesktopFileWriter.java:51)
    at org.eclipse.urischeme.internal.registration.RegistrationLinux.getHandlerLocationFromDesktopFileIfSchemeRegistered(RegistrationLinux.java:136)
    at org.eclipse.urischeme.internal.registration.RegistrationLinux.determineHandlerLocation(RegistrationLinux.java:89)
    at org.eclipse.urischeme.internal.registration.RegistrationLinux.getSchemesInformation(RegistrationLinux.java:76)
    at org.eclipse.urischeme.AutoRegisterSchemeHandlersJob.run(AutoRegisterSchemeHandlersJob.java:87)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

!ENTRY org.eclipse.oomph.setup.ui 1 0 2023-07-17 16:25:03.687
!MESSAGE Setup tasks were performed during startup updating 334 preferences. See '/home/username/.eclipse/org.eclipse.platform_4.28.0_634870661_linux_gtk_x86_64/configuration/org.eclipse.oomph.setup/setup.log' for details
akurtakov commented 1 year ago

Do you see the issue if running directly (not through vnc) ? Which GTK theme is used? If it's not Adwaita, would you please try with it.

sigil commented 1 year ago

Thanks for responding, akurtakov!

This is a headless VM in a remote location (where I lack full admin permissions on both the VM client and VM host, and where I lack building access), so I'm unfortunately unable to test running directly (without vnc).

This was observed while using GTK theme Adwaita. (The problem also occurs using Adwaita-dark, so it's not strictly a white fg on white bg problem; its also a black fg on black bg problem, so it's successfully pulling the needed bg color from the theme.) I even attempted altering/forcing the theme at the bash command-line, in case xfce4 was doing something odd: GTK_THEME=Adwaita eclipse -consolelog and saw no change in behavior.