gnome-disk-utility volume monitor



Hey,

Here we go with the new native volume monitor to replace the HAL volume
monitor. This volume monitor uses the gnome-disk-utility library (which
is also used in the Palimpsest Disk Utility) which in turn uses
DeviceKit-disks. Which in turn is the replacement for HAL.

This monitor is different from the HAL volume monitor in a couple of
ways when it comes to user experience

 - the drives, volumes and mounts are completely in sync with reality
   and updated in real time as the device changes. So if you use
   Palimpsest (or, thanks to udev >= 138, any other tool like gparted,
   fdisk, mkfs etc) to modify the device (like adding a new partition
   or creating a file system etc.) this are automatically updated.

   Also, I've made sure we don't automount newly created file systems.

 - Software RAID devices are now properly displayed
   http://people.freedesktop.org/~david/dkd-gdu-gvfs.png
   although we don't provide any way to start/stop them; that would
   require API additions to GDrive; not entirely sure we want that

 - we no longer depend on gnome-mount; instead users should be using
   gvfs-mount or something else if they need to mount/unmount stuff from
   the commandline

   - as a result we use GMountOperation to unlock LUKS devices

   - gnome-mount had some code for handling mount options both on
     a per-device and per-filesystem basis. If we want something
     like that (I'm not sure we do) we need to add some infrastructure
     to either gio or gvfs or both. And then also teach Nautilus about
     it. But my understanding is that we need this *anyway* to handle
     some FTP mounts or something, right?

     Anyway, for this monitor, users can use /etc/fstab if they need
     mount options for native devices.

 - LUKS devices will get an open or closed padlock emblem depending
   on whether the device is locked or unlocked

 - we now use vendor/model to identify optical drives, e.g.
   "MATSHITA DVD/CDRW UJDA775" instead of "DVD/CD-RW Drive"

Note that the libgdu library is currently considered unstable (and will
be for some time in the future) so this volume monitor not enabled by
default with this patch; you will have to pass --enable-gdu to configure
for this to work. There are couple of new strings but I haven't added
anything to po/POTFILES.in since we are in string freeze. Once 2.27
opens I'll do that.

I'm not entirely sure we want to commit this to HEAD this late in the
game; it might be better to wait until 2.27 opens. Your call.

To use this you will need gnome-disk-utility HEAD from git.gnome.org and
DeviceKit-disks HEAD from git.freedesktop.org. I'm going to do releases
of these projects tomorrow.

The patch is 155K so I've put it here

http://people.freedesktop.org/~david/gvfs-gdu-volume-monitor.patch

instead of attaching it to the mail.

$ diffstat gvfs-gdu-volume-monitor.patch
 configure.ac                                            |   29
 monitor/Makefile.am                                     |    4 
 monitor/gdu/Makefile.am                                 |   53 
 monitor/gdu/gdu-volume-monitor-daemon.c                 |   46 
 monitor/gdu/gdu.monitor                                 |    5 
 monitor/gdu/ggdudrive.c                                 |  691 +++++++
 monitor/gdu/ggdudrive.h                                 |   69 
 monitor/gdu/ggdumount.c                                 |  958 ++++++++
 monitor/gdu/ggdumount.h                                 |   64 
 monitor/gdu/ggduvolume.c                                | 1377 ++++++++
 monitor/gdu/ggduvolume.h                                |   78 
 monitor/gdu/ggduvolumemonitor.c                         | 1432 ++++++++
 monitor/gdu/ggduvolumemonitor.h                         |   60 
 monitor/gdu/org.gtk.Private.GduVolumeMonitor.service.in |    3 
 monitor/gdu/polkit.c                                    |  137 +
 monitor/gdu/polkit.h                                    |   44 
 16 files changed, 5049 insertions(+), 1 deletion(-)

    David




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]