summaryrefslogtreecommitdiff
path: root/monitor
diff options
context:
space:
mode:
authorDavid Zeuthen <zeuthen@gmail.com>2012-12-05 18:51:37 -0500
committerDavid Zeuthen <zeuthen@gmail.com>2012-12-05 19:01:01 -0500
commitbb4e7ed0236855d2ced7cfd4445877822da8fe7b (patch)
tree724f143759400f3059c888007838aa70009675d6 /monitor
parent986f052f48aa87288ff4eb55fb7f8b9e157e33bc (diff)
downloadgvfs-bb4e7ed0236855d2ced7cfd4445877822da8fe7b.tar.gz
udisks2: add support for mount option x-gvfs-symbolic-icon
... and also the new Block:HintSymbolicIcon icon just added to udisks master. Signed-off-by: David Zeuthen <zeuthen@gmail.com>
Diffstat (limited to 'monitor')
-rw-r--r--monitor/udisks2/gvfsudisks2volume.c19
-rw-r--r--monitor/udisks2/what-is-shown.txt18
2 files changed, 29 insertions, 8 deletions
diff --git a/monitor/udisks2/gvfsudisks2volume.c b/monitor/udisks2/gvfsudisks2volume.c
index 7bb816cc..0266b5c2 100644
--- a/monitor/udisks2/gvfsudisks2volume.c
+++ b/monitor/udisks2/gvfsudisks2volume.c
@@ -165,6 +165,7 @@ apply_options_from_fstab (GVfsUDisks2Volume *volume,
{
gchar *name;
gchar *icon_name;
+ gchar *symbolic_icon_name;
name = gvfs_udisks2_utils_lookup_fstab_options_value (fstab_options, "x-gvfs-name=");
if (name != NULL)
@@ -180,6 +181,14 @@ apply_options_from_fstab (GVfsUDisks2Volume *volume,
volume->icon = g_themed_icon_new_with_default_fallbacks (icon_name);
g_free (icon_name);
}
+
+ symbolic_icon_name = gvfs_udisks2_utils_lookup_fstab_options_value (fstab_options, "x-gvfs-symbolic-icon=");
+ if (symbolic_icon_name != NULL)
+ {
+ g_clear_object (&volume->symbolic_icon);
+ volume->symbolic_icon = g_themed_icon_new_with_default_fallbacks (symbolic_icon_name);
+ g_free (symbolic_icon_name);
+ }
}
@@ -446,8 +455,16 @@ update_volume (GVfsUDisks2Volume *volume)
g_clear_object (&volume->icon);
volume->icon = g_themed_icon_new_with_default_fallbacks (hint);
}
+#if UDISKS_CHECK_VERSION(2,0,90)
+ hint = udisks_block_get_hint_symbolic_icon_name (volume->block);
+ if (hint != NULL && strlen (hint) > 0)
+ {
+ g_clear_object (&volume->symbolic_icon);
+ volume->symbolic_icon = g_themed_icon_new_with_default_fallbacks (hint);
+ }
+#endif
- /* Use x-gvfs-name=The%20Name and x-gvfs-icon=foo-name, if available */
+ /* Use x-gvfs-name=The%20Name, x-gvfs-icon=foo-name, x-gvfs-icon=foo-name-symbolic, if available */
g_variant_iter_init (&iter, udisks_block_get_configuration (block));
while (g_variant_iter_next (&iter, "(&s@a{sv})", &configuration_type, &configuration_value))
{
diff --git a/monitor/udisks2/what-is-shown.txt b/monitor/udisks2/what-is-shown.txt
index 8d0b0fe2..27d170bc 100644
--- a/monitor/udisks2/what-is-shown.txt
+++ b/monitor/udisks2/what-is-shown.txt
@@ -26,12 +26,13 @@ in its directory starts with a dot ("."), the device is not shown
either. This policy may be overriden by use of the options x-gvfs-show
and x-gvfs-hide.
-The name and icon to use for a device is chosen according to certain
-heuristics - for example, if a device has a filesystem label, it is
-used - if not, some other characteristic is used. The options
-x-gvfs-name=<value> and x-gvfs-icon=<value> can be used to override
-this policy with <value> being an URL-encoded string. For icons, the
-Icon Naming Specification is used.
+The name, icon and symbolic icon to use for a device is chosen
+according to certain heuristics - for example, if a device has a
+filesystem label, it is used - if not, some other characteristic is
+used. The options x-gvfs-name=<value>, x-gvfs-icon=<value> and
+x-gvfs-symbolic-icon=<value> can be used to override this policy with
+<value> being an URL-encoded string. For icons, the Icon Naming
+Specification is used.
Users are advised to use (stable) symlinks in the /dev/disk/ hierarchy
for /etc/fstab entries instead of the kernel names sda, sdb and so
@@ -55,6 +56,9 @@ EXAMPLES
# forcibly show device in user interface and with name "My Movies"
/dev/disk/by-uuid/4CAE8E5B5AF47502 /Movies auto defaults,x-gvfs-show,x-gvfs-name=My%20Movies 0 0
+# the same, but also with custom icons
+/dev/disk/by-uuid/4CAE8E5B5AF47502 /Movies auto defaults,x-gvfs-show,x-gvfs-name=My%20Movies,x-gvfs-icon=folder-videos,x-gvfs-symbolic-icon=folder-videos-symbolic 0 0
+
# forcibly show NFS mount in user interface
10.200.0.210:/tank/media /mnt/Filer nfs4 default,users,noauto,x-gvfs-show 0 0
@@ -76,7 +80,7 @@ SUBSYSTEMS=="usb", ENV{ID_VENDOR}=="*Kingston*", ENV{ID_MODEL}=="*DataTraveler*"
ENV{ID_SERIAL}=="WDC_WD1002FAEX-00Y9A0_WD-WCAW30039835", ENV{UDISKS_AUTO}="1", ENV{UDISKS_SYSTEM}="0"
# Specify name and icon name for a specific device.
-ENV{ID_MEDIA_PLAYER}=="apple-ipod", ENV{UDISKS_NAME}="David's iPod", ENV{UDISKS_ICON_NAME}="multimedia-player-ipod"
+ENV{ID_MEDIA_PLAYER}=="apple-ipod", ENV{UDISKS_NAME}="David's iPod", ENV{UDISKS_ICON_NAME}="multimedia-player-ipod", ENV{UDISKS_SYMBOLIC_ICON_NAME}="multimedia-player-ipod-symbolic"
# Make sure this specific hard disk does not appear in the user interface
ENV{ID_SERIAL}=="HITACHI_HTS723232A7A364_E3834563KRG2HN", ENV{UDISKS_IGNORE}="1"