Eu consegui resolver isso com muita brincadeira.
Primeiro, descobri que as variáveis padrão podem, de fato, ser passadas para a configuração "Aparece se o comando der a saída" true "'na guia Ambiente usando zenity para ver o que isso estava fazendo. O que nos interessa aqui é %f
. Também vale a pena notar que o comando deve produzir "true" sem nenhuma nova linha para seu stdout, em vez de simplesmente usar um código de retorno zero para dizer verdadeiro.
Eu então tentei inserir o seguinte comando:
ls '%f' | grep -q 'Makefile' && echo -n 'true'
O que deve funcionar bem, mas parece que deve haver um comando SINGLE nesse campo, o encanamento e & amp; & amp; não vai funcionar.
Acabei criando o seguinte script que marquei como executável e coloquei no meu diretório bin
#!/bin/bash
# testexists
ls | grep -q && echo -n 'true'
Em seguida, coloco o seguinte no campo "Aparece se o comando gerar um campo" true "'
testexists '%f' 'Makefile'
E tudo começou a funcionar (por exemplo, meu comando make só aparece se a pasta contiver um Makefile).