Here's what I'm doing.
* Start gtkwave, "File" -> "Open New Tab" and select my test file scratch2.vcd.
* In the top-left pane, click on "Top".
* In the bottom-left pane, control-click to select four signals and press "Append".
* In the main menu, "Time" -> "Zoom" ->"Zoom Best Fit".
There are now four traces visible, green on black.
* In the "Signals" pane, select the first signal (timing_ch_1).
* Right-click on this signal, "Data Format" -> "Translate Filter Process" -> "Enable and Select".
* "Add Proc Filter to List" and select my compiled filter (gtkwave_pps).
* Under "Process Filter Select", click on the filter name and then "OK".
There is no visible change to the GTKWave display, but a trace file showing exactly what gtkwave_pps is doing has logged that it has started.
My original VCD file was sparse, with only some leading edges since I was interested in the relative timing. I've edited that to make sure that there are both leading and trailing but it appears to have had no effect.
So it's either something peculiar to this specific version/variant of GTKWave, or I still haven't got the GUI interaction right.
Alternatively GTKWave doesn't like my test data... please could you take a quick look at the attached file using your setup.
MarkMLl