From: Dennis T. <2t...@in...> - 2006-07-24 08:15:41
|
DeviceHandler is a new panel applet that automatically adds inserted media / attached devices to the panel. It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be stopped to avoid conflicts. DeviceHandler is intended to replace "Media" and differs from it in some respects: - It doesn't depend on ivman anymore. - It's entirely written in python. - It doesn't automount by default - It follows a modular approach: Devices are handled by so-called "Handlers". A Handler is a python-class that describes how appdir-wrappers for a given device-type should be like. So it's easy to add support for other devices supported by hal. Each handler has its own options and can optionally be disabled. A well-documented handler example is included as well as handlers for volumes, printers, soundcards and TV-cards. Install it by dragging this url to AddApp: http://rox4debian.berlios.de/0install/DeviceHandler.xml or by downloading the latest tarball: ftp://ftp.berlios.de/pub/rox4debian/apps/DeviceHandler-0.2.2.tgz ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de |
From: Thomas L. <ta...@gm...> - 2006-07-24 18:06:41
|
On 7/24/06, Dennis Tomas <2t...@in...> wrote: > DeviceHandler is a new panel applet that automatically adds inserted > media / attached devices to the panel. > It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be > stopped to avoid conflicts. Sounds good, but I found it hard to set up... Here are my notes: I used 'Show Handlers' before running it, which got me an empty handlers directory. Had to delete it to get it populated with the default handlers. Had to 'apt-get install python2.4-dbus' (I like the way it switched to the non-default python2.4 version to get dbus support!) Had to '/etc/init.d/dbus start' (probably need better error messages when these are missing, saying what to do) Then I got: The handler for the type "Volume.AudioCD" couldn't be loaded. This isn't very helpful. I changed the reporting code to: except: rox.alert("The handler for the type \"%s\" couldn't be loaded." % module_name) raise I then got the original error: ImportError: No module named DiscID Had to 'apt-get install python-cddb' It then ran, and I got an audio icon for my CD :-) Clicking on this wrote an error message to stderr about not having alsamixergui. Had to 'apt-get install alsamixergui'. Might also be good to run 'gnome-alsamixer' instead if that's present... Thanks, -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Thomas L. <ta...@gm...> - 2006-07-24 20:42:55
|
On 7/24/06, Thomas Leonard <ta...@gm...> wrote: > On 7/24/06, Dennis Tomas <2t...@in...> wrote: > > DeviceHandler is a new panel applet that automatically adds inserted > > media / attached devices to the panel. > > It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be > > stopped to avoid conflicts. > > Sounds good, but I found it hard to set up... Here are my notes: And a couple more: - Devices without labels don't work well. It tries to delete 'SendTo/' (and fails because it's a directory). - My USB camera didn't appear as a storage device. Not sure what the best attribute is, but putting or device_has_property(device, 'storage.drive_type', 'disk') in Handlers/Volume/__init__.py seems to work. -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Dennis T. <2t...@in...> - 2006-07-27 11:47:59
|
Thomas Leonard wrote: > On 7/24/06, Dennis Tomas <2t...@in...> wrote: > >> DeviceHandler is a new panel applet that automatically adds inserted >> media / attached devices to the panel. >> It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be >> stopped to avoid conflicts. >> > > Sounds good, but I found it hard to set up... Here are my notes: > > I used 'Show Handlers' before running it, which got me an empty handlers > directory. Had to delete it to get it populated with the default handlers. > I've uploaded the new version 0.2.3, which doesn't install the default handlers, but rather searches for handlers in $XDG_DATA_HOME/.../Handlers, $XDG_DATA_DIRS/.../Handlers, $APPDIR/Handlers. This has the advantage that the default handlers don't have to be re-installed with every new version. To use the default handlers of the new version, you must remove the contents of the directory ~/.local/share/rox4debian.berlios.de/DeviceHandler/Handlers. > Had to 'apt-get install python2.4-dbus' > > (I like the way it switched to the non-default python2.4 version to > get dbus support!) > > Had to '/etc/init.d/dbus start' > > (probably need better error messages when these are missing, saying what to do) > I've added error messages for not having the dbus-module and the system bus not running. > Then I got: > > The handler for the type "Volume.AudioCD" couldn't be loaded. > > This isn't very helpful. I changed the reporting code to: > > except: > rox.alert("The handler for the type \"%s\" couldn't be loaded." % module_name) > raise > I've changed it, thanks. > I then got the original error: > > ImportError: No module named DiscID > > Had to 'apt-get install python-cddb' > It now skips cddb-lookup if CDDB-Py is not present, using the label "Audio CD". The 0install-interface now requires CDDB-Py (available via 0install). > It then ran, and I got an audio icon for my CD :-) > This is actually the icon for the soundcard (if it's the one you mention in the next paragraph). Do AudioCDs show up with the right label? And do you know a good CD-Player app that takes the device as command-line argument? The default is grip now, which however isn't as good a player as a ripper. > Clicking on this wrote an error message to stderr about not having alsamixergui. > Had to 'apt-get install alsamixergui'. Might also be good to run > 'gnome-alsamixer' instead if that's present... > > I tried setting it to gnome-alsamixer, but you can't give the device path or card number as argument, so if you have more than one soundcard, all mixers will show the first device. You can configure the command to be used by choosing Soundcard Mixers (ALSA) -> Options from the applet's popup-menu. > - Devices without labels don't work well. It tries to delete 'SendTo/' > (and fails because it's a directory). I've fixed it. Now the device name is used as label. > - My USB camera didn't appear as a storage device. Not sure what the > best attribute is, but putting > or device_has_property(device, 'storage.drive_type', 'disk') > in Handlers/Volume/__init__.py seems to work. This made DeviceHandler show me /dev/hda. I've changed it to check if 'storage.hotpluggable' is True. Does it work? If not it would be nice to see the list of hal-properties for your camera. Thanks for your comments and suggestions. ___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de |
From: mike <mi...@mi...> - 2006-07-27 20:05:49
|
I folks, I've been using Rox for a while, and am actually using it as my shell permanently. Have multiple issue's I'd like help on: 1) When I click on many tasks, or drag a link to AppAdd, I get this error: Error updating interface http://rox4debian.berlios.de/0install/Libwnck18.xml No signatures found. Errors from GPG: gpg: no valid OpenPGP data found gpg: decrypt_message failed: eof Is this me, or the application? It's happening a good bit (TaskList, TaskTray, etc.). Seems like many programs I want to use. 2) I keep getting the message: Traceback (most recent call last): File "/root/.cache/0install.net/implementations/sha1=6a2e548a80368bd8c2b5b3abedccf9a0a6cb4333/ROX-Lib2/python/rox/__init__.py", line 189, in _excepthook debug.show_exception(type, value, tb) File "/root/.cache/0install.net/implementations/sha1=6a2e548a80368bd8c2b5b3abedccf9a0a6cb4333/ROX-Lib2/python/rox/debug.py", line 52, in show_exception bug_report = 'Traceback (most recent call last):\n' + \ File "/root/Desktop/Downloads/Mouse-0.8.3/AppRun", line 6, in ? from settings import settings, Setting File "/root/Desktop/Downloads/Mouse-0.8.3/settings.py", line 23, in ? rox_session = bus.get_service('net.sf.rox.Session') AttributeError: 'SessionBus' object has no attribute 'get_service' Trying to install Mouse and some other applets. What am I missing? I thought I had latest and greatest. TIA Mike |
From: Thomas L. <ta...@gm...> - 2006-07-28 18:16:06
|
On 7/27/06, mike <mi...@mi...> wrote: > I folks, > > I've been using Rox for a while, and am actually using it as my shell > permanently. Have multiple issue's I'd like help on: > > 1) When I click on many tasks, or drag a link to AppAdd, I get this error: > Error updating interface > http://rox4debian.berlios.de/0install/Libwnck18.xml > No signatures found. Errors from GPG: > gpg: no valid OpenPGP data found > gpg: decrypt_message failed: eof > > Is this me, or the application? It's happening a good bit (TaskList, > TaskTray, etc.). Seems like many programs I want to use. What version of 0launch are you using? Versions before 0.18 don't support the XML signature format (though TaskList looks like it uses the older plain GPG format). To find out: $ 0launch --version 0launch (zero-install) 0.21 Other hints can be found here: http://0install.net/injector-trouble.html > 2) I keep getting the message: > File "/root/Desktop/Downloads/Mouse-0.8.3/settings.py", line 23, in ? > rox_session = bus.get_service('net.sf.rox.Session') > AttributeError: 'SessionBus' object has no attribute 'get_service' > > Trying to install Mouse and some other applets. What am I missing? I > thought I had latest and greatest. The D-BUS API keeps changing. I'm afraid I've lost track of which versions of D-BUS are compatible with which versions of the configuration applets :-( (Guido: feel free to add the latest versions of your configlets to svn - the config directory only contains the old LookAndFeel one at the moment) -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Dennis T. <2t...@in...> - 2006-07-28 21:17:51
|
mike wrote: > I folks, > > I've been using Rox for a while, and am actually using it as my shell > permanently. Have multiple issue's I'd like help on: > > 1) When I click on many tasks, or drag a link to AppAdd, I get this error: > Error updating interface > http://rox4debian.berlios.de/0install/Libwnck18.xml > No signatures found. Errors from GPG: > gpg: no valid OpenPGP data found > gpg: decrypt_message failed: eof > > Is this me, or the application? It's happening a good bit (TaskList, > TaskTray, etc.). Seems like many programs I want to use. > Which version of 0install-injector are you using? xml-signing was introduced in 0.18, so you may have to update the injector (current version is 0.21). > 2) I keep getting the message: > Traceback (most recent call last): > File > "/root/.cache/0install.net/implementations/sha1=6a2e548a80368bd8c2b5b3abedccf9a0a6cb4333/ROX-Lib2/python/rox/__init__.py", > line 189, in _excepthook > debug.show_exception(type, value, tb) > File > "/root/.cache/0install.net/implementations/sha1=6a2e548a80368bd8c2b5b3abedccf9a0a6cb4333/ROX-Lib2/python/rox/debug.py", > line 52, in show_exception > bug_report = 'Traceback (most recent call last):\n' + \ > File "/root/Desktop/Downloads/Mouse-0.8.3/AppRun", line 6, in ? > from settings import settings, Setting > File "/root/Desktop/Downloads/Mouse-0.8.3/settings.py", line 23, in ? > rox_session = bus.get_service('net.sf.rox.Session') > AttributeError: 'SessionBus' object has no attribute 'get_service' > > Trying to install Mouse and some other applets. What am I missing? I > thought I had latest and greatest. > You seem to have a dbus-version >= 0.33, which isn't supported by most (all?) configlets. |
From: Thomas L. <ta...@gm...> - 2006-07-27 20:39:37
|
On 7/27/06, Dennis Tomas <2t...@in...> wrote: > Thomas Leonard wrote: > > I used 'Show Handlers' before running it, which got me an empty handlers > > directory. Had to delete it to get it populated with the default handlers. > I've uploaded the new version 0.2.3, [ snip lots of fixed stuff - thanks! ] > > It then ran, and I got an audio icon for my CD :-) Err... I mean sound card! > This is actually the icon for the soundcard (if it's the one you mention > in the next paragraph). > Do AudioCDs show up with the right label? "I couldn't add the device '/org/freedesktop/Hal/devices/volume_part_1_size_393666560' because there's an error in the handler for AudioCDs!" Buggy handler: <module 'Volume.AudioCD' from '/home/talex/.cache/0install.net/implementations/sha1=86dfa41254c0c809df51b1d33db9c86119a33e17/DeviceHandler/Handlers/Volume/AudioCD/__init__.pyc'>" ROX-Session error log shows: ** (ROX-Filer:2637): WARNING **: Panel item path='/home/talex/.local/share/rox4debian.berlios.de/DeviceHandler/Devices/volume_part_1_size_393666560', label='(null)' not found Exception exceptions.UnboundLocalError: "local variable 'dev_wrapper' referenced before assignment" in 'dbus_bindings._GIL_safe_cmessage_function_handler' ignored > And do you know a good > CD-Player app that takes the device as command-line argument? The > default is grip now, which however isn't as good a player as a ripper. No idea. Many people will prefer to rip everything I guess. > > - My USB camera didn't appear as a storage device. Not sure what the > > best attribute is, but putting > > or device_has_property(device, 'storage.drive_type', 'disk') > > in Handlers/Volume/__init__.py seems to work. > This made DeviceHandler show me /dev/hda. I've changed it to check if > 'storage.hotpluggable' is True. Does it work? If not it would be nice to > see the list of hal-properties for your camera. It shows an icon for 'sda', but it needs to mount 'sda1'. Why are errors from pmount sent to /dev/null? Properties (from hal-device... not quite sure how HAL works yet!): 2: udi = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' info.addons = { 'hald-addon-storage' } (string list) block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' (string) info.udi = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' (string) storage.requires_eject = false (bool) storage.hotpluggable = true (bool) info.capabilities = { 'storage', 'block' } (string list) info.category = 'storage' (string) info.product = 'Sony DSC' (string) info.vendor = 'Sony' (string) storage.removable = true (bool) storage.physical_device = '/org/freedesktop/Hal/devices/usb_device_54c_10_noserial_if0' (string) storage.lun = 0 (0x0) (int) storage.firmware_version = '0450' (string) storage.serial = 'Sony_Sony_DSC' (string) storage.vendor = 'Sony' (string) storage.model = 'Sony DSC' (string) storage.drive_type = 'disk' (string) storage.automount_enabled_hint = true (bool) storage.media_check_enabled = true (bool) storage.no_partitions_hint = false (bool) storage.bus = 'usb' (string) block.is_volume = false (bool) block.minor = 0 (0x0) (int) block.major = 8 (0x8) (int) block.device = '/dev/sda' (string) linux.hotplug_type = 3 (0x3) (int) info.parent = '/org/freedesktop/Hal/devices/usb_device_54c_10_noserial_if0_scsi_host_scsi_device_lun0' (string) linux.sysfs_path_device = '/sys/block/sda' (string) linux.sysfs_path = '/sys/block/sda' (string) Maybe a menu item to launch hal-device-manager would be useful, or some way to create rules easily from HAL's list (a bit like the old udevruler program?)... Thanks! -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Dennis T. <2t...@in...> - 2006-07-29 08:06:17
|
Thomas Leonard wrote: [...] >> Do AudioCDs show up with the right label? >> > "I couldn't add the device > '/org/freedesktop/Hal/devices/volume_part_1_size_393666560' because > there's an error in the handler for AudioCDs!" > > Buggy handler: <module 'Volume.AudioCD' from > '/home/talex/.cache/0install.net/implementations/sha1=86dfa41254c0c809df51b1d33db9c86119a33e17/DeviceHandler/Handlers/Volume/AudioCD/__init__.pyc'>" > > ROX-Session error log shows: > > ** (ROX-Filer:2637): WARNING **: Panel item > path='/home/talex/.local/share/rox4debian.berlios.de/DeviceHandler/Devices/volume_part_1_size_393666560', > label='(null)' not found > Exception exceptions.UnboundLocalError: "local variable 'dev_wrapper' > referenced before assignment" in > 'dbus_bindings._GIL_safe_cmessage_function_handler' ignored > Sorry, once again non-helpful error-messages. The new version 0.2.4 should show the error. You can also get some debugging output by changing "debugging" to True in dh_global.py. >>> - My USB camera didn't appear as a storage device. Not sure what the >>> best attribute is, but putting >>> or device_has_property(device, 'storage.drive_type', 'disk') >>> in Handlers/Volume/__init__.py seems to work. >>> >> This made DeviceHandler show me /dev/hda. I've changed it to check if >> 'storage.hotpluggable' is True. Does it work? If not it would be nice to >> see the list of hal-properties for your camera. >> > > It shows an icon for 'sda', but it needs to mount 'sda1'. Why are > errors from pmount sent to /dev/null? > That's in order to mute the "already mounted"-message that appeared every time you open something that's already mounted. You can see the error by choosing "Mount" from the menu. > Properties (from hal-device... not quite sure how HAL works yet!): > > 2: udi = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' > [...] Thanks. Are there any child-nodes to this entry when it is shown in hal-device-manager? For example, my hard-drive is shown as "storage", having children with "volume" capability, representing the partitions. Could you please send me the properties for the volume /dev/sda1 (if it's there)? I've rewritten the Volume.handles_device() function to return True for everything that has the property 'volume.fsusage' set to 'filesystem' and is removable, or is a floppy drive (because floppy disks aren't recognized as volumes by HAL). > Maybe a menu item to launch hal-device-manager would be useful, Added. > or > some way to create rules easily from HAL's list (a bit like the old > udevruler program?)... > Good idea, though I don't know udevruler. I'll have a look at it. Maybe additional user-editable properties could be stored per handler and then be OR'ed to the built-ins. |
From: Thomas L. <ta...@gm...> - 2006-07-29 09:36:23
|
On 7/29/06, Dennis Tomas <2t...@in...> wrote: > Thomas Leonard wrote: > > [...] > >> Do AudioCDs show up with the right label? > >> > > "I couldn't add the device > > '/org/freedesktop/Hal/devices/volume_part_1_size_393666560' because > > there's an error in the handler for AudioCDs!" > Sorry, once again non-helpful error-messages. The new version 0.2.4 > should show the error. You can also get some debugging output by > changing "debugging" to True in dh_global.py. OK - the error is "Permission Denied". sudo chmod a+r /dev/hdb sorted it out, but I guess it will be reset next time I boot. > >Why are errors from pmount sent to /dev/null? > > > That's in order to mute the "already mounted"-message that appeared > every time you open something that's already mounted. You can see the > error by choosing "Mount" from the menu. OK, it works now except that I the first time I click on it it tries to open /media/sda1, but the second time it opens the correct location (/media/camera). You can test whether something is mounted by comparing the block device ID with that of the parent directory (though you might need to make the AppRun a Python script to do the test; Python's ismounted works this way). > > Properties (from hal-device... not quite sure how HAL works yet!): > > > > 2: udi = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' > > > [...] > > Thanks. Are there any child-nodes to this entry when it is shown in > hal-device-manager? For example, my hard-drive is shown as "storage", > having children with "volume" capability, representing the partitions. > Could you please send me the properties for the volume /dev/sda1 (if > it's there)? There is a child called 'Volume (vfat)': 0: udi = '/org/freedesktop/Hal/devices/volume_part1_size_238663168' volume.unmount.valid_options = { 'lazy' } (string list) volume.mount.valid_options = { 'ro', 'sync', 'dirsync', 'noatime', 'nodiratime', 'noexec', 'quiet', 'utf8', 'shortname=', 'codepage=', 'iocharset=', 'umask=', 'dmask=', 'fmask=', 'uid=' } (string list) org.freedesktop.Hal.Device.Volume.method_execpaths = { 'hal-system-storage-mount', 'hal-system-storage-unmount', 'hal-system-storage-eject' } (string list) org.freedesktop.Hal.Device.Volume.method_signatures = { 'ssas', 'as', 'as' } (string list) org.freedesktop.Hal.Device.Volume.method_names = { 'Mount', 'Unmount', 'Eject' } (string list) info.interfaces = { 'org.freedesktop.Hal.Device.Volume' } (string list) volume.ignore = false (bool) info.udi = '/org/freedesktop/Hal/devices/volume_part1_size_238663168' (string) volume.partition.msdos_part_table_type = 6 (0x6) (int) info.product = 'Volume (vfat)' (string) volume.size = 238663168 (0xe39b600) (uint64) volume.num_blocks = 466139 (0x71cdb) (int) volume.block_size = 512 (0x200) (int) volume.partition.number = 1 (0x1) (int) info.capabilities = { 'volume', 'block' } (string list) info.category = 'volume' (string) volume.is_partition = true (bool) volume.is_disc = false (bool) volume.is_mounted = false (bool) volume.mount_point = '' (string) volume.label = '' (string) volume.uuid = '' (string) volume.fsversion = 'FAT16' (string) volume.fsusage = 'filesystem' (string) volume.fstype = 'vfat' (string) storage.model = '' (string) block.storage_device = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' (string) block.is_volume = true (bool) block.minor = 1 (0x1) (int) block.major = 8 (0x8) (int) block.device = '/dev/sda1' (string) linux.hotplug_type = 3 (0x3) (int) info.parent = '/org/freedesktop/Hal/devices/storage_serial_Sony_Sony_DSC' (string) linux.sysfs_path_device = '/sys/block/sda/sda1' (string) linux.sysfs_path = '/sys/block/sda/sda1' (string) > I've rewritten the Volume.handles_device() function to return True for > everything that has the property 'volume.fsusage' set to 'filesystem' > and is removable, or is a floppy drive (because floppy disks aren't > recognized as volumes by HAL). Seems to work now :-) > > Maybe a menu item to launch hal-device-manager would be useful, > Added. > > > or > > some way to create rules easily from HAL's list (a bit like the old > > udevruler program?)... > > > Good idea, though I don't know udevruler. I'll have a look at it. > Maybe additional user-editable properties could be stored per handler > and then be OR'ed to the built-ins. Thanks! -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Thomas L. <ta...@gm...> - 2006-07-29 09:55:27
|
On 7/24/06, Dennis Tomas <2t...@in...> wrote: > DeviceHandler is a new panel applet that automatically adds inserted > media / attached devices to the panel. > It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be > stopped to avoid conflicts. > > DeviceHandler is intended to replace "Media" and differs from it in some > respects: Do you want me to remove Media from ROX-All for the 0.8 release? -- Dr Thomas Leonard http://rox.sourceforge.net GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 |
From: Dennis T. <2t...@in...> - 2006-07-29 10:59:39
|
Thomas Leonard wrote: > On 7/24/06, Dennis Tomas <2t...@in...> wrote: > >> DeviceHandler is a new panel applet that automatically adds inserted >> media / attached devices to the panel. >> It needs dbus >= 0.33 and hal. All automount-daemons like ivman must be >> stopped to avoid conflicts. >> >> DeviceHandler is intended to replace "Media" and differs from it in some >> respects: >> > > Do you want me to remove Media from ROX-All for the 0.8 release? Yes, it's pretty awkward and slow anyway and never worked as reliable as I wanted, though it was a good prototype to learn from. I've seen you have included DeviceHandler, thanks. But I think you need to update the AppInfo.xml, because of the new menu items for showing the handlers. |