
(2nd send: I have the impression that this mail wasn't well sent) Excerpts from Brent Yorgey's message of Tue Dec 29 17:13:37 +0100 2009:
On Mon, Dec 28, 2009 at 09:13:44PM -0500, Adam Vogt wrote:
* On Monday, December 28 2009, Brent Yorgey wrote:
I've attached a small patch which adds a 'viewMethod' field to TopicSpace configs, allowing the user to choose what method (usually view or greedyView) is used to view workspaces. This will not break any configs (except for those silly enough to use an explicit TopicConfig constructor instead of overriding fields in the default config record) since the default is the same as the old behavior.
-Brent
Unfortunately, the change to supply a default TopicConfig was added shortly after 0.9.
While I can see cases where adding additional fields in the TopicConfig record are justified, your change would be just as easily accomplished by exporting a version of switchTopic parameterized by that function, while accomplishing less breakage:
switchTopic' :: (WorkspaceId -> WindowSet -> WindowSet) -> TopicConfig -> Topic -> X ()
Do you mind sending an updated patch?
Hmm, fair enough. This actually isn't QUITE the same, since there are a few other exported functions (switchNthLastFocused, topicActionWithPrompt) which also call switchTopic... so to be complete we'd have to make primed versions of those as well. But since I don't use those functions... meh. I've attached a new patch.
Right, I lean toward really preferring your original change. What do you think Adam? -- Nicolas Pouillard http://nicolaspouillard.fr