Index: src/java/org/jivesoftware/spark/ui/ContactItem.java
===================================================================
--- src/java/org/jivesoftware/spark/ui/ContactItem.java	(revision 10832)
+++ src/java/org/jivesoftware/spark/ui/ContactItem.java	(working copy)
@@ -66,7 +66,7 @@
     private int iconSize;
 
     private boolean avatarsShowing;
-
+    
     /**
      * Creates a new instance of a contact.
      *
@@ -487,8 +487,17 @@
             }
         }
         else if (presence.isAvailable()) {
-            getNicknameLabel().setFont(new Font("Dialog", Font.ITALIC, fontSize));
-            getNicknameLabel().setForeground(Color.gray);
+      	  	LocalPreferences pref = SettingsManager.getLocalPreferences();
+      	  	if(pref.isGrayingOutEnabled())
+      	  	{
+      	  		getNicknameLabel().setFont(new Font("Dialog", Font.ITALIC, fontSize));
+               getNicknameLabel().setForeground(Color.gray);	
+      	  	}
+      	  	else
+      	  	{
+      	  		getNicknameLabel().setFont(new Font("Dialog", Font.PLAIN, fontSize));
+               getNicknameLabel().setForeground(Color.black);
+      	  	}
             if (status != null) {
                 setStatusText(status);
             }
Index: src/java/org/jivesoftware/spark/ui/themes/ThemePanel.java
===================================================================
--- src/java/org/jivesoftware/spark/ui/themes/ThemePanel.java	(revision 10832)
+++ src/java/org/jivesoftware/spark/ui/themes/ThemePanel.java	(working copy)
@@ -56,6 +56,8 @@
     private JCheckBox showVCards;
     private JLabel avatarSizeLabel;
     private JComboBox avatarSizeField;
+    
+    private JCheckBox disableGrayingIdleContacts;
 
     /**
      * Construct UI
@@ -92,6 +94,8 @@
         
         showVCards = new JCheckBox(Res.getString("title.appearance.showVCards"));
 
+        disableGrayingIdleContacts = new JCheckBox(Res.getString("checkbox.graying.out"));
+        
         // Set ResourceUtils
         ResourceUtils.resLabel(messageStyleLabel, messageStyleBox, Res.getString("label.message.style") + ":");
         ResourceUtils.resLabel(emoticonsLabel, emoticonBox, Res.getString("label.emoticons") + ":");
@@ -140,6 +144,7 @@
         add(avatarSizeLabel, new GridBagConstraints(0, 8, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
         add(avatarSizeField, new GridBagConstraints(1, 8, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
         add(showVCards, new GridBagConstraints(0, 9, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
+        add(disableGrayingIdleContacts, new GridBagConstraints(0, 10, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
 
 
         // Activate live one.
@@ -178,6 +183,8 @@
         showVCards.setSelected(pref.areVCardsVisible());
         
         showAvatarsBox.setSelected(pref.areAvatarsVisible());
+        
+        disableGrayingIdleContacts.setSelected(pref.isGrayingOutEnabled());
        
 
         if (pref.getContactListIconSize() == 16) {
@@ -265,6 +272,12 @@
     public boolean useSystemLookAndFeel() {
         return systemLookAndFeelBox.isSelected();
     }
+    
+    public boolean isGrayingOutEnabled() {
+       return disableGrayingIdleContacts.isSelected();
+    }
+    
+    
 
     /**
      * Adds a new Emoticon pack to Spark.
Index: src/java/org/jivesoftware/spark/ui/themes/ThemePreference.java
===================================================================
--- src/java/org/jivesoftware/spark/ui/themes/ThemePreference.java	(revision 10832)
+++ src/java/org/jivesoftware/spark/ui/themes/ThemePreference.java	(working copy)
@@ -83,6 +83,7 @@
     public void commit() {
         final String pack = panel.getSelectedEmoticonPack();
         boolean emotEnabled = panel.areEmoticonsEnabled();
+        boolean grayingOutEnabled = panel.isGrayingOutEnabled();
         LocalPreferences pref = SettingsManager.getLocalPreferences();
         pref.setEmoticonPack(pack);
         pref.setEmoticonsEnabled(emotEnabled);
@@ -90,6 +91,7 @@
         pref.setAvatarVisible(panel.areAvatarsVisible());
         pref.setContactListIconSize(panel.getContactListIconSize());
         pref.setVCardsVisible(panel.areVCardsVisible());
+        pref.setGrayingOutEnabled(grayingOutEnabled);
 
         try {
             String chatRoomFontSize = panel.getChatRoomFontSize();
Index: src/java/org/jivesoftware/sparkimpl/settings/local/LocalPreferences.java
===================================================================
--- src/java/org/jivesoftware/sparkimpl/settings/local/LocalPreferences.java	(revision 10834)
+++ src/java/org/jivesoftware/sparkimpl/settings/local/LocalPreferences.java	(working copy)
@@ -571,6 +571,14 @@
         return getBoolean("emoticonsEnabled", true);
     }
 
+    public void setGrayingOutEnabled(boolean enabled) {
+       setBoolean("GrayingOut", enabled);
+    }
+
+    public boolean isGrayingOutEnabled() {
+       return getBoolean("GrayingOut", true);
+    }
+   
     public void setUseSystemLookAndFeel(boolean sysLAF) {
         setBoolean("useSystemLookAndFeel", sysLAF);
     }
Index: src/resources/i18n/spark_i18n.properties
===================================================================
--- src/resources/i18n/spark_i18n.properties	(revision 10834)
+++ src/resources/i18n/spark_i18n.properties	(working copy)
@@ -303,6 +303,7 @@
 checkbox.disable.chat.history = &Disable Chat History
 checkbox.disable.prev.chat.history = &Disable showing previous conversation in chat
 checkbox.enable.emoticons = Enable Em&oticons
+checkbox.graying.out = Graying out Idling Contacts (changes will take effect after restart)
 checkbox.idle.enabled = &Idle Enabled
 checkbox.launch.on.startup = &Launch on Startup
 checkbox.notify.user.comes.online = Notify when a user comes online
Index: src/resources/i18n/spark_i18n_de.properties
===================================================================
--- src/resources/i18n/spark_i18n_de.properties	(revision 10834)
+++ src/resources/i18n/spark_i18n_de.properties	(working copy)
@@ -221,6 +221,7 @@
 checkbox.notify.user.goes.offline = Benachrichtigen, wenn ein User Offline geht
 checkbox.show.avatars.in.contactlist = Zeige Avatars in der Kontaktliste
 checkbox.broadcast.hide.offline.user = Offline User ausblenden
+checkbox.graying.out = Nichtstuende Kontakte ausgrauen (Änderungen nach Neustart wirksam)
 
 label.user.on.public.network = Teilnehmer befindet sich in einem öffentlichen Netzwerk
 label.change.password.to = &Neues Passwort eingeben
