From 9ab074192a8a21108bd0a6c76738a8f5d86c559f Mon Sep 17 00:00:00 2001 From: Victor Yap Date: Wed, 18 Jun 2014 13:54:27 -0400 Subject: [PATCH] Added display 'output' numerical/identifier prefix On some systems (like as a VirtualBox guest), the display-settings dialog needs better, discerning identifiers for displays. It is much easier to find a display when it is numbered than when all displays share the same friendly name because they are all from the same vendor. This fix prefixes the 'output' number to the friendly-but-not-unique names. It should apply to 3 main UI elements: - List of displays - Dropdown for selecting display position - Display identification "floater" boxes (when "Identify Displays" button is pressed). --- dialogs/display-settings/display-name.c | 6 +++--- dialogs/display-settings/edid.h | 4 +++- dialogs/display-settings/xfce-randr.c | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/dialogs/display-settings/display-name.c b/dialogs/display-settings/display-name.c index 5e8f8b1..686b3bf 100644 --- a/dialogs/display-settings/display-name.c +++ b/dialogs/display-settings/display-name.c @@ -252,7 +252,7 @@ find_vendor (const char *code) }; char * -make_display_name (const MonitorInfo *info) +make_display_name (const MonitorInfo *info, guint output) { const char *vendor; int width_mm, height_mm, inches; @@ -297,7 +297,7 @@ make_display_name (const MonitorInfo *info) } if (inches > 0) - return g_strdup_printf ("%s %d\"", vendor, inches); + return g_strdup_printf ("%i:%s %d\"", output, vendor, inches); else - return g_strdup (vendor); + return g_strdup_printf ("%i:%s ", output, vendor); } diff --git a/dialogs/display-settings/edid.h b/dialogs/display-settings/edid.h index 952254f..0b0a5b0 100644 --- a/dialogs/display-settings/edid.h +++ b/dialogs/display-settings/edid.h @@ -24,6 +24,8 @@ /* Downloaded from (git commit 42452cada8cf1c4d7a81aded0a3ddbb5e97441de) */ +#include + #ifndef EDID_H #define EDID_H @@ -191,6 +193,6 @@ struct MonitorInfo }; MonitorInfo *decode_edid (const uchar *data); -char *make_display_name (const MonitorInfo *info); +char *make_display_name (const MonitorInfo *info, guint output); #endif diff --git a/dialogs/display-settings/xfce-randr.c b/dialogs/display-settings/xfce-randr.c index c114824..968b021 100644 --- a/dialogs/display-settings/xfce-randr.c +++ b/dialogs/display-settings/xfce-randr.c @@ -633,7 +633,7 @@ xfce_randr_friendly_name (XfceRandr *randr, info = decode_edid (edid_data); if (info) - friendly_name = make_display_name (info); + friendly_name = make_display_name (info, output); g_free (info); g_free (edid_data); -- 1.9.1