Terminal: Editing JSON for simple settings - REALLY?

Created on 18 Aug 2020  路  7Comments  路  Source: microsoft/terminal

Description of the new feature/enhancement

Add settings UI for mainstream settings such as window appearance (font, size, keyboard shortcuts, etc.). More technical and majority of settings can remain in text file.

Proposed technical implementation details (optional)

I was really excited to finally have a first-party modern terminal in Windows instead of relying on variously buggy third-party ones. I waited more than a year for my corporate IT to finally upgrade us to the minimum required Windows 10 version. However upon downloading and finding out I would be required to learn and edit a text settings file for even the most basic aspects makes it a nonstarter. I need to get work done, not play with power user tweaks. I will delete and hope the situation improves in the future.

Issue-Question Product-Terminal Resolution-Answered Resolution-Duplicate

Most helpful comment

The JSON approach to manage the settings is indeed something most users won't welcome, but the advantages of it are way way too numerous to simply conclude this is a no-go, and throw it away.

  1. Suppose you've had the software for a long time, and incrementally set your own settings so it's exactly fine-tuned for you. Migrating the settings to a new machine is a no-brainer.
  2. A GUI wouldn't be adapted to handle that much settings (except if you like MS's classical endless configuration menus, with dozens of sub-sub-sub-sub categories that do not have a self-explanatory name). Splitting the 'basic settings' and 'advanced settings' into two different places would completely defeat the purpose of each solution (basically mutually exclusive IMHO).
  3. As specified by @Guiorgy, this isn't a piece of software that will be used by standard computer users. Advanced user are already mostly used to that way of handling settings (virtually every single software on GNU/Linux have been doing that for more than a decade).

On a side note : I've had the exact same reaction when seeing WT opening Visual Studio when I clicked on "Settings". Maybe a little infobox with a "Do not show again" checkbox should warn the user this will open a separate program.

All 7 comments

This is just my guess, but WT is currently in it's early stage and is changing constantly, so it would probably be a bit hard to keep a settings UI up-to-date. Besides, stability and bug fixes are a bigger priority right now, not to mention that a command terminal isn't exactly meant for an average user...

The JSON approach to manage the settings is indeed something most users won't welcome, but the advantages of it are way way too numerous to simply conclude this is a no-go, and throw it away.

  1. Suppose you've had the software for a long time, and incrementally set your own settings so it's exactly fine-tuned for you. Migrating the settings to a new machine is a no-brainer.
  2. A GUI wouldn't be adapted to handle that much settings (except if you like MS's classical endless configuration menus, with dozens of sub-sub-sub-sub categories that do not have a self-explanatory name). Splitting the 'basic settings' and 'advanced settings' into two different places would completely defeat the purpose of each solution (basically mutually exclusive IMHO).
  3. As specified by @Guiorgy, this isn't a piece of software that will be used by standard computer users. Advanced user are already mostly used to that way of handling settings (virtually every single software on GNU/Linux have been doing that for more than a decade).

On a side note : I've had the exact same reaction when seeing WT opening Visual Studio when I clicked on "Settings". Maybe a little infobox with a "Do not show again" checkbox should warn the user this will open a separate program.

@arobert3434 Please make sure to search for existing issues when filing a new issue. A settings UI is already being tracked in #1564, and has had countless duplicate threads filed.

/dup #1564

Additionally, I'll agree with the other posters in this thread. I'd generally expect the Terminal to be used by power users - developers and users in other IT roles. If you're not a power user, but wanted to customize the terminal beyond the default settings, what exactly were you trying to change in the settings?

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

Hi, I apologize for filing a duplicate - I did a few searches but did not find an existing issue; my bad.

In any case, the settings could all be in the JSON and some in the UI as well. When UI loads it sets values from the JSON and on close writes them back. (Editing JSON while UI open can probably be ignored, or watch the file if really necessary.) Emacs has long worked this way for example with the customize UI and .emacs / .emacs.d, and Emacs.app even added a GUI for common settings, which users loved. (Gone now, since the core devs wouldn't have it when we merged unless we implemented it on all platforms and especially free ones.)

Regarding power users, I am one and sure, I have no problem looking up settings and editing a file, especially if I want some fine-tuned behavior. But when I just want to quickly get a suitable font size, window width, and text/background colors, why would I do this when I can download, e.g., ConEmu or ConsoleZ, click a few things and go?

ConsoleZ repo creation date: 2010-08-13
ConEmi repo creation date: 2011-11-26
Windowa Terminal repo creation date: 2017-08-11

Give some time, and it might get there...

PS. All the dates are taken from api.github.com

personally I like the settings JSON I made a script to give me RGB animated terminal
image
image

Was this page helpful?
0 / 5 - 0 ratings