As described here:
In particular, %% must escape % and not just ignore it as the current code does:
const char* p = strstr(cmdline, " %");
if( !strchr("fFuU", *(p + 2)) )
p = NULL;
AFAICS this applies to current trunk also.
You seem to have CSS turned off.
Please don't fill out this field.
What is your problem with that? That mentioned code is just a test if command line entered by user has mention of argument, nothing more. It has nothing to do with desktop entry execution. The execution of the desktop entry fully honors the '%%' sequence.