Community
Participate
Working Groups
Build id I20100802-1800 We have the following listener in org.eclipse.jface.internal.text.html.HTMLPrinter. This listener works on WinXp but not on Ubuntu 9.04 (gtk version 2.16.1-0), when the OS tooltip colors are changed. private static void installColorUpdater(final Display display) { display.addListener(SWT.Settings, new Listener() { public void handleEvent(Event event) { cacheColors(display); //breakpoint here } }); } Steps: - New Workspace - Import > Plugin & fragments > Project with source folders > select 'org.eclipse.jface.text' - Set a breakpoint in the handleEvent method - Debug as Eclipse Application - Change OS toolip color WinXP: Display Properties > Appearance > Advanced > Select 'Tooltip' in the Item dropdown and change a color. Ubuntu: System Settings > Appearance > Colors > goto Colors tab > Change Tooltip Text or Toolip Background colors => Breakpoint hit for Win but not for Ubuntu => As a result, for the color changes to take effect you have to restart Eclipse on Ubuntu but not on Win (Bug 313530) I should also mention that this worked on another Suse Linux machine (gtk2-2.18.9-0.5.1), though I do not know why.
I have Ubuntu (gtk 2.18) and SWT.Settings listener works for me. Can you try out this SWT snippet and see if it works on your machine? import org.eclipse.swt.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; public class Settings_Snippet { public static void main(String [] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new FillLayout()); final Label label = new Label(shell, SWT.WRAP); label.setText("tooltip color"); Color color = display.getSystemColor(SWT.COLOR_INFO_BACKGROUND); label.setBackground(color); display.addListener(SWT.Settings, new Listener() { public void handleEvent(Event event) { Color color = display.getSystemColor(SWT.COLOR_INFO_BACKGROUND); label.setBackground(color); } }); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }}
(In reply to comment #1) > I have Ubuntu (gtk 2.18) and SWT.Settings listener works for me. > Can you try out this SWT snippet and see if it works on your machine? Nope, the snippet doesn't work. (Maybe this is important, I am using KUbuntu(KDE) )
> (Maybe this is important, I am using KUbuntu(KDE) ) Does it also fail in other GTK applications, e.g. on the file name tab in gedit?
(In reply to comment #3) > > (Maybe this is important, I am using KUbuntu(KDE) ) > > Does it also fail in other GTK applications, e.g. on the file name tab in > gedit? Yup, it fails with other GTK applications as well. I tried with Firefox, and even here restart is required for the color changes to take effect. Closing as NOT_ECLIPSE.