Make all the ICoreSettings / IControlSettings properties getters-only #10064

Closed
opened 2026-01-31 02:11:33 +00:00 by claunia · 3 comments
Owner

Originally created by @zadjii-msft on GitHub (Aug 7, 2020).

Originally assigned to: @zadjii-msft on GitHub.

We've discussed this for a while now, but it's possible now this the other work Carlos is doing with settings.

I've got a WIP branch here: dev/migrie/f/settings-getters-only, with only a few errors.

I think for each of these, the TermControl is going to need to cache a local copy of the value, to represent it's actual runtime value, rather than use the IControlSettings as a buffer.

I'm filing this so someone else can pick that up where I left off.

Originally created by @zadjii-msft on GitHub (Aug 7, 2020). Originally assigned to: @zadjii-msft on GitHub. We've discussed this for a while now, but it's possible now this the other work Carlos is doing with settings. I've got a WIP branch here: [`dev/migrie/f/settings-getters-only`](https://github.com/microsoft/terminal/tree/dev/migrie/f/settings-getters-only), with only a few errors. I think for each of these, the TermControl is going to need to cache a local copy of the value, to represent it's actual runtime value, rather than use the `IControlSettings` as a buffer. I'm filing this so someone else can pick that up where I left off.
Author
Owner

@MichelleTanPY commented on GitHub (Aug 26, 2020):

Hi, I thought of picking this up, and made the changes according to the WIP dev branch there. But I got a lot of errors from multiple files complaining that the argument takes 1 parameters. Any pointers or examples ?
Thanks

@MichelleTanPY commented on GitHub (Aug 26, 2020): Hi, I thought of picking this up, and made the changes according to the WIP dev branch there. But I got a lot of errors from multiple files complaining that the argument takes 1 parameters. Any pointers or examples ? Thanks
Author
Owner

@zadjii-msft commented on GitHub (Aug 26, 2020):

@MichelleTanPY That's basically the whole task here actually. Currently, the TermControl stashes a bunch of run time changes to the settings in it's IControlSettings object. In that WIP branch, I made all the properties getters-only, but I haven't yet changed TermControl to do the right thing here. For any of the properties where there's a compile error, you'll need to change TermControl to have some member variable that it uses to store the runtime value instead.

@zadjii-msft commented on GitHub (Aug 26, 2020): @MichelleTanPY That's basically the whole task here actually. _Currently_, the `TermControl` stashes a bunch of run time changes to the settings in it's `IControlSettings` object. In that WIP branch, I made all the properties getters-only, but I haven't yet changed `TermControl` to do the right thing here. For any of the properties where there's a compile error, you'll need to change TermControl to have some member variable that it uses to store the runtime value instead.
Author
Owner

@ghost commented on GitHub (Feb 3, 2022):

:tada:This issue was addressed in #11619, which has now been successfully released as Windows Terminal Preview v1.13.10336.0.🎉

Handy links:

@ghost commented on GitHub (Feb 3, 2022): :tada:This issue was addressed in #11619, which has now been successfully released as `Windows Terminal Preview v1.13.10336.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.13.10336.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#10064