<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -308,6 +308,9 @@ URL of the tracks page on Last.FM.
 .TP
 .B %R
 Remaining seconds of the played track.
+.TP
+.B %%
+A %.
 .SH COLORS
 .TP
 .B 0;30</diff>
      <filename>manual/shell-fm.1</filename>
    </modified>
    <modified>
      <diff>@@ -317,77 +317,82 @@ const char * meta(const char * fmt, int flags, struct hash * track) {
 		if(fmt[x] != '%')
 			string[length++] = fmt[x++];
 		else if(fmt[++x]) {
-			const char * keys [] = {
-				&quot;acreator&quot;,
-				&quot;ttitle&quot;,
-				&quot;lalbum&quot;,
-				&quot;Aartistpage&quot;,
-				&quot;Ttrackpage&quot;,
-				&quot;Lalbumpage&quot;,
-				&quot;dduration&quot;,
-				&quot;sstation&quot;,
-				&quot;SstationURL&quot;,
-				&quot;Rremain&quot;,
-				&quot;Iimage&quot;
-			};
-
-			register unsigned i = sizeof(keys) / sizeof(char *);
-
-			/* Look for a track value with that format flag. */
-			while(i--) {
-				if(fmt[x] == keys[i][0]) {
-					char * val = strdup(value(track, keys[i] + 1));
-					const char * color = NULL;
-
-					if(flags &amp; M_COLORED) {
-						char colorkey[64] = { 0 };
-						snprintf(colorkey, sizeof(colorkey), &quot;%c-color&quot;, keys[i][0]);
-						color = value(&amp; rc, colorkey);
-
-						if(color) {
-							/* Strip leading spaces from end of color (Author: Ondrej Novy) */
-							char * color_st = strdup(color);
-							size_t len = strlen(color_st) - 1;
-
-							assert(color_st != NULL);
-
-							while(isspace(color_st[len]) &amp;&amp; len &gt; 0) {
-								color_st[len] = 0;
-								len--;
+			if(fmt[x] == '%') {
+				string[length++] = fmt[x++];
+			}
+			else {
+				const char * keys [] = {
+					&quot;acreator&quot;,
+					&quot;ttitle&quot;,
+					&quot;lalbum&quot;,
+					&quot;Aartistpage&quot;,
+					&quot;Ttrackpage&quot;,
+					&quot;Lalbumpage&quot;,
+					&quot;dduration&quot;,
+					&quot;sstation&quot;,
+					&quot;SstationURL&quot;,
+					&quot;Rremain&quot;,
+					&quot;Iimage&quot;
+				};
+
+				register unsigned i = sizeof(keys) / sizeof(char *);
+
+				/* Look for a track value with that format flag. */
+				while(i--) {
+					if(fmt[x] == keys[i][0]) {
+						char * val = strdup(value(track, keys[i] + 1));
+						const char * color = NULL;
+
+						if(flags &amp; M_COLORED) {
+							char colorkey[64] = { 0 };
+							snprintf(colorkey, sizeof(colorkey), &quot;%c-color&quot;, keys[i][0]);
+							color = value(&amp; rc, colorkey);
+
+							if(color) {
+								/* Strip leading spaces from end of color (Author: Ondrej Novy) */
+								char * color_st = strdup(color);
+								size_t len = strlen(color_st) - 1;
+
+								assert(color_st != NULL);
+
+								while(isspace(color_st[len]) &amp;&amp; len &gt; 0) {
+									color_st[len] = 0;
+									len--;
+								}
+								length += snprintf(string + length, remn, &quot;\x1B[%sm&quot;, color_st);
+								free(color_st);
 							}
-							length += snprintf(string + length, remn, &quot;\x1B[%sm&quot;, color_st);
-							free(color_st);
 						}
-					}
 
-					if((flags &amp; M_RELAXPATH) &amp;&amp; val) {
-						unsigned n;
-						size_t l = strlen(val);
+						if((flags &amp; M_RELAXPATH) &amp;&amp; val) {
+							unsigned n;
+							size_t l = strlen(val);
 
-						for(n = 0; n &lt; l; ++n) {
-							if(val[n] == '/')
-								val[n] = '|';
+							for(n = 0; n &lt; l; ++n) {
+								if(val[n] == '/')
+									val[n] = '|';
+							}
 						}
-					}
 
-					if(flags &amp; M_SHELLESC) {
-						char * escaped = shellescape(val);
-						free(val);
-						val = escaped;
-					}
+						if(flags &amp; M_SHELLESC) {
+							char * escaped = shellescape(val);
+							free(val);
+							val = escaped;
+						}
 
-					length = strlen(strncat(string, val ? val : &quot;(unknown)&quot;, remn));
+						length = strlen(strncat(string, val ? val : &quot;(unknown)&quot;, remn));
 
-					free(val);
+						free(val);
 
-					if(color)
-						length = strlen(strncat(string, &quot;\x1B[0m&quot;, remn));
+						if(color)
+							length = strlen(strncat(string, &quot;\x1B[0m&quot;, remn));
 
-					break;
+						break;
+					}
 				}
-			}
 
-			++x;
+				++x;
+			}
 		}
 	}
 </diff>
      <filename>source/interface.c</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>de6394b67a757980450f63b5ee551ba0a54d99ed</id>
    </parent>
  </parents>
  <author>
    <name>Jonas Kramer</name>
    <email>jkramer@nex.scrapping.cc</email>
  </author>
  <url>http://github.com/jkramer/shell-fm/commit/68abe4f831c33df4ed31b9957834c85adff7b531</url>
  <id>68abe4f831c33df4ed31b9957834c85adff7b531</id>
  <committed-date>2009-06-18T10:28:40-07:00</committed-date>
  <authored-date>2009-06-18T10:28:40-07:00</authored-date>
  <message>Added %% format flag for %.</message>
  <tree>3b3e3b17bdab2e3176ba331b06307d0872585bda</tree>
  <committer>
    <name>Jonas Kramer</name>
    <email>jkramer@nex.scrapping.cc</email>
  </committer>
</commit>
