Index: /trunk/.classpath
===================================================================
--- /trunk/.classpath	(revision 1547)
+++ /trunk/.classpath	(revision 1548)
@@ -4,6 +4,4 @@
 	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3.8.1"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="lib" path="releases/jars/activation.jar"/>
-	<classpathentry kind="lib" path="releases/jars/cobra.jar"/>
 	<classpathentry kind="lib" path="releases/jars/iText-2.1.3.jar"/>
 	<classpathentry kind="lib" path="releases/jars/jcommon-1.0.13.jar"/>
@@ -11,7 +9,5 @@
 	<classpathentry kind="lib" path="releases/jars/JFreeCharts.jar"/>
 	<classpathentry kind="lib" path="releases/jars/js.jar"/>
-	<classpathentry kind="lib" path="releases/jars/jython-standalone-2.7.0.jar"/>
 	<classpathentry kind="lib" path="releases/jars/lobo.jar"/>
-	<classpathentry kind="lib" path="releases/jars/lobo-pub.jar"/>
 	<classpathentry kind="lib" path="releases/jars/xercesImpl.jar"/>
 	<classpathentry kind="lib" path="releases/jars/jazzy-core.jar"/>
@@ -22,10 +18,5 @@
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="lib" path="releases/jars/svgSalamander.jar"/>
-	<classpathentry kind="lib" path="releases/jars/jl1.0.1.jar"/>
-	<classpathentry kind="lib" path="releases/jars/tritonus_share.jar"/>
-	<classpathentry kind="lib" path="releases/jars/mp3spi1.9.5.jar"/>
-	<classpathentry kind="lib" path="releases/jars/TarsosDSP-2.3.jar"/>
 	<classpathentry kind="lib" path="releases/jars/javax.mail.jar"/>
-	<classpathentry kind="lib" path="releases/jars/sqlite-jdbc-3.23.1.jar"/>
 	<classpathentry kind="lib" path="releases/jars/Shamir.jar"/>
 	<classpathentry kind="output" path="bin/src"/>
Index: /trunk/META-INF/MANIFEST.MF
===================================================================
--- /trunk/META-INF/MANIFEST.MF	(revision 1547)
+++ /trunk/META-INF/MANIFEST.MF	(revision 1548)
@@ -5,6 +5,4 @@
 Bundle-Version: 1.0.0.qualifier
 Bundle-ClassPath: Expeditee.jar,
- releases/jars/activation.jar,
- releases/jars/cobra.jar,
  releases/jars/iText-2.1.3.jar,
  releases/jars/jcommon-1.0.13.jar,
@@ -13,5 +11,4 @@
  releases/jars/js.jar,
  releases/jars/lobo.jar,
- releases/jars/lobo-pub.jar,
  releases/jars/mail.jar,
  releases/jars/xercesImpl.jar,
@@ -69,10 +66,4 @@
  com.mxgraph.util.svg,
  com.mxgraph.view,
- com.steadystate.css,
- com.steadystate.css.dom,
- com.steadystate.css.parser,
- com.steadystate.css.parser.selectors,
- com.sun.activation.registries,
- com.sun.activation.viewers,
  com.sun.mail.handlers,
  com.sun.mail.iap,
@@ -98,5 +89,4 @@
  com.swabunga.util,
  images,
- javax.activation,
  javax.mail,
  javax.mail.event,
@@ -236,15 +226,5 @@
  org.lobobrowser.context,
  org.lobobrowser.gui,
- org.lobobrowser.html,
- org.lobobrowser.html.domimpl,
- org.lobobrowser.html.gui,
- org.lobobrowser.html.io,
- org.lobobrowser.html.js,
- org.lobobrowser.html.parser,
- org.lobobrowser.html.renderer,
- org.lobobrowser.html.style,
- org.lobobrowser.html.test,
  org.lobobrowser.io,
- org.lobobrowser.js,
  org.lobobrowser.main,
  org.lobobrowser.protocol.res,
@@ -305,11 +285,5 @@
  org.nfunk.jepexamples,
  org.nfunk.jeptesting,
- org.w3c.css.sac,
- org.w3c.css.sac.helpers,
- org.w3c.dom.css,
  org.w3c.dom.html,
- org.w3c.dom.html2,
- org.w3c.dom.stylesheets,
- org.w3c.dom.views,
  org.xamjwg.platform,
  properties,
Index: /trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java
===================================================================
--- /trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java	(revision 1547)
+++ /trunk/src/org/expeditee/gio/gesture/StandardGestureActions.java	(revision 1548)
@@ -4716,4 +4716,9 @@
 	 * attributes, so it is not checked.
 	 * 
+	 * 25/01/2021: If the user has Items attached to the cursor, they are used to 
+	 * specify what attributes to extract.  For example, if the user has "Width:"
+	 * attached to their cursor, only the width attribute will be extracted rather
+	 * than all of them.
+	 * 
 	 * @param toExtract
 	 *            Item containing the Item to extract the attributes from.
@@ -4723,17 +4728,19 @@
 			return;
 		}
-
-		if (FreeItems.hasItemsAttachedToCursor()) {
-			return;
-		}
-
+		
 		Item attribs;
 		Item item = toExtract;
+		Object toExtractFrom = item.isFrameName() ? item.getParent() : item; 
+
 		// Extract the frames attributes when the user clicks on the frame name
 		FrameGraphics.changeHighlightMode(item, HighlightMode.None);
 		if (item.isFrameName()) {
-			attribs = AttributeUtils.extractAttributes(item.getParent());
+			attribs = AttributeUtils.extractAttributes(toExtractFrom);
 		} else {
-			attribs = AttributeUtils.extractAttributes(item);
+			attribs = AttributeUtils.extractAttributes(toExtractFrom);
+		}
+		
+		if (FreeItems.hasItemsAttachedToCursor()) {
+			return;
 		}
 
Index: /trunk/src/org/expeditee/gui/AttributeUtils.java
===================================================================
--- /trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1547)
+++ /trunk/src/org/expeditee/gui/AttributeUtils.java	(revision 1548)
@@ -22,4 +22,5 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedList;
@@ -427,5 +428,11 @@
 			throw new IncorrectTypeException("toExtract", "Item | Frame");
 		}
-
+		
+		// If there are Items attached to cursor, extract only those properties being asked for
+		if (FreeItems.hasItemsAttachedToCursor()) {
+			extractSpecifiedAttributes(toExtract, attribSet);
+			return null;
+		}
+		
 		// StringBuffer to store all the extracted Attribute:Value pairs
 		StringBuffer attributes = new StringBuffer();
@@ -468,4 +475,34 @@
 	}
 
+	/**
+	 * Extracts only the attributes specified by the FreeItems.  
+	 * Designed to be called exclusively from AttributeUtils::extractAttributes
+	 * @param toExtract The Item or Frame to extract attributes from
+	 * @param attributes The set of attributes to consult
+	 */
+	private static void extractSpecifiedAttributes(Object toExtract, AttributeSet attributes) {
+		Collection<Text> textItemsOnCursor = FreeItems.getTextItems();
+		List<String> keys = attributes.keys;
+		
+		for (Text canditate: textItemsOnCursor) {
+			String canditateContent = canditate.getText().trim();
+			if (canditateContent.charAt(canditateContent.length() - 1) == ':') {
+				String attributeName = canditateContent.substring(0, canditateContent.length() - 1);
+				String attributeNameLower = attributeName.toLowerCase();
+				if (keys.contains(attributeNameLower)) {
+					Attribute a = attributes.get(attributeNameLower);
+					// Make sure the classes of the methods match the item
+					if (a != null && a.getter != null && a.getter.getDeclaringClass().isAssignableFrom(toExtract.getClass())) {	
+						String value = getValue(attributeNameLower, a, toExtract, true);
+						if (value == null) {
+							continue;
+						}
+						canditate.setText(attributeName + ": " + value);
+					}
+				}
+			}
+		}
+	}
+		
 	/**
 	 * Gets a string form of the value for a given item get method.
