| Summary: | SWT.Settings listener not notified on Ubuntu | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Deepak Azad <deepakazad> |
| Component: | SWT | Assignee: | Platform-SWT-Inbox <platform-swt-inbox> |
| Status: | RESOLVED NOT_ECLIPSE | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | daniel_megert, markus.kell.r, remy.suen |
| Version: | 3.6 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux-GTK | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 313530 | ||
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. |
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.