From: Tony H. <h...@re...> - 2007-05-27 23:10:45
|
In <200...@re...>, Tony Houghton wrote: > In <465...@gm...>, Dennis Tomas wrote: > > > I also had some problems with dh - as well as second thoughts about some > > design decisions, so I decided to abandon it in favour of the > > soon-to-be-released DevTray applet. It displays all device icons inside > > the applet, which gives it more control over them and speeds things up a > > little. However, there is still a problem with icons not being removed > > sometimes. > > I've put up a pre-release tarball here: > > > > ftp://ftp.berlios.de/pub/rox4debian/apps/DevTray-0.1pre1.tgz > > Thanks. It picked up my soundcard immediately, so that's an improvement > over DeviceHandler. But it still has the problem of becoming > unresponsive when removing a device or when quitting manually. It's > probably something to do with the version of hal I'm currently running > (Debian x86_64 0.5.9-3) or some other dependency perhaps. That's a strong possibility, or it's dbus or its python bindings. The problem occurs at line 156 [1] of AppRun in device_removed(): system_bus.remove_signal_receiver(item._property_modified, 'PropertyModified', 'org.freedesktop.Hal.Device', 'org.freedesktop.Hal', udi) That was when udi was for my soundcard. To try to see if other devices were affected I tried disabling it in DevTray, but I got an error: TypeError: _handler_toggled() takes exactly 2 arguments (3 given) I guess the error dialog isn't finished yet either, because none of the buttons in it do anything, but it can be closed with the window's close icon. I fixed the _handler_toggled bug by making it a staticmethod (or you could add a disused self argument). Unfortunately attempting to disable the sound card made it freeze again, presumably because it calls device_removed(). To get around this I made it save disabled_handlers before calling update_devices so it would ignore the soundcard next time I ran it. Anyway, it still froze while the soundcard was disabled. Another cosmetic thing: it's a bit hard to work out where to click to get DevTray's global menu instead of a device-specific one. Perhaps it could always open the global menu, but put the current device at the top of it? [1] Assuming I reversed my debugging edits correctly. -- TH * http://www.realh.co.uk |