Hi,
First; the initial thanks - Thematic is fantastic, and I use it A LOT at work to help with building a decent basic skeleton for a site and a theme. Thanks HUGELY for the work put in on it.
Now; the issue.
In the course of building a Page Menu widget I ran into an annoyance that might not yet have occured to the Thematic writers. So I'm putting it forward for consideration.
Basically its a pain to get wp_page_menu working for you if you're writing a plugin that has to live alongside the Thematic page menu. And I think with minimal effort Thematic could play nicer.
By filtering wp_page_menu instead of capturing its output and then altering it in the one place really intended, Themtaic renders the core function useless to any other plugin or widget running on the site.
There's a quiet assumption in the use of that filter that only one page menu call would ever be made on a page; and we know what assumption is the mother of...
Basically any call to wp_page_menu gets the sf-menu class added to it; which makes that menu render horizontally. You can disable this with a remove_action call, but then you lose the main Thematic menu's rendering all together.
What I think the goal should be is for the Thematic system to modify the main menu's output, and leave other calls (the hell) alone.
As far as I can see (in my version, its possible this isn't the very latest), the only call to wp_page_menu in Thematic is in libraries/extensions/header-extensions.php on line 395, where it relies on the filter to add the class. You have basically effected a global change to a core function's output, for your ONE use per page.
My suggestiuon is that the filter be simply removed, restoring wp_page_menu to being useable as reasonably expected.
Then instead of line 395:
<?php wp_page_menu('sort_column=menu_order') ?>
Use:
$thematic_menu = wp_page_menu('sort_column=menu_order&echo=0');
echo preg_replace('/
<ul>/', '<ul class="sf-menu">', $thematic_menu, 1);
So, really, just targetting the ONE instance of the menu you are intending to change, rather than ALL instances, no matter who generates them.